1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WordManagerDialog-BtniFgR7.js","assets/rolldown-runtime-COnpUsM8.js","assets/account-core-PbODbfoQ.js","assets/ShapeBuilderModal-Dp2S3YQk.js","assets/CanvasExportControls-CdoE5EgH.js","assets/vendor-icons-CBqri4QL.js","assets/page-templates-BFLjf14V.css","assets/CanvasShareControls-BjRY4y8Z.js","assets/outlineWordGeometry-gObrdTOL.js","assets/AccountLibraryDialog-DxC9TpNE.js","assets/PrivacyPolicyPage-BaNPcC5l.js","assets/PublicTemplatesPage-DgCInNac.js","assets/PublicTemplateDetailPage-BxgLV_SP.js","assets/LiveRoomsPage-Dz4utdRV.js","assets/LiveActivities-C4q0JvLE.js","assets/live-api-UL2uUYsP.js","assets/LiveLandingPage-CANkOPW4.js","assets/LiveJoinPage-CHsKrdlE.js","assets/LiveViewerPage-CznMncFD.js","assets/LiveD3Cloud-I5qGjO1E.js","assets/vendor-layout-DRbCABxT.js","assets/LiveWorkspacePage-v8yZ8h34.js","assets/WordCloud3DStage-DI4JUT7N.js","assets/WorldWordMapPage-D74TEcax.js","assets/AdminPage-CM21EdDR.js","assets/renderAutomation-DSK-dnlg.js","assets/liveApi-CL7OMpE0.js","assets/liveWorkspace-vYxRq0id.js"])))=>i.map(i=>d[i]); 2import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{c as t,f as n,l as r,t as i,u as a}from"./account-core-PbODbfoQ.js";import{t as o}from"./vendor-react-DDlP9PtK.js";import{$t as s,At as c,Bt as l,C as u,Dt as d,Et as f,Gt as p,Ht as m,It as h,Jt as g,Kt as _,L as v,Lt as y,Mt as b,N as x,Nt as S,Ot as C,P as w,Pt as T,Rt as E,S as D,Tt as O,V as k,Vt as A,Xt as j,Zt as M,an as N,en as ee,ft as te,jt as P,ln as F,nn as I,on as ne,pt as L,qt as re,rn as R,sn as z,tn as ie,un as ae,vt as oe,wt as se,zt as ce}from"./feature-3d-AcrIrn_D.js";import{m as le,p as ue,u as de}from"./feature-export-renderer-B-OHjZcN.js";import{A as fe,C as pe,D as me,E as B,F as he,L as ge,M as _e,N as V,O as ve,P as ye,R as be,S as xe,T as H,_ as Se,a as Ce,b as we,c as Te,d as Ee,f as De,g as Oe,h as ke,j as Ae,k as U,l as je,m as Me,o as Ne,p as Pe,s as Fe,u as Ie,v as Le,w as Re,y as ze}from"./feature-word-manager-CznUkGOC.js";import{D as Be,F as Ve,G as He,H as Ue,K as We,O as Ge,S as Ke,T as qe,Z as Je,b as Ye,f as Xe,j as Ze,k as Qe,m as $e,n as et,ot as tt,p as nt,s as rt,t as it,u as at,y as ot}from"./vendor-icons-CBqri4QL.js";import{n as st}from"./page-legal--v79Ih-l.js";import{_ as ct,b as lt,c as ut,f as dt,g as ft,h as pt,m as W,p as mt,v as ht}from"./page-templates-gakMcn_M.js";import{B as gt,H as _t,R as vt,V as yt,W as bt,_ as xt,b as St,d as Ct,f as wt,g as Tt,h as Et,l as Dt,m as G,p as Ot,q as kt,u as At,v as jt,x as Mt,y as Nt,z as Pt}from"./feature-shape-builder-I5LmKqYA.js";import{n as Ft}from"./page-word-map-EeTF-SJn.js";import{a as It,i as Lt,n as Rt,r as zt,t as Bt}from"./vendor-radix-wxGd-p2C.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var K=e(n(),1),Vt=o(),Ht=`https://chromewebstore.google.com/detail/word-clouds-by-shapewords/gdokfidnkbeoljiikcfebkhhfnnlldni`,Ut=`shapewords.chromeExtensionPrompt.dismissed`;function Wt(e){return`${Ht}?${new URLSearchParams({utm_source:`shapewords_fun`,utm_medium:`site_${e}`,utm_campaign:`chrome_extension`}).toString()}`}async function Gt(){if(typeof navigator>`u`)return!1;let e=navigator,t=e.userAgentData?.brands??[];if(e.userAgentData?.mobile)return!1;if(t.length>0)return t.some(({brand:e})=>e===`Google Chrome`);let n=e.userAgent;if(/(Mobi|Android|iPhone|iPad|iPod)/i.test(n))return!1;try{if(await e.brave?.isBrave?.())return!1}catch{return!1}return e.vendor===`Google Inc.`&&/\bChrome\//.test(n)&&!/\b(?:Chromium|Edg|OPR|Opera|SamsungBrowser|YaBrowser|DuckDuckGo)\//.test(n)}function Kt(){if(typeof window>`u`)return!0;try{return window.localStorage.getItem(Ut)===`1`}catch{return!0}}function qt(){if(!(typeof window>`u`))try{window.localStorage.setItem(Ut,`1`)}catch{}}var Jt=`live`;function Yt(){return``}function Xt(e=window.location.hostname){return e.toLowerCase().startsWith(`${Jt}.`)}function Zt(){let e=Yt();if(e)return e;let{protocol:t,hostname:n,port:r,origin:i}=window.location;return n===`localhost`||n===`127.0.0.1`||n===`::1`||Xt(n)?i:`${t}//${Jt}.${n.replace(/^www\./i,``)}${r?`:${r}`:``}`}function Qt(e,t,n){return`/${e}/live/${t}/${n}`}function $t(e){return`${Zt()}/${e}/live-word-cloud`}
2function en(e,t,n){return`${Zt()}${Qt(e,t,n)}`}function tn(){let[e,t]=(0,K.useState)(!1);return(0,K.useEffect)(()=>{let e=!1;return Gt().then(n=>{e||t(n)}).catch(()=>{e||t(!1)}),()=>{e=!0}},[]),e}var q=v(),nn=`M17 9h67v18c0 5.8-4.7 10.5-10.5 10.5H43c-6.4 0-11.6 5.2-11.6 11.6v6.3L12.8 36.8C4.8 28.4 6.5 15.5 17 9Z`,rn=`M9.6 16.4 52.7 59.5H28C15.9 59.5 6 49.7 6 37.6v-8.2c0-4.9 1.2-9.3 3.6-13Z`,an=`M43.7 38.8h23.6C79.8 38.8 90 49 90 61.5v7.8c0 5-1.1 9.6-3.4 13.5L43.7 38.8Z`,on=`M86.2 80.5C80.7 87.1 72.3 90 62.1 90H8V72.4c0-5.9 4.8-10.7 10.7-10.7h34.1c6.2 0 11.2-5 11.2-11.2v-6.2l22.2 36.2Z`,sn=(0,K.memo)(function({label:e,className:t}){let n=(0,K.useId)().replace(/:/g,``),r=`brandLogoGreen-${n}`,i=`brandLogoGold-${n}`,a=`brandLogoClip-${n}`,o=e.toLowerCase()===`shapewords`?5:-1;return(0,q.jsxs)(`span`,{className:w(`inline-flex min-w-0 items-center gap-0 sm:gap-2`,t),children:[(0,q.jsxs)(`svg`,{className:`h-9 w-9 shrink-0`,viewBox:`0 0 96 96`,"aria-hidden":`true`,children:[(0,q.jsxs)(`defs`,{children:[(0,q.jsxs)(`linearGradient`,{id:r,x1:`8`,y1:`12`,x2:`74`,y2:`64`,gradientUnits:`userSpaceOnUse`,children:[(0,q.jsx)(`stop`,{stopColor:`#0f3a25`}),(0,q.jsx)(`stop`,{offset:`1`,stopColor:`#185438`})]}),(0,q.jsxs)(`linearGradient`,{id:i,x1:`20`,y1:`88`,x2:`90`,y2:`42`,gradientUnits:`userSpaceOnUse`,children:[(0,q.jsx)(`stop`,{stopColor:`#d8c174`}),(0,q.jsx)(`stop`,{offset:`1`,stopColor:`#b99a49`})]}),(0,q.jsxs)(`clipPath`,{id:a,children:[(0,q.jsx)(`path`,{d:nn}),(0,q.jsx)(`path`,{d:rn}),(0,q.jsx)(`path`,{d:an}),(0,q.jsx)(`path`,{d:on})]})]}),(0,q.jsx)(`path`,{d:nn,fill:`url(#${r})`}),(0,q.jsx)(`path`,{d:rn,fill:`url(#${r})`}),(0,q.jsx)(`path`,{d:an,fill:`url(#${i})`}),(0,q.jsx)(`path`,{d:on,fill:`url(#${i})`}),(0,q.jsx)(`path`,{d:`M9 8 88 87`,clipPath:`url(#${a})`,fill:`none`,stroke:`#fff`,strokeWidth:`7.4`,strokeLinecap:`butt`})]}),(0,q.jsx)(`span`,{className:`hidden min-w-0 truncate text-xl font-extrabold tracking-normal sm:block sm:text-2xl`,children:o>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`text-[#123d2b] dark:text-[#d8f2df]`,children:e.slice(0,o)}),(0,q.jsx)(`span`,{className:`text-[#b99542] dark:text-[#ead58c]`,children:e.slice(o)})]}):(0,q.jsx)(`span`,{className:`text-[#123d2b] dark:text-[#d8f2df]`,children:e})})]})}),cn=`/chrome-web-store-badge.png`;function ln({size:e=16}){return(0,q.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,q.jsx)(`path`,{d:`M16.247 7.761a6 6 0 0 1 0 8.478`}),(0,q.jsx)(`path`,{d:`M19.075 4.933a10 10 0 0 1 0 14.134`}),(0,q.jsx)(`path`,{d:`M4.925 19.067a10 10 0 0 1 0-14.134`}),(0,q.jsx)(`path`,{d:`M7.753 16.239a6 6 0 0 1 0-8.478`}),(0,q.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2`})]})}function un({size:e=16}){return(0,q.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,q.jsx)(`path`,{d:`m16 6 4 14`}),(0,q.jsx)(`path`,{d:`M12 6v14`}),(0,q.jsx)(`path`,{d:`M8 8v12`}),(0,q.jsx)(`path`,{d:`M4 4v16`})]})}function dn({size:e=16}){return(0,q.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,q.jsx)(`path`,{d:`M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2`}),(0,q.jsx)(`circle`,{cx:`12`,cy:`7`,r:`4`})]})}var fn=(0,K.memo)(function({locale:e,onOpenSidebar:t,onOpenAccount:n,onPreloadLive:r,onPreloadAccount:a,onNavigate:o,onSwitchLocale:s}){let{t:c}=F(),[l,u]=(0,K.useState)(!1),[d,f]=(0,K.useState)(()=>Kt()),p=tn(),{darkMode:m,toggleDarkMode:g,renderMode:_,setRenderMode:v}=k(be(e=>({darkMode:e.darkMode,toggleDarkMode:e.toggleDarkMode,renderMode:e.renderMode,setRenderMode:e.setRenderMode}))),{user:y}=i(be(e=>({user:e.user}))),S=p&&!d;function C(){qt(),f(!0)}let T=[{key:`live`,icon:(0,q.jsx)(ln,{size:16}),label:c(`app.live`),ariaLabel:c(`app.openLive`),href:$t(e),onClick:void 0,onPreload:r,active:!1,external:!1},{key:`account`,icon:y?(0,q.jsx)(un,{size:16}):(0,q.jsx)(dn,{size:16}),label:c(y?`app.account`:`app.signIn`),ariaLabel:c(y?`app.openAccount`:`app.signIn`),href:``,onClick:n,onPreload:a,active:!!y,external:!1}];return(0,q.jsxs)(`header`,{className:`relative flex min-h-14 shrink-0 items-center justify-between gap-3 border-b border-slate-200 bg-sidebar px-3 py-2 dark:border-slate-700 dark:bg-sidebar-dark sm:px-4 sm:py-3`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,q.jsx)(x,{type:`button`,onClick:t,variant:`ghost`,size:`icon`,className:`lg:hidden`,"aria-label":c(`app.openSettings`),"aria-controls":`app-sidebar`,children:(0,q.jsx)(Ve,{size:20})}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>o(`/${e}/`),className:`group flex max-w-[11rem] min-w-0 items-center rounded-md py-0.5 pr-2 text-left outline-none transition-opacity hover:opacity-90 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-sidebar dark:focus-visible:ring-offset-sidebar-dark sm:max-w-none`,"aria-label":c(`app.title`),children:(0,q.jsx)(sn,{label:c(`a
2pp.title`)})}),(0,q.jsx)(`span`,{className:`hidden truncate text-sm text-slate-500 dark:text-slate-400 md:inline`,children:c(`app.subtitle`)})]}),(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5 sm:gap-2`,children:[T.map(e=>e.href?(0,q.jsx)(x,{asChild:!0,variant:`ghost`,size:`sm`,className:`hidden sm:inline-flex`,"aria-label":e.ariaLabel,children:(0,q.jsxs)(`a`,{href:e.href,onMouseEnter:e.onPreload,onFocus:e.onPreload,target:e.external?`_blank`:void 0,rel:e.external?`noopener noreferrer`:void 0,children:[e.icon,(0,q.jsx)(`span`,{children:e.label})]})},e.key):(0,q.jsxs)(x,{onClick:e.onClick,onMouseEnter:e.onPreload,onFocus:e.onPreload,variant:e.active?`secondary`:`ghost`,size:`sm`,className:`hidden sm:inline-flex`,"aria-label":e.ariaLabel,children:[e.icon,(0,q.jsx)(`span`,{children:e.label})]},e.key)),S&&(0,q.jsxs)(`div`,{className:`hidden h-9 shrink-0 items-center overflow-hidden rounded-md border border-slate-200 bg-white shadow-sm shadow-slate-950/5 dark:border-slate-700 dark:bg-slate-900 md:flex`,children:[(0,q.jsx)(`a`,{href:Wt(`header`),target:`_blank`,rel:`noopener noreferrer`,className:`flex h-full items-center outline-none transition-opacity hover:opacity-90 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-sidebar dark:focus-visible:ring-offset-sidebar-dark`,"aria-label":c(`app.openChromeExtension`),children:(0,q.jsx)(`img`,{src:cn,width:`128`,height:`36`,alt:c(`app.chromeExtensionBadgeAlt`),className:`h-9 w-auto shrink-0`})}),(0,q.jsx)(`button`,{type:`button`,onClick:C,className:`flex h-full w-8 shrink-0 items-center justify-center border-l border-slate-200 text-slate-400 outline-none transition-colors hover:bg-slate-100 hover:text-slate-700 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-inset dark:border-slate-700 dark:hover:bg-slate-800 dark:hover:text-slate-200`,"aria-label":c(`app.dismissChromeExtension`),children:(0,q.jsx)(vt,{size:13,"aria-hidden":`true`})})]}),(0,q.jsx)(`div`,{className:`flex shrink-0 items-center overflow-hidden rounded-md border border-slate-200 dark:border-slate-700`,role:`group`,"aria-label":c(`view3d.modeLabel`),children:[`2d`,`3d`].map(e=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>v(e),"aria-pressed":_===e,className:w(`px-2.5 py-1 text-xs font-semibold transition-colors`,_===e?`bg-primary text-primary-foreground`:`text-slate-500 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-slate-800`),children:e===`2d`?`2D`:`3D`},e))}),(0,q.jsxs)(xt,{value:e,onValueChange:e=>s(e),children:[(0,q.jsxs)(St,{size:`sm`,className:`h-9 min-w-[4.75rem] gap-2 border-none bg-transparent px-2 shadow-none hover:bg-slate-100 dark:hover:bg-slate-800`,"aria-label":c(`app.language`),children:[(0,q.jsx)(We,{size:16}),(0,q.jsx)(Mt,{children:h(e,`short`)})]}),(0,q.jsx)(jt,{children:b.map(e=>(0,q.jsx)(Nt,{value:e,children:h(e,`short`)},e))})]}),(0,q.jsx)(x,{onClick:g,variant:`ghost`,size:`icon-sm`,"aria-label":`Toggle dark mode`,children:m?(0,q.jsx)(at,{size:18}):(0,q.jsx)(Ze,{size:18})}),(0,q.jsx)(x,{type:`button`,onClick:()=>u(e=>!e),variant:`ghost`,size:`icon-sm`,className:`sm:hidden`,"aria-label":c(`app.openSettings`),"aria-expanded":l,children:(0,q.jsx)(Je,{size:18})})]}),l&&(0,q.jsx)(`div`,{className:`absolute inset-x-0 top-full z-50 border-b border-slate-200 bg-sidebar/96 px-3 py-3 shadow-lg shadow-slate-950/10 backdrop-blur-md dark:border-slate-700 dark:bg-sidebar-dark/96 sm:hidden`,onMouseDown:e=>e.stopPropagation(),children:(0,q.jsx)(`div`,{className:`grid gap-2`,children:T.map(e=>e.href?(0,q.jsx)(x,{asChild:!0,variant:`outline`,size:`sm`,className:`justify-start`,children:(0,q.jsxs)(`a`,{href:e.href,onClick:()=>u(!1),onMouseEnter:e.onPreload,onFocus:e.onPreload,target:e.external?`_blank`:void 0,rel:e.external?`noopener noreferrer`:void 0,children:[e.icon,e.label]})},e.key):(0,q.jsxs)(x,{onClick:()=>{u(!1),e.onClick?.()},onMouseEnter:e.onPreload,onFocus:e.onPreload,variant:e.active?`secondary`:`outline`,size:`sm`,className:`justify-start`,children:[e.icon,e.label]},e.key))})})]})});function J({className:e,value:t,defaultValue:n,...r}){let i=Math.max(1,Array.isArray(t)?t.length:Array.isArray(n)?n.length:1);return(0,q.jsxs)(zt,{"data-slot":`slider`,className:w(`relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50`,e),value:t,defaultValue:n,...r,children:[(0,q.jsx)(It,{"data-slot":`slider-track`,className:`relative h-1.5 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,q.jsx)(Rt,{"data-slot":`slider-range`,className:`absolute h-full bg-primary`})}),Array.from({length:i}).map((e,t)=>(0,q.jsx)(Lt,{"data-slot":`slider-thumb`,className:`block size-4 rounded-full border border-primary/50 bg-background shadow-sm transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50`},t))]})}var Y={action:`topic`,languages:[],wordCount:45,generationMode:`expand`,tone:`neutral`,phraseMode:`mixed`,creativity:40,preserveProperNouns:!0,balancedLanguages:!0};async function X(){let e=await fetch(`/api/ai/session`,{method:`GET`,headers:{"X-Shapewords-Client":`app`},cache:`no-store`,credentials:`same-origin`});return await e.json().catch(()=>({})),e.ok}async function pn(e,t,n=!0){let r=await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`,"X-Shapewords-Client":`app`},body:JSON.stringify(t),credentials:`same-origin`}),i=await r.json().catch(()=>({}));if(!r.ok){if(n&&r.status===403&&i.error?.code===`forbidden_ai_guard`&&await X())return pn(e,t,!1);let a=i.error?.message||`AI request failed: ${r.status}`,o=i.error?.requestId?` (${i.error.requestId})`:``;throw Error(`${a}${o}`)}return i}function mn(e){return Array.isArray(e)?e.map(e=>({text:typeof e?.text==`string`?d(e.text):``,value:Math.max(1,Math.min(10,Math.round(Number(e?.value)||1))),repeat:e?.repeat!==!1})).filter(e=>e.text.length>0):[]}async function hn(e,t,n){return mn((await pn(`/api/ai/generate-words`,a({topic:e,lang:t,settings:n}))).words)}function gn(e){let t=[...e].filter(e=>e.kind!==`emoji`&&e.text.trim().length>0).sort((e,t)=>
2t.value-e.value||e.text.localeCompare(t.text)),n=``;for(let e of t){let t=n?`${n}, ${e.text}`:e.text;if(t.length>900)break;n=t}return n}async function _n(e,t,n,r){let i=gn(e);return i?hn(i,t,{...Y,generationMode:`synonyms`,languages:[],wordCount:Math.max(1,Math.min(80,Math.round(n))),tone:`neutral`,phraseMode:r?.phraseMode??`mixed`,creativity:Math.max(0,Math.min(100,Math.round(r?.creativity??65))),preserveProperNouns:!1,balancedLanguages:!1}):[]}var Z={Russian:{script:`cyrillic`,preferredFont:`Montserrat`},English:{script:`latin`,preferredFont:`Montserrat`},Spanish:{script:`latin`,preferredFont:`Montserrat`},French:{script:`latin`,preferredFont:`Montserrat`},German:{script:`latin`,preferredFont:`Montserrat`},Italian:{script:`latin`,preferredFont:`Montserrat`},Portuguese:{script:`latin`,preferredFont:`Montserrat`},Chinese:{script:`han`,preferredFont:`Noto Sans SC`},Japanese:{script:`japanese`,preferredFont:`Noto Sans JP`},Arabic:{script:`arabic`,preferredFont:`Noto Sans Arabic`},Ukrainian:{script:`cyrillic`,preferredFont:`Montserrat`},Greek:{script:`greek`,preferredFont:`Noto Sans`},Hebrew:{script:`hebrew`,preferredFont:`Noto Sans Hebrew`},Hindi:{script:`devanagari`,preferredFont:`Noto Sans Devanagari`},Bengali:{script:`bengali`,preferredFont:`Noto Sans Bengali`},"Punjabi (Gurmukhi)":{script:`gurmukhi`,preferredFont:`Noto Sans Gurmukhi`},Tamil:{script:`tamil`,preferredFont:`Noto Sans Tamil`},Telugu:{script:`telugu`,preferredFont:`Noto Sans Telugu`},Thai:{script:`thai`,preferredFont:`Noto Sans Thai`},Korean:{script:`hangul`,preferredFont:`Noto Sans KR`},Gujarati:{script:`gujarati`,preferredFont:`Noto Sans Gujarati`},Kannada:{script:`kannada`,preferredFont:`Noto Sans Kannada`}
2,Malayalam:{script:`malayalam`,preferredFont:`Noto Sans Malayalam`},Sinhala:{script:`sinhala`,preferredFont:`Noto Sans Sinhala`},Lao:{script:`lao`,preferredFont:`Noto Sans Lao`},Khmer:{script:`khmer`,preferredFont:`Noto Sans Khmer`},Burmese:{script:`myanmar`,preferredFont:`Noto Sans Myanmar`},Georgian:{script:`georgian`,preferredFont:`Noto Sans Georgian`},Armenian:{script:`armenian`,preferredFont:`Noto Sans Armenian`},Amharic:{script:`ethiopic`,preferredFont:`Noto Sans Ethiopic`}},vn=[`Russian`,`English`,`Spanish`,`French`,`German`,`Italian`,`Portuguese`,`Chinese`,`Japanese`,`Arabic`],yn=[...vn,`Ukrainian`,`Greek`,`Hebrew`,`Hindi`,`Bengali`,`Punjabi (Gurmukhi)`,`Tamil`,`Telugu`,`Thai`,`Korean`],bn=[...yn,`Gujarati`,`Kannada`,`Malayalam`,`Sinhala`,`Lao`,`Khmer`,`Burmese`,`Georgian`,`Armenian`,`Amharic`];function xn(e,t){return{id:e,languages:t,fontCoverage:t.map(e=>({language:e,...Z[e]}))}}var Sn=[xn(`ten`,vn),xn(`twenty`,yn),xn(`thirty`,bn)],Cn={ru:`Ð´ÐµÐ½Ñ ÑождениÑ.Ñбилей бабÑÑки.ÑколÑнÑй вÑпÑÑкной.ÑвадÑба дÑÑзей.новÑй год.ÑемейнÑй Ñжин.Ñождение Ñебенка.пеÑвÑй клаÑÑ.поÑледний звонок.леÑний лагеÑÑ.Ð´ÐµÐ½Ñ ÑÑиÑелÑ.ÑнивеÑÑиÑеÑ.ÑÑаÑÑап.запÑÑк пÑодÑкÑа.ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ Ð²ÑÑÑеÑа.коÑпоÑаÑив.конÑеÑенÑиÑ.коÑейнÑ.пÑÑеÑеÑÑвие к моÑÑ.Ð¿Ð¾Ñ Ð¾Ð´ в гоÑÑ.гоÑод меÑÑÑ.веÑна.ÑÑÑбол.книжнÑй клÑб.мÑзÑкалÑнÑй ÑеÑÑивалÑ.кино веÑеÑ.здоÑовÑе пÑивÑÑки.лÑбовÑ.дÑÑжба.благодаÑноÑÑÑ`.split(`.`),en:`birthday.grandma anniversary.school graduation.friends wedding.new year.family dinner.new baby.first grade.last school bell.summer camp.teacher day.university.startup.product launch.team meeting.office party.conference.coffee shop.seaside trip.mountain hike.dream city.spring.football.book club.music festival.movie night.healthy habits.love.friendship.gratitude`.split(`.`),es:`cumpleaños.aniversario de la abuela.graduación escolar.boda de amigos.año nuevo.cena familiar.nacimiento de un bebé.primer grado.último dÃa de clase.campamento de verano.dÃa del maestro.universidad.startup.lanzamiento de producto.reunión de equipo.fiesta de empresa.conferencia.cafeterÃa.viaje al mar.senderismo en montaña.ciudad soñada.primavera.fútbol.club de lectura.festival de música.noche de cine.hábitos saludables.amor.amistad.gratitud`.split(`.`),fr:`anniversaire.anniversaire de grand-mère.remise des diplômes.mariage dâamis.nouvel an.dîner de famille.naissance dâun bébé.première classe.dernier jour dâécole.camp dâété.journée des enseignants.université.startup.lancement de produit.réunion dâéquipe.fête dâentreprise.conférence.café.voyage à la mer.randonnée en montagne.ville de rêve.printemps.football.club de lecture.festival de musique.soirée cinéma.habitudes saines.amour.amitié.gratitude`.split(`.`),ar:`Ø¹ÙØ¯ Ù ÙÙØ§Ø¯.Ø°ÙØ±Ù Ø§ÙØ¬Ø¯Ø©.تخرج ٠درسÙ.Ø²ÙØ§Ù Ø§ÙØ£ØµØ¯Ùاء.رأس Ø§ÙØ³ÙØ©.عشاء عائÙÙ.Ù ÙÙÙØ¯ Ø¬Ø¯ÙØ¯.Ø§ÙØµÙ Ø§ÙØ£ÙÙ.آخر ÙÙ٠دراسÙ.Ù Ø®Ù٠صÙÙÙ.ÙÙ٠اÙ٠عÙÙ .جا٠عة.Ø´Ø±ÙØ© ÙØ§Ø´Ø¦Ø©.Ø¥Ø·ÙØ§Ù Ù ÙØªØ¬.اجت٠اع اÙÙØ±ÙÙ.ØÙÙØ© Ø´Ø±ÙØ©.٠ؤت٠ر.Ù ÙÙÙ.رØÙØ© Ø¥ÙÙ Ø§ÙØ¨ØØ±.رØÙØ© جبÙÙØ©.٠دÙÙØ© Ø§ÙØ£ØÙا٠.Ø§ÙØ±Ø¨Ùع.ÙØ±Ø© اÙÙØ¯Ù .ÙØ§Ø¯Ù ÙØ±Ø§Ø¡Ø©.Ù ÙØ±Ø¬Ø§Ù Ù ÙØ³ÙÙÙ.ÙÙÙØ© سÙÙ٠ا.عادات صØÙØ©.ØØ¨.ØµØ¯Ø§ÙØ©.Ø§Ù ØªÙØ§Ù`.split(`.`),zh:`çæ¥.奶奶å¨å¹´çºªå¿µ.妿 ¡æ¯ä¸å ¸ç¤¼.æåå©ç¤¼.æ°å¹´.å®¶åºæé¤.æ°çå¿.ä¸å¹´çº§.æåä¸è¯¾.å¤ä»¤è¥.æå¸è.大å¦.åä¸å ¬å¸.产ååå¸.å¢éä¼è®®.å ¬å¸èä¼.ä¼è®®.åå¡é¦.æµ·è¾¹æ è¡.å±±å°å¾æ¥.梦æ³åå¸.æ¥å¤©.è¶³ç.读书ä¼.é³ä¹è.çµå½±ä¹å¤.å¥åº·ä¹ æ¯.ç±æ .åè°.ææ©`.split(`.`)};function wn(e){return Cn[e]??Cn.en}var Tn=`shapewords.aiSettings.v1`,En=[`neutral`,`festive`,`professional`,`playful`,`poetic`,`minimal`],Dn=[`mixed`,`words`,`phrases`],On=[`expand`,`translateOnly`],kn=[`topic`],An=6e4;function jn(e){return e.map(e=>{let t=Math.max(1,Math.min(10,Math.round(e.value)));return Array.from({length:t},()=>e.text).join(` `)}).join(` 3`)}function Mn(e){let t=l(e);return t===`ru`?`Russian`:t===`ar`?`Arabic`:t===`es`?`Spanish`:t===`fr`?`French`:t===`zh`?`Chinese`:`English`}function Nn(e){let t=Mn(e);return t===`English`?[t]:[t,`English`]}function Pn(e){let t=new Set;return e.split(/[\n,;]+/).map(e=>
3e.trim().replace(/\s+/g,` `)).filter(Boolean).filter(e=>{let n=e.toLowerCase();return t.has(n)?!1:(t.add(n),!0)}).slice(0,30)}function Fn(e){return e.join(`, `)}function In(e,t,n,r){let i=Number(e);return Math.max(t,Math.min(n,Math.round(Number.isFinite(i)?i:r)))}function Ln(e){let t=e&&typeof e==`object`?e:{},n=Array.isArray(t.languages)?t.languages.filter(e=>typeof e==`string`).slice(0,30):Y.languages;return{...Y,...t,languages:n,action:kn.includes(t.action)?t.action:Y.action,wordCount:In(t.wordCount,1,80,Y.wordCount),generationMode:On.includes(t.generationMode)?t.generationMode:Y.generationMode,creativity:In(t.creativity,0,100,Y.creativity),tone:En.includes(t.tone)?t.tone:Y.tone,phraseMode:Dn.includes(t.phraseMode)?t.phraseMode:Y.phraseMode,preserveProperNouns:t.preserveProperNouns!==!1,balancedLanguages:t.balancedLanguages!==!1}}function Rn(){if(typeof window>`u`)return Y;let e=window.localStorage.getItem(Tn);if(!e)return Y;try{return Ln(JSON.parse(e))}catch{return Y}}function zn(){let{t:e,i18n:t}=F(),n=(0,K.useRef)(null),r=l(t.language),i=Mn(t.language),a=Nn(t.language),o=a.length>1?`${h(r,`short`)} + EN`:null,{isAiProcessing:s,aiError:c,setIsAiProcessing:d,setAiError:f,setImportedWords:p}=k(be(e=>({isAiProcessing:e.isAiProcessing,aiError:e.aiError,setIsAiProcessing:e.setIsAiProcessing,setAiError:e.setAiError,setImportedWords:e.setImportedWords}))),[m,g]=(0,K.useState)(``),[_,v]=(0,K.useState)(0),[y,b]=(0,K.useState)(!1),[S,C]=(0,K.useState)(()=>Rn()),[w,T]=(0,K.useState)(()=>Fn(S.languages)),E=(0,K.useMemo)(()=>({...S,languages:S.languages.length?S.languages:[i]}),[S,i]),D=Pn(w).length,O=E.generationMode===`translateOnly`?e(`ai.settings.translationCount`,{count:E.languages.length}):E.wordCount,A=(0,K.useMemo)(()=>wn(r),[r]),j=A.length?A[_%A.length]:null;(0,K.useEffect)(()=>{window.localStorage.setItem(Tn,JSON.stringify(S))},[S]),(0,K.useEffect)(()=>{v(0)},[r]),(0,K.useEffect)(()=>{if(A.length<=1)return;let e=window.setInterval(()=>{v(e=>e+1)},An);return()=>window.clearInterval(e)},[A.length]),(0,K.useEffect)(()=>{let e=n.current;e&&(e.style.height=`0px`,e.style.height=`${Math.min(e.scrollHeight,104)}px`)},[m]);let M=()=>{T(Fn(S.languages.length?S.languages:[i])),b(!0)},N=()=>{let e=Pn(w);C(t=>({...t,languages:e.length?e:[]}))},ee=()=>{N(),b(!1)},te=()=>{C({...Y,languages:[]}),T(i)},P=e=>{C(t=>({...t,wordCount:In(e,1,80,t.wordCount)}))},I=async()=>{if(!(!m.trim()||s)){d(!0),f(null);try{let e=await hn(m,t.language,E);p(e,jn(e))}catch(e){f(e instanceof Error?e.message:String(e))}finally{d(!1)}}},ne=e=>{g(e),f(null),window.setTimeout(()=>n.current?.focus(),0)},L=e=>{e.preventDefault(),I()},re=e(`ai.settings.generationModes.${E.generationMode}`),R=E.generationMode===`translateOnly`?e(`ai.actionPlaceholders.translateOnly`):e(`ai.actionPlaceholders.topic`);return(0,q.jsxs)(`div`,{className:`min-w-0 space-y-3`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[(0,q.jsxs)(`h3`,{className:`flex min-w-0 items-center gap-1.5 text-sm font-semibold text-slate-700 dark:text-slate-300`,children:[(0,q.jsx)(_e,{size:14,className:`text-emerald-500`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:e(`ai.title`)})]}),(0,q.jsx)(U,{content:e(`tooltips.ai.title`)})]}),(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":e(`ai.settings.open`),onClick:M,children:(0,q.jsx)(V,{size:14})})]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[0.7rem] text-slate-500 dark:text-slate-400`,children:[(0,q.jsx)(ct,{size:12}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:e(`ai.settings.summary`,{languages:E.languages.length>1?e(`ai.settings.languagesCount`,{count:E.languages.length}):E.languages[0],count:O,mode:e(`ai.settings.generationModes.${E.generationMode}`),tone:e(`ai.settings.tones.${E.tone}`)})})]}),(0,q.jsxs)(`form`,{className:`overflow-hidden rounded-xl border border-slate-200 bg-white shadow-xs transition-[border-color,box-shadow] focus-within:border-emerald-300 focus-within:ring-3 focus-within:ring-emerald-400/15 dark:border-slate-800 dark:bg-slate-950/70 dark:focus-within:border-emerald-400/45`,onSubmit:L,children:[(0,q.jsx)(ve,{ref:n,value:m,onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),I())},placeholder:R,disabled:s,rows:1,className:`max-h-[104px] min-h-12 resize-none border-0 bg-transparent px-3 py-2 text-xs leading-5 shadow-none focus-visible:border-transparent focus-visible:ring-0 dark:bg-transparent`}),(0,q.jsxs)(`div`,{className:`flex min-h-10 flex-col gap-1.5 border-t border-slate-100 px-2 py-1.5 dark:border-slate-800/80`,children:[(0,q.jsxs)(x,{t
3ype:`submit`,size:`sm`,"aria-label":re,title:re,disabled:!m.trim()||s,className:`h-8 w-full min-w-0 justify-center rounded-lg px-3`,children:[s?(0,q.jsx)(bt,{size:14,className:`animate-spin`}):(0,q.jsx)(ge,{size:14}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:re})]}),j&&(0,q.jsx)(`button`,{type:`button`,className:`shapewords-ai-hints mx-auto block max-w-full truncate text-xs leading-5 text-slate-600 underline decoration-dotted decoration-emerald-400/55 decoration-1 underline-offset-4 transition hover:text-emerald-700 hover:decoration-emerald-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-emerald-400/35 dark:text-slate-300 dark:decoration-emerald-300/45 dark:hover:text-emerald-100 dark:hover:decoration-emerald-300`,title:j,onClick:()=>ne(j),children:j},`${r}-${_}`)]})]}),s&&(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-emerald-500`,children:[(0,q.jsx)(bt,{size:12,className:`animate-spin`}),e(`ai.processing`)]}),c&&(0,q.jsxs)(`div`,{className:`flex items-start gap-1.5 p-2 rounded-lg bg-red-50 dark:bg-red-900/20 text-xs text-red-600 dark:text-red-400`,children:[(0,q.jsx)(lt,{size:12,className:`shrink-0 mt-0.5`}),c]}),(0,q.jsx)(pe,{open:y,onOpenChange:b,children:(0,q.jsxs)(Re,{className:`top-[max(0.75rem,env(safe-area-inset-top))] bottom-[max(0.75rem,env(safe-area-inset-bottom))] flex max-h-none max-w-xl translate-y-0 flex-col gap-0 overflow-hidden p-0 sm:bottom-auto sm:top-1/2 sm:max-h-[88vh] sm:-translate-y-1/2`,children:[(0,q.jsxs)(B,{className:`border-b border-slate-200 px-5 py-4 text-left dark:border-slate-800`,children:[(0,q.jsxs)(me,{className:`flex items-center gap-2 text-base`,children:[(0,q.jsx)(nt,{size:16,className:`text-emerald-500`}),e(`ai.settings.title`)]}),(0,q.jsx)(H,{className:`text-xs`,children:e(`ai.settings.description`)})]}),(0,q.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-5 overflow-y-auto px-5 py-4 sm:max-h-[68vh] sm:flex-none`,children:[(0,q.jsxs)(`section`,{className:`space-y-2`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-700 dark:text-slate-300`,children:e(`ai.settings.generationMode`)}),(0,q.jsx)(`div`,{className:`grid min-w-0 grid-cols-2 gap-2`,children:On.map(t=>(0,q.jsx)(x,{type:`button`,variant:S.generationMode===t?`default`:`outline`,size:`sm`,className:`min-w-0 justify-center px-2`,onClick:()=>C(e=>({...e,generationMode:t})),children:(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:e(`ai.settings.generationModes.${t}`)})},t))}),(0,q.jsx)(`p`,{className:`text-[0.68rem] leading-relaxed text-slate-500 dark:text-slate-400`,children:e(`ai.settings.generationModeHints.${S.generationMode}`)})]}),(0,q.jsxs)(`section`,{className:`space-y-2`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`label`,{className:`text-xs font-medium text-slate-700 dark:text-slate-300`,htmlFor:`ai-output-languages`,children:e(`ai.settings.languages`)}),(0,q.jsx)(`span`,{className:`text-[0.68rem] text-slate-500 dark:text-slate-400`,children:e(`ai.settings.languageLimit`)})]}),(0,q.jsx)(ve,{id:`ai-output-languages`,value:w,onChange:e=>T(e.target.value),className:`min-h-20 resize-none text-xs`,placeholder:e(`ai.settings.languagesPlaceholder`)}),(0,q.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,q.jsx)(x,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>T(i),children:e(`ai.settings.currentLanguage`)}),o&&(0,q.jsx)(x,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>T(a.join(`, `)),children:o}),Sn.map(t=>(0,q.jsx)(x,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>T(t.languages.join(`, `)),children:e(`ai.settings.languagePresets.${t.id}`)},t.id))]})]}),(0,q.jsxs)(`section`,{className:`space-y-3 border-t border-slate-200 pt-4 dark:border-slate-800`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`label`,{className:`text-xs font-medium text-slate-700 dark:text-slate-300`,htmlFor:`ai-word-count`,children:e(`ai.settings.wordCount`)}),(0,q.jsx)(Tt,{id:`ai-word-count`,type:`number`,min:1,max:80,step:1,value:S.wordCount,onChange:e=>P(Number(e.target.value)),className:`h-8 w-20 text-right text-xs tabular-nums`})]}),(0,q.jsx)(J,{value:[S.wordCount],min:1,max:80,step:1,onValueChange:([e])=>P(e)}),(0,q.jsx)(`p`,{className:`text-[0.68rem] leading-relaxed text-slate-500 dark:text-slate-400`,children:e(`ai.settings.wordCountHint`)})]}),(0,q.jsxs)(`section`,{className:`grid gap-3 border-t border-slate-200 pt-4 dark:border-slate-800 sm:grid-cols-2`,children:[(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-700 dark:text-slate-300`,children:e(`ai.settings.tone`)}),(0,q.jsxs)(xt,{value:S.tone,onValueChange:e=>C(t=>
3({...t,tone:e})),children:[(0,q.jsx)(St,{className:`h-8 text-xs`,size:`sm`,children:(0,q.jsx)(Mt,{})}),(0,q.jsx)(jt,{children:En.map(t=>(0,q.jsx)(Nt,{value:t,children:e(`ai.settings.tones.${t}`)},t))})]})]}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-700 dark:text-slate-300`,children:e(`ai.settings.phraseMode`)}),(0,q.jsxs)(xt,{value:S.phraseMode,onValueChange:e=>C(t=>({...t,phraseMode:e})),children:[(0,q.jsx)(St,{className:`h-8 text-xs`,size:`sm`,children:(0,q.jsx)(Mt,{})}),(0,q.jsx)(jt,{children:Dn.map(t=>(0,q.jsx)(Nt,{value:t,children:e(`ai.settings.phraseModes.${t}`)},t))})]})]})]}),(0,q.jsxs)(`section`,{className:`space-y-3 border-t border-slate-200 pt-4 dark:border-slate-800`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-700 dark:text-slate-300`,children:e(`ai.settings.creativity`)}),(0,q.jsx)(`span`,{className:`tabular-nums text-xs text-slate-500 dark:text-slate-400`,children:S.creativity})]}),(0,q.jsx)(J,{value:[S.creativity],min:0,max:100,step:10,onValueChange:([e])=>C(t=>({...t,creativity:e}))})]}),(0,q.jsxs)(`section`,{className:`space-y-3 border-t border-slate-200 pt-4 dark:border-slate-800`,children:[(0,q.jsxs)(`label`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-700 dark:text-slate-300`,children:e(`ai.settings.preserveProperNouns`)}),(0,q.jsx)(u,{checked:S.preserveProperNouns,onCheckedChange:e=>C(t=>({...t,preserveProperNouns:e}))})]}),(0,q.jsxs)(`label`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-700 dark:text-slate-300`,children:e(`ai.settings.balancedLanguages`)}),(0,q.jsx)(u,{checked:S.balancedLanguages,disabled:D<2,onCheckedChange:e=>C(t=>({...t,balancedLanguages:e}))})]})]})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-slate-200 px-5 py-4 dark:border-slate-800`,children:[(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`sm`,onClick:te,children:e(`ai.settings.reset`)}),(0,q.jsx)(x,{type:`button`,size:`sm`,onClick:ee,children:e(`ai.settings.done`)})]})]})})]})}var Bn=(0,K.lazy)(()=>G(()=>j(()=>import(`./WordManagerDialog-BtniFgR7.js`),__vite__mapDeps([0,1,2]))).then(e=>({default:e.WordManagerDialog})));function Vn(e,t){return t===`emoji`||O(e)}function Hn(e,t){return t===`unsupported`?e(`text.voiceUnsupported`):t===`permission_denied`?e(`text.voicePermissionDenied`):t===`no_speech`?e(`text.voiceNoSpeech`):t===`no_microphone`?e(`text.voiceNoMicrophone`):t===`start_failed`?e(`text.voiceError`):``}function Un(){let{t:e,i18n:t}=F(),{rawText:n,words:i,addWords:a,setWords:o,setImportedWords:s,removeWordsByKeys:c,setWordRepeat:l,updateWordsBulk:u,updateWordText:d,languageProcessing:p,customStopWords:m,smartImportOptions:h,isPreciseTextProcessing:g,isWordListProcessing:_,setIsWordListProcessing:v}=k(be(e=>({rawText:e.rawText,words:e.words,addWords:e.addWords,setWords:e.setWords,setImportedWords:e.setImportedWords,removeWordsByKeys:e.removeWordsByKeys,setWordRepeat:e.setWordRepeat,updateWordsBulk:e.updateWordsBulk,updateWordText:e.updateWordText,languageProcessing:e.languageProcessing,customStopWords:e.customStopWords,smartImportOptions:e.smartImportOptions,isPreciseTextProcessing:e.isPreciseTextProcessing,isWordListProcessing:e.isWordListProcessing,setIsWordListProcessing:e.setIsWordListProcessing}))),[y,b]=(0,K.useState)(``),[S,C]=(0,K.useState)(!1),T=(0,K.useRef)(null),E=(0,K.useRef)(0),D=i.length>0&&i.every(e=>e.repeat!==!1);(0,K.useEffect)(()=>()=>{E.current+=1,v(!1)},[v]);let O=(0,K.useCallback)(async()=>{if(i.length===0||g||_)return;let e=i,t=n,a=++E.current,c=p.enabled?p:{...p,enabled:!0},l=e.map(e=>e.text).join(` 4`),u=te(l,c);L(l,c);let d=performance.now(),f=`failed`,y=0;v(!0);try{let n=await ze([[`word`,`weight`],...e.map(e=>[e.text,String(e.value)])],{keepCase:!1,countFrequency:!0,removeStopWords:!0,stopWordsLanguage:`auto`,customStopWords:m,detectDuplicates:!0,includePhrases:!1,includeEmoji:!0,lemmatizeWords:h.lemmatizeWords,languageProcessing:c});if(E.current===a&&k.getState().words===e&&k.getState().rawText===t){o(n.words);let e=k.getState().words;s(e,t),y=e.length,f=`applied`}else y=n.words.length,f=`discarded`}catch{}finally{r(`nlp.processed`,{source:`word_list`,processor:u.language??`fast`,exactRequested:u.language!==null,prewarmState:u.state,durationMs:Math.round(performance.now()-d),inputWords:e.length,outputWords:y,outcome:f}),E.current===a&&v(!1)}},[m,g,_,p,v,s,h.lemmatizeWords,o,n,i]),A=(0,K.useCallback)(()=>
4{if(i.length===0)return;let e=p.enabled?p:{...p,enabled:!0};L(i.map(e=>e.text).join(` 5`),e)},[p,i]),j=(0,K.useCallback)(e=>{a(e),b(``)},[a]),M=xe({locale:t.resolvedLanguage||t.language,onFinalTranscript:j}),N=(0,K.useMemo)(()=>Hn(e,M.errorCode),[M.errorCode,e]),ee=()=>{y.trim()&&a(y),b(``),M.clearFeedback()},P=e=>{b(e),M.clearFeedback()},I=e=>c([f(e)]),ne=()=>c(i.map(f)),re=e=>{i.length!==0&&u(i.map(f),{repeat:e})},R=()=>{let e=e=>/[",\n\r]/.test(e)?`"${e.replace(/"/g,`""`)}"`:e,t=[`word,weight`,...i.map(t=>`${e(t.text)},${t.value??``}`)].join(`\r 6`);ue(new Blob([``,t],{type:`text/csv;charset=utf-8;`}),`shapewords-words.csv`)},ie=(e,t)=>{let n=t.normalize(`NFC`).trim(),r=f(e),a=f({text:n,kind:e.kind}),o=a!==r&&i.some(e=>f(e)===a);return n&&!o&&n!==e.text?(d(e.text,e.kind,n),!0):!1},ae=(e,t)=>{let n=f(e),r=Number(t),i=Number.isFinite(r)?Math.max(1,Math.round(r)):e.value;return i===e.value?!1:(u([n],{value:i}),!0)};return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(`h3`,{className:`text-sm font-semibold text-slate-700 dark:text-slate-300`,children:e(`words.title`)}),(0,q.jsx)(U,{content:e(`tooltips.words.sidebar`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,q.jsx)(`span`,{className:`text-xs text-slate-400 dark:text-slate-500`,children:e(`words.total`,{count:i.length})}),i.length>0&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,onClick:R,"aria-label":e(`words.exportCsv`),title:e(`words.exportCsv`),children:(0,q.jsx)(z,{})}),(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-red-500 hover:text-red-600 dark:text-red-500 dark:hover:text-red-400`,onClick:ne,"aria-label":e(`words.clearList`),title:e(`words.clearList`),children:(0,q.jsx)(gt,{})})]})]})]}),(0,q.jsxs)(x,{type:`button`,variant:`outline`,size:`sm`,className:`h-8 w-full border-slate-200 bg-slate-50/70 text-slate-600 hover:bg-emerald-50 hover:text-emerald-700 dark:border-slate-800 dark:bg-slate-950/35 dar
6k:text-slate-300 dark:hover:bg-emerald-950/35 dark:hover:text-emerald-300`,onClick:()=>void O(),onPointerEnter:A,onFocus:A,disabled:i.length===0||g||_,"aria-busy":_,children:[_?(0,q.jsx)(bt,{size:14,className:`animate-spin`}):(0,q.jsx)(_e,{size:14}),e(`text.languageProcessing`)]}),(0,q.jsxs)(`div`,{className:`flex min-w-0 gap-2`,children:[(0,q.jsx)(Tt,{ref:T,value:y,onChange:e=>P(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),ee())},onBlur:ee,placeholder:i.length===0?e(`words.addPlaceholderEmpty`):e(`words.addPlaceholder`),className:`h-9 min-w-0 flex-1`,"aria-label":e(`words.addWord`)}),(0,q.jsx)(x,{type:`button`,variant:M.isListening?`secondary`:`outline`,size:`icon-sm`,className:`h-9 w-9 shrink-0`,onClick:M.toggle,disabled:!M.isSupported||M.phase===`stopping`,"aria-pressed":M.isListening,"aria-label":M.isListening?e(`text.voiceStop`):e(`text.voiceStart`),title:M.isSupported?M.isListening?e(`text.voiceStop`):e(`text.voiceStart`):e(`text.voiceUnsupported`),children:M.phase===`stopping`?(0,q.jsx)(bt,{size:14,className:`animate-spin`}):M.isListening?(0,q.jsx)(Ae,{size:14}):(0,q.jsx)(ye,{size:14})})]}),(M.isListening||M.interimText||N)&&(0,q.jsxs)(`div`,{"aria-live":`polite`,className:N?`rounded-md border border-red-200 bg-red-50 px-2.5 py-2 text-xs text-red-700 dark:border-red-900/50 dark:bg-red-950/30 dark:text-red-300`:`rounded-md border border-emerald-200 bg-emerald-50 px-2.5 py-2 text-xs text-emerald-700 dark:border-emerald-900/50 dark:bg-emerald-950/30 dark:text-emerald-300`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[N?(0,q.jsx)(vt,{size:12}):M.isListening?(0,q.jsx)(ye,{size:12}):(0,q.jsx)(he,{size:12}),(0,q.jsx)(`span`,{className:`font-medium`,children:N||(M.isListening?e(`text.voiceListening`):e(`text.voiceInput`))})]}),!N&&M.interimText&&(0,q.jsx)(`div`,{className:`mt-1 text-[11px] opacity-90`,children:M.interimText})]}),(0,q.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-slate-200 bg-white dark:border-slate-700 dark:bg-slate-950`,children:i.length===0?(0,q.jsx)(`div`,{className:`grid min-h-32 place-items-center bg-[repeating-linear-gradient(135deg,rgba(148,163,184,0.10)_0,rgba(148,163,184,0.10)_1px,transparent_1px,transparent_12px)] px-4 py-6 dark:bg-[repeating-linear-gradient(135deg,rgba(148,163,184,0.13)_0,rgba(148,163,184,0.13)_1px,transparent_1px,transparent_12px)]`,children:(0,q.jsxs)(`div`,{className:`max-w-56 text-center`,children:[(0,q.jsx)(`div`,{className:`mx-auto mb-2 flex size-8 items-center justify-center rounded-md border border-slate-200/80 bg-white/75 text-slate-400 shadow-sm dark:border-slate-700/80 dark:bg-slate-950/75 dark:text-slate-500`,children:(0,q.jsx)(he,{size:14})}),(0,q.jsx)(`p`,{className:`text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`words.emptyListTitle`)}),(0,q.jsx)(`p`,{className:`mt-1 text-[11px] leading-4 text-slate-400 dark:text-slate-500`,children:e(`words.emptyListDescription`)})]})}):(0,q.jsx)(`div`,{className:`max-h-64 overflow-y-auto`,children:(0,q.jsxs)(Pe,{children:[(0,q.jsx)(Se,{className:`sticky top-0 z-10 bg-white dark:bg-slate-950`,children:(0,q.jsxs)(Le,{className:`hover:bg-white dark:hover:bg-slate-950`,children:[(0,q.jsx)(Oe,{className:`h-8 px-2`,children:e(`words.word`)}),(0,q.jsxs)(Oe,{className:`h-8 w-8 px-0 text-center`,children:[(0,q.jsx)(Ye,{size:13,className:`mx-auto text-slate-400`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`sr-only`,children:e(`words.repeatShort`)})]}),(0,q.jsx)(Oe,{className:`h-8 w-8 px-0`})]})}),(0,q.jsx)(Me,{children:i.map(t=>{let n=f(t),r=Vn(t.text,t.kind),i=r?se(t.text):null,a=t.repeat!==!1;return(0,q.jsxs)(Le,{children:[(0,q.jsx)(ke,{className:`px-1.5 py-1`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[i?(0,q.jsx)(`img`,{src:i,alt:``,className:`size-4 shrink-0`}):null,r?(0,q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-slate-700 dark:text-slate-200`,children:t.text}):(0,q.jsx)(Tt,{defaultValue:t.text,"aria-label":e(`words.editWord`),onKeyDown:e=>{e.key===`Enter`&&e.currentTarget.blur()},onBlur:e=>{ie(t,e.target.value)||(e.target.value=t.text)},className:`h-7 flex-1 border-transparent bg-transparent px-1.5 text-sm shadow-none hover:border-slate-200 focus-visible:border-ring dark:bg-transparent dark:hover:border-slate-700`},`${n}-edit`),(0,q.jsxs)(`label`,{className:`flex shrink-0 items-center gap-0.5 text-[10px] text-slate-400 dark:text-slate-500`,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`Ã`}),(0,q.jsx)(Tt,{type:`number`,min:1,step:1,defaultValue:String(t.value),"aria-label":e(`words.count`),title:e(`words.count`),onKeyDown:e=>{e.key===`Enter`&&e.currentTarget.blur()},onBlur:e=>{ae(t,e.target.value)||(e.target.value=String(t.value))},className:`h-7 w-11 px-1 text-right text-xs tabular-nums`},`${n}-frequency-${t.value}`)]})]})}),(0,q.jsx)(ke,{className:`px-0 py-1 text-center`,children:(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`mx-auto
6size-7`,"aria-pressed":a,"aria-label":e(a?`words.disableRepeatWord`:`words.enableRepeatWord`,{word:t.text}),title:e(`words.repeatTitle`),onClick:()=>l(t.text,t.kind,!a),children:(0,q.jsx)(Ye,{size:14,className:w(a?`text-emerald-500 dark:text-emerald-300`:`text-slate-300 dark:text-slate-600`)})})}),(0,q.jsx)(ke,{className:`px-0 py-1 pr-1 text-center`,children:(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`mx-auto size-7 text-slate-400 hover:text-red-500 dark:text-slate-500 dark:hover:text-red-400`,"aria-label":e(`canvas.deleteWord`),onClick:()=>I(t),children:(0,q.jsx)(gt,{size:14})})})]},n)})})]})})}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,q.jsxs)(x,{type:`button`,variant:`outline`,size:`sm`,className:`min-w-[9rem] flex-1`,onClick:()=>C(!0),children:[(0,q.jsx)(V,{size:14}),e(`words.openManager`)]}),i.length>0&&(0,q.jsxs)(`div`,{className:`flex shrink-0 items-center rounded-lg border border-slate-200 bg-white p-0.5 dark:border-slate-700 dark:bg-slate-950`,"aria-label":e(`words.repeatAll`),children:[(0,q.jsx)(`span`,{className:`px-2 text-[11px] font-medium text-slate-500 dark:text-slate-400`,children:e(`words.repeatAll`)}),(0,q.jsx)(x,{type:`button`,variant:D?`secondary`:`ghost`,size:`sm`,className:`h-7 px-2 text-xs`,"aria-pressed":D,onClick:()=>re(!0),children:e(`common.on`)}),(0,q.jsx)(x,{type:`button`,variant:D?`ghost`:`secondary`,size:`sm`,className:`h-7 px-2 text-xs`,"aria-pressed":!D,onClick:()=>re(!1),children:e(`common.off`)})]})]})]}),S&&(0,q.jsx)(K.Suspense,{fallback:null,children:(0,q.jsx)(Bn,{open:S,onOpenChange:C})})]})}var Wn=[`#123d2b`,`#0f766e`,`#b99542`,`#d8c174`,`#dc2626`,`#4d7c0f`,`#84cc16`,`#f59e0b`,`#ec4899`,`#111827`,`#64748b`,`#f8fafc`],Gn=[0,1,2];function Kn({colors:e,label:t,selected:n,onSelect:r}){return(0,q.jsxs)(x,{onClick:r,type:`button`,variant:`outline`,className:w(`h-auto min-w-0 flex-col gap-1 p-1.5`,n?`border-emerald-400 bg-emerald-50 ring-1 ring-emerald-400 dark:bg-emerald-900/20`:`border-slate-200 hover:border-slate-300 dark:border-slate-600 dark:hover:border-slate-500`),children:[(0,q.jsx)(`div`,{className:`flex gap-0.5`,children:e.slice(0,5).map((e,t)=>(0,q.jsx)(`div`,{className:`h-3 w-3 rounded-full`,style:{backgroundColor:e}},`${e}-${t}`))}),(0,q.jsx)(`span`,{className:`w-full truncate text-center text-[10px] text-slate-500 dark:text-slate-400`,children:t})]})}function qn(){let{t:e,i18n:t}=F(),[n,r]=(0,K.useState)(!1),{paletteIndex:i,customPaletteColors:a,setPaletteIndex:o,setCustomPaletteColors:s,colorMode:l,setColorMode:u}=k(be(e=>({paletteIndex:e.paletteIndex,customPaletteColors:e.customPaletteColors,setPaletteIndex:e.setPaletteIndex,setCustomPaletteColors:e.setCustomPaletteColors,colorMode:e.colorMode,setColorMode:e.setColorMode}))),d=c(a),f=i===-1,p=[{value:`sequential`,label:e(`style.sequential`)},{value:`random`,label:e(`style.random`)},{value:`byFrequency`,label:e(`style.byFrequency`)}],h=n=>n===-1?e(`style.customPalette`):t.language===`ru`?m[n].name:m[n].nameEn,g=e=>e===-1?d:m[e].colors,_=Gn.includes(i)?Gn:[i,...Gn.filter(e=>e!==i)].slice(0,3),v=[...m.map((e,t)=>t),-1],y=(e,t=!1)=>{o(e),t&&r(!1)},b=(e,t)=>{s(d.map((n,r)=>r===e?t:n))},S=()=>{let e=Wn.find(e=>!d.includes(e))??`#123d2b`;s([...d,e])},T=e=>{d.length<=2||s(d.filter((t,n)=>n!==e))};return(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(`h3`,{className:`text-sm font-semibold text-slate-700 dark:text-slate-300`,children:e(`style.palette`)}),(0,q.jsx)(U,{content:e(`tooltips.style.palette`)})]}),(0,q.jsx)(`div`,{className:`grid grid-cols-3 gap-1.5`,children:_.map(e=>(0,q.jsx)(Kn,{colors:g(e),label:h(e),selected:e===i,onSelect:()=>y(e)},e))}),(0,q.jsxs)(x,{type:`button`,onClick:()=>r(!0),variant:`outline`,size:`sm`,className:`w-full`,children:[(0,q.jsx)(Je,{size:15}),e(`style.morePalettes`)]}),n&&(0,q.jsx)(pe,{open:n,onOpenChange:r,children:(0,q.jsxs)(Re,{showCloseButton:!1,className:`flex max-h-[84vh] max-w-3xl flex-col gap-0 overflow-hidden p-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-4 py-3`,children:[(0,q.jsxs)(B,{className:`gap-1 text-left`,children:[(0,q.jsx)(me,{className:`text-sm`,children:e(`style.paletteDialogTitle`)}),(0,q.jsx)(H,{className:`text-xs`,children:e(`style.paletteDialogCount`,{count:v.length})})]}),(0,q.jsx)(x,{type:`button`,onClick:()=>r(!1),variant:`ghost`,size:`icon-sm`,"aria-label":e(`style.closePalettes`),children:(0,q.jsx)(vt,{size:17})})]}),(0,q.jsx)(`div`,{className:`overflow-y-auto p-4`,children:(0,q.jsx)(`div`,{className:`grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5`,children:v.map(e=>(0,q.jsx)(Kn,{colors:g(e),label:h(e),selected:e===i,onSelect:()=>y(e,!0)},e))})})]})}),f&&(0,q.jsxs)(`div`,{className:`rounded-lg border border-emerald-100 bg-emerald-50/55 p-2 dark:border-emerald-950/70 dark:bg-emerald-950/20`,children:[(0,q.jsxs)(`div`,{className:`mb-2 flex items-start justify-between gap-2`,children:[(0,q.jsxs)(`div`,{className:`min-w-0`,children:[(0,q.jsx)(`div`,{className:`text-xs font-semibold text-slate-700 dark:text-slate-200`,children:e(`style.customPaletteTitle`)}),(0,q.jsx)(`div`,{className:`mt-0.5 text-[11px] leading-4 text-slate-500 dark:text-slate-400`,children:e(`style.customPaletteHint`)})]}),(0,q.jsx)(x,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`shrink-0 text-slate-400 hover:text-slate-700 dark:hover:text-slate-100`,onClick:()=>s(C),"aria-label":e(`style.resetCustomPalette`),title:e(`style.resetCustomPalette`),children:(0,q.jsx)(R,{size:14})})]}),(0,q.jsx)(`div`,{className:`grid gap-1.5`,children:d.map((t,n)=>(0,q.jsxs)(`div`,{className:`grid grid-cols-[2rem_minmax(0,1fr)_1.75rem] items-center gap-1.5`,children:[(0,q.jsx)(`input`,{type:`color`,value:t,onChange:e=>b(n,e.target.value),className:`h-8 w-8 cursor-pointer rounded-md border border-white/80 bg-transparent p-0 shadow-sm dark:border-slate-700`,"aria-label":e(`style.customColorNumber`,{number:n+1})}),(0,q.jsx)(`div`,{className:`min-w-0 rounded-md border border-white/80 bg-white/75 px-2 py-1 font-mono text-[11px] uppercase text-slate-500 shadow-sm dark:border-slate-800 dark:bg-slate-950/45 dark:text-slate-400`,children:t}),(0,q.jsx)(x,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`h-7 w-7 text-slate-400 hover:bg-white/80 hover:text-red-500 disabled:opacity-35 dark:hover:bg-slate-900`,onClick:()=>T(n),disabled:d.length<=2,"aria-label":e(`style.removeCustomColor`),title:e(`style.removeCustomColor`),
6children:(0,q.jsx)(vt,{size:13})})]},`${t}-${n}`))}),(0,q.jsxs)(x,{type:`button`,size:`sm`,variant:`ghost`,className:`mt-2 h-8 w-full border border-dashed border-emerald-200 bg-white/65 text-xs text-emerald-700 hover:bg-white dark:border-emerald-900 dark:bg-slate-950/25 dark:text-emerald-200 dark:hover:bg-slate-950/45`,onClick:S,disabled:d.length>=12,children:[(0,q.jsx)(qe,{size:14}),e(`style.addCustomColor`)]})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`style.colorMode`)}),(0,q.jsx)(U,{content:e(`tooltips.style.colorMode`)})]}),(0,q.jsx)(`div`,{className:`flex min-w-0 gap-1`,children:p.map(e=>(0,q.jsx)(x,{onClick:()=>u(e.value),type:`button`,variant:l===e.value?`subtle`:`ghost`,size:`sm`,className:w(`h-auto min-w-0 flex-1 px-1 py-1.5 text-[11px] leading-tight sm:px-2 sm:text-xs`,l!==e.value&&`text-slate-500 dark:text-slate-400`),children:e.label},e.value))})]})]})}var Jn=10,Yn=200,Xn=30,Zn=`Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif`;function Qn({children:e,className:t,style:n}){return(0,q.jsx)(`span`,{className:w(`absolute whitespace-nowrap font-black uppercase leading-none tracking-normal text-slate-800 dark:text-slate-100`,t),style:{fontFamily:Zn,...n},children:e})}function $n({words:e,rotation:t,className:n}){return(0,q.jsx)(`span`,{className:w(`absolute left-1/2 top-1/2 flex flex-col items-center justify-center whitespace-nowrap text-[15px] font-black uppercase leading-[0.9] tracking-normal text-slate-800 dark:text-slate-100`,n),style:{fontFamily:Zn,transform:`translate(-50%, -50%) rotate(${t}deg)`},children:e.filter(e=>e.trim().length>0).map((e,t)=>(0,q.jsx)(`span`,{children:e},`${t}-${e}`))})}function er({option:e}){let t=e.label,n=e.preview,r=t.split(/\s+/)[0]||t;return e.value===`vertical`?(0,q.jsx)(Qn,{className:`left-1/2 top-1/2 text-[13px]`,style:{transform:`translate(-50%, -50%) rotate(-90deg)`},children:t}):e.value===`orthogonal`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Qn,{className:`bottom-6 left-3 text-[12px]`,children:t.split(/\s+/)[0]||t}),(0,q.jsx)(Qn,{className:`right-[-18px] top-1/2 text-[12px]`,style:{transform:`translateY(-50%) rotate(-90deg)`},children:n[1]??t})]}):e.value===`crossing`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Qn,{className:`bottom-5 left-2.5 text-[12px]`,children:n[2]??t}),(0,q.jsx)(Qn,{className:`right-[-18px] top-1/2 text-[12px]`,style:{transform:`translateY(-50%) rotate(-90deg)`},children:n[1]??t}),(0,q.jsx)(Qn,{className:`left-2.5 top-5 text-[12px]`,style:{transform:`rotate(45deg)`},children:n[0]??t})]}):e.value===`crossingVoids`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Qn,{className:`left-3 top-8 text-[12px]`,style:{transform:`rotate(45deg)`},children:n[0]??t}),(0,q.jsx)(Qn,{className:`right-2 top-5 text-[12px]`,style:{transform:`rotate(-45deg)`},children:n[1]??t})]}):e.value===`dancing`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Qn,{className:`left-3 top-7 text-[12px]`,style:{transform:`rotate(-10deg)`},children:n[0]??t}),(0,q.jsx)(Qn,{className:`left-10 top-12 text-[12px]`,style:{transform:`rotate(18deg)`},children:n[1]??t})]}):e.value===`positiveSlope`||e.value===`negativeSlope`?(0,q.jsx)($n,{words:[n[0]??t,n[1]??``],rotation:e.value===`positiveSlope`?-Xn:Xn,className:`text-[16px]`}):e.value===`random`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Qn,{className:`left-2.5 top-4 text-[11px]`,style:{transform:`rotate(9deg)`},children:n[0]??t}),(0,q.jsx)(Qn,{className:`right-5 top-9 text-[11px]`,style:{transform:`rotate(-55deg)`},children:n[0]??t}),(0,q.jsx)(Qn,{className:`bottom-3 left-3 text-[14px]`,style:{transform:`rotate(11deg)`},children:n[0]??t})]}):e.value===`custom`?(0,q.jsx)(Qn,{className:`left-1/2 top-1/2 text-[17px] text-emerald-800 dark:text-emerald-300`,style:{transform:`translate(-50%, -50%)`},children:t}):(0,q.jsx)(Qn,{className:`left-1/2 top-1/2 text-[15px]`,style:{transform:`translate(-50%, -50%)`},children:r})}function tr({option:e,selected:t,onSelect:n}){return(0,q.jsx)(x,{onClick:n,type:`button`,"aria-label":e.label,variant:`outline`,className:w(`relative h-32 min-w-0 overflow-hidden p-0`,t?`border-emerald-300 bg-emerald-100 text-emerald-950 shadow-sm dark:border-emerald-600 dark:bg-emerald-950/50`:`border-slate-200 bg-white text-slate-600 hover:border-slate-300 hover:bg-slate-50 dark:border-slate-700 dark:bg-slate-800/70 dark:text-slate-300 dark:hover:bg-slate-800`),children:(0,q.jsx)(er,{option:e})},e.value)}function nr(){let{t:e}=F(),[t,n]=(0,K.useState)(!1),{rotationPreset:r,setRotationPreset:i,customRotationInput:a,setCustomRotationInput:o,padding:s,setPadding:c,maxWords:l,setMaxWords:u,minFontSize:d,maxFontSize:f,setFontSizeRange:p}=k(be(e=>({rotationPreset:e.rotationPreset,setRotationPreset:e.setRotationPreset,customRotationInput:e.customRotationInput,setCustomRotationInput:e.setCustomRotationInput,padding:e.padding,setPadding:e.setPadding,maxWords:e.maxWords,setMaxWords:e.setMaxWords,minFontSize:e.minFontSize,maxFontSize:e.maxFontSize,setFontSizeRange:e.setFontSizeRange}))),m=[{value:`horizontal`,label:e(`layout.horizontal`),preview:[e(`layout.horizontal`)]},{value:`vertical`,label:e(`layout.vertical`),preview:[e(`layout.vertical`)]},{value:`orthogonal`,label:e(`layout.orthogonal`),preview:[e(`layout.horizontal`),e(`layout.vertical`)]},{value:`crossing`,label:e(`layout.crossing`),preview:[e(`layout.crossingPreview`),e(`layout.vertical`),e(`layout.horizontal`)]},{value:`crossingVoids`,label:e(`layout.crossingVoids`),preview:[e(`layout.crossingPreview`),e(`layout.voidsPreview`)]},{value:`dancing`,label:e(`layout.dancing`),preview:[e(`layout.dancingPreview`),e(`layout.wordsPreview`)]},{value:`positiveSlope`,label:e(`layout.positiveSlope`),preview:[e(`layout.positivePreview`),e(`layout.slopePreview`)]},{value:`negativeSlope`,label:e(`layout.negativeSlope`),preview:[e(`layout.negativePreview`),e(`layout.slopePreview`)]},{value:`random`,label:e(`layout.random`),preview:[e(`layout.random`)]},{value:`custom`,label:e(`layout.custom`),preview:[e(`layout.custom`)]}],h=[`horizontal`,`vertical`,`orthogonal`,`random`],g=(h.includes(r)?h:[r,...h.filter(e=>e!==r).slice(0,3)]).map(e=>m.find(t=>t.value===e)).filter(e=>!!e),_=(e,t=!1)=>{i(e),t&&n(!1)},v=[Math.min(d,f),Math.max(d,f)],y=e=>{let t=e[0]??v[0],n=e[1]??v[1],r=Math.max(Jn,Math.min(Yn,Math.round(Math.min(t,n)))),i=Math.max(r,Math.min(Yn,Math.round(Math.max(t,n))));(r!==d||i!==f)&&p(r,i)};return(0,q.jsxs)(`div`,{className:`space-y-4`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(`h3`,{className:`text-sm font-semibold text-slate-700 dark:text-slate-300`,children:e(`layout.title`)}),(0,q.jsx)(U,{content:e(`tooltips.layout.title`)})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`layout.rotation`)}),(0,q.jsx)(U,{content:e(`tooltips.layout.rotation`)})]}),(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-1.5`,children:g.map(e=>(0,q.jsx)(tr,{option:e,selected:r===e.value,onSelect:()=>_(e.value)},e.value))}
6),(0,q.jsxs)(x,{type:`button`,onClick:()=>n(!0),variant:`outline`,size:`sm`,className:`mt-2 w-full`,children:[(0,q.jsx)(Je,{size:15}),e(`layout.moreOrientations`)]}),r===`custom`&&(0,q.jsxs)(`div`,{className:`mt-2`,children:[(0,q.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`layout.customAngles`)}),(0,q.jsx)(Tt,{value:a,onChange:e=>o(e.target.value),placeholder:e(`layout.customAnglesPlaceholder`),className:`h-8 bg-white text-xs dark:bg-slate-950`})]}),t&&(0,q.jsx)(pe,{open:t,onOpenChange:n,children:(0,q.jsxs)(Re,{showCloseButton:!1,className:`flex max-h-[88vh] max-w-5xl flex-col gap-0 overflow-hidden p-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-4 py-3`,children:[(0,q.jsxs)(B,{className:`gap-1 text-left`,children:[(0,q.jsx)(me,{className:`text-sm`,children:e(`layout.orientationDialogTitle`)}),(0,q.jsx)(H,{className:`text-xs`,children:e(`layout.orientationDialogCount`,{count:m.length})})]}),(0,q.jsx)(x,{type:`button`,onClick:()=>n(!1),variant:`ghost`,size:`icon-sm`,"aria-label":e(`layout.closeOrientations`),children:(0,q.jsx)(vt,{size:17})})]}),(0,q.jsx)(`div`,{className:`overflow-y-auto p-4`,children:(0,q.jsx)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-5`,children:m.map(e=>(0,q.jsx)(tr,{option:e,selected:r===e.value,onSelect:()=>_(e.value,!0)},e.value))})})]})})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`style.fontSize`)}),(0,q.jsx)(U,{content:e(`tooltips.style.fontSize`)})]}),(0,q.jsxs)(`div`,{className:`space-y-2`,children:[(0,q.jsx)(J,{min:Jn,max:Yn,step:1,minStepsBetweenThumbs:0,value:v,onValueChange:y,className:`py-1`}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between text-[11px] text-slate-500 dark:text-slate-400`,children:[(0,q.jsxs)(`span`,{children:[e(`style.min`),` `,(0,q.jsx)(`span`,{className:`font-medium tabular-nums text-slate-700 dark:text-slate-200`,children:v[0]})]}),(0,q.jsxs)(`span`,{children:[e(`style.max`),` `,(0,q.jsx)(`span`,{className:`font-medium tabular-nums text-slate-700 dark:text-slate-200`,children:v[1]})]})]})]})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`layout.padding`)}),(0,q.jsx)(U,{content:e(`tooltips.layout.padding`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(J,{min:0,max:20,value:[s],onValueChange:([e])=>c(e??s),className:`flex-1`}),(0,q.jsx)(`span`,{className:`text-xs text-slate-500 dark:text-slate-400 w-6 text-right`,children:s})]})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`layout.maxWords`)}),(0,q.jsx)(U,{content:e(`tooltips.layout.maxWords`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,q.jsx)(J,{min:10,max:1200,step:10,value:[l],onValueChange:([e])=>u(e??l),className:`flex-1`}),(0,q.jsx)(`span`,{className:`w-9 text-right text-xs text-slate-500 dark:text-slate-400`,children:l})]})]})]})}var rr=`shapewords.customShapes.v1`,ir=80;function ar(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`shape-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function or(e){return{...e,id:`custom`,category:`custom`,tags:Array.from(new Set([`custom`,`ÑÐ²Ð¾Ñ ÑоÑма`,...e.tags??[]]))}}function sr(e){return`${e.viewBox}|${e.fillRule??`nonzero`}|${e.path}`}function cr(){if(typeof window>`u`)return[];try{let e=JSON.parse(window.localStorage.getItem(rr)??`[]`);return Array.isArray(e)?e:[]}catch{return[]}}function lr(e){if(!(typeof window>`u`))try{window.localStorage.setItem(rr,JSON.stringify(e.slice(0,ir)))}catch{}}function ur(){return cr().filter(e=>typeof e?.path==`string`&&typeof e?.viewBox==`string`).map(e=>or({...e,localShapeId:e.localShapeId??ar()}
6))}function dr(e){let t=or({...e,localShapeId:e.localShapeId??ar(),userShapeId:void 0}),n=sr(t);return lr([t,...ur().filter(e=>sr(e)!==n)].slice(0,ir)),t}function fr(e){lr(ur().filter(t=>t.localShapeId!==e))}function pr(e,t){return sr(e)===sr(t)}var mr=(0,K.lazy)(()=>G(()=>j(()=>import(`./ShapeBuilderModal-Dp2S3YQk.js`),__vite__mapDeps([3,1,2]))).then(e=>({default:e.ShapeBuilderModal}))),hr=[{value:`transparent`,color:`transparent`,labelKey:`shape.backgroundNone`},{value:`#f8fafc`,color:`#f8fafc`,labelKey:`shape.backgroundWhite`},{value:`#dff4ff`,color:`#dff4ff`,labelKey:`shape.backgroundSky`},{value:`#dcfce7`,color:`#dcfce7`,labelKey:`shape.backgroundMint`},{value:`#fef3c7`,color:`#fef3c7`,labelKey:`shape.backgroundWarm`},{value:`#fce7f3`,color:`#fce7f3`,labelKey:`shape.backgroundRose`}];function gr({shape:e,className:t,fillColor:n}){let r=n&&n!==`transparent`?{fill:n}:void 0;return(0,q.jsx)(`svg`,{viewBox:e.viewBox,className:w(t??`size-8`),"aria-hidden":`true`,children:(0,q.jsx)(`path`,{d:e.path,fillRule:e.fillRule,clipRule:e.fillRule,className:`fill-slate-400 dark:fill-slate-500`,style:r})})}function _r({shape:e,selected:t,label:n,onSelect:r,onDelete:i,deleteLabel:a,size:o=`compact`}){return(0,q.jsxs)(`div`,{className:`relative min-w-0`,children:[(0,q.jsxs)(x,{type:`button`,onClick:r,variant:`outline`,className:w(`h-auto w-full min-w-0 flex-col gap-1`,o===`catalog`?`min-h-28 rounded-lg p-3`:`rounded-lg p-2`,t?`border-emerald-400 bg-emerald-50 ring-1 ring-emerald-400 dark:bg-emerald-900/20`:`border-slate-200 hover:border-slate-300 hover:bg-slate-50 dark:border-slate-600 dark:hover:border-slate-500 dark:hover:bg-slate-800`),children:[(0,q.jsx)(gr,{shape:e,className:o===`catalog`?`size-14 sm:size-16`:void 0}),(0,q.jsx)(`span`,{className:`w-full truncate text-center text-[10px] text-slate-500 dark:text-slate-400`,children:n})]}),i&&(0,q.jsx)(x,{type:`button`,onClick:e=>{e.stopPropagation(),i()},variant:`outline`,size:`icon-sm`,className:`absolute right-1 top-1 size-7 border-red-200 bg-white/92 text-red-500 shadow-sm hover:bg-red-50 hover:text-red-600 dark:border-red-900/70 dark:bg-slate-950/90 dark:text-red-300 dark:hover:bg-red-950/60`,"aria-label":a,title:a,children:(0,q.jsx)(gt,{size:13})})]})}function vr(e,t){return!!(e&&t&&e.id===t.id&&e.path===t.path&&e.viewBox===t.viewBox)}function yr(e){return{...e,id:`custom`,category:`custom`,tags:Array.from(new Set([`custom`,`ÑÐ²Ð¾Ñ ÑоÑма`,...e.tags??[]]))}}function br(e,t){return E(t)?e.name:e.nameEn}function xr(e){return Number.isInteger(e)?String(e):Number(e.toFixed(3)).toString()}function Sr(e){let t=e.trim().split(/[\s,]+/).map(Number);return t.length!==4||t.some(e=>!Number.isFinite(e))?{x:0,y:0,width:100,height:100}:{x:t[0]??0,y:t[1]??0,width:Math.max(1,t[2]??100),height:Math.max(1,t[3]??100)}}function Cr(e,t,n,r){let i=e+n,a=t+r;return[`M ${xr(e)} ${xr(t)}`,`L ${xr(i)} ${xr(t)}`,`L ${xr(i)} ${xr(a)}`,`L ${xr(e)} ${xr(a)}`,`Z`].join(` `)}function wr(e){let t=Sr(e.viewBox);return{id:`custom`,name:`ÐнвеÑÑиÑ: ${e.name}`,nameEn:`Inverted: ${e.nameEn}`,category:`custom`,tags:[...new Set([...e.tags,`custom`,`inverse`,`inverted`,`инвеÑÑиÑ`])],viewBox:e.viewBox,path:`${Cr(t.x,t.y,t.width,t.height)} ${e.path}`,fillRule:`evenodd`}}function Tr(){let{t:e,i18n:t}=F(),{shapeType:n,customShapeDefinition:r,shapeBackgroundColor:a,setShapeType:o,setCustomShapeDefinition:c,setShapeBackgroundColor:l}=k(be(e=>({shapeType:e.shapeType,customShapeDefinition:e.customShapeDefinition,shapeBackgroundColor:e.shapeBackgroundColor,setShapeType:e.setShapeType,setCustomShapeDefinition:e.setCustomShapeDefinition,setShapeBackgroundColor:e.setShapeBackgroundColor}))),{user:d,savedAccountShapes:f,saveCurrentShape:p,deleteAccountShape:m}=i(be(e=>({user:e.user,savedAccountShapes:e.shapes,saveCurrentShape:e.saveCurrentShape,deleteAccountShape:e.deleteShape}))),[h,g]=(0,K.useState)(!1),[_,v]=(0,K.useState)(null),[y,b]=(0,K.useState)(`transparent`),[S,C]=(0,K.useState)(!1),[T,E]=(0,K.useState)(!1),[D,O]=(0,K.useState)(null),[A,j]=(0,K.useState)(!1),[N,te]=(0,K.useState)(``),[P,ne]=(0,K.useState)(`all`),[L,re]=(0,K.useState)(42),[R,z]=(0,K.useState)(``),[ae,oe]=(0,K.useState)(!1),[se,ce]=(0,K.useState)(()=>ur()),le=(0,K.useRef)(null),ue=a===`transparent`?`#dff4ff`:a,de=y===`transparent`?`#dff4ff`:y,fe=(0,K.useMemo)(()=>f.map(e=>yr({...e.shape,userShapeId:e.id,localShapeId:void 0})),[f]),he=(0,K.useMemo)(()=>{let e=[],t=t=>{if(!t)return;let n=yr(t);e.some(e=>pr(e,n))||e.push(n)};return fe.forEach(t),se.forEach(t),r?.id===`custom`&&t(r),e},[fe,r,se]),ge=(0,K.useMemo)(()=>[...he,...I],[he]),_e=(0,K.useMemo)(()=>s.map(e=>I.find(t=>
6t.id===e)).filter(e=>!!e),[]),V=ee(n,r),ve=(0,K.useMemo)(()=>_?S?wr(_):_:null,[_,S]),ye=!!V,xe=(0,K.useMemo)(()=>{let t=N.trim().toLowerCase();return ge.filter(n=>P===`all`||n.category===P?t?[n.id,n.name,n.nameEn,...n.tags,e(`shape.categories.${n.category}`)].join(` `).toLowerCase().includes(t):!0:!1)},[P,ge,N,e]);(0,K.useEffect)(()=>{if(!h)return;let e=e=>{e.key===`Escape`&&g(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[h]),(0,K.useEffect)(()=>{h&&(v(null),b(a),C(!1))},[h,a]);let Se=e=>{o(e),g(!1)},Ce=(e=null)=>{O(e),E(!0)},we=e=>{v(e),b(a),C(!1)},Te=()=>{_&&(async()=>{S?(c(await De(wr(_))),o(`custom`)):_.id===`custom`?(c(_),o(`custom`)):o(_.id),l(y),g(!1)})()},Ee=()=>ce(ur()),De=async e=>{let t=yr(e);if(d){let e=await p(t);if(e)return yr({...e.shape,userShapeId:e.id,localShapeId:void 0})}let n=dr(t);return Ee(),n},Oe=i=>{let a=br(i,t.language);window.confirm(e(`shape.deleteShapeConfirm`,{name:a}))&&(async()=>{i.userShapeId?await m(i.userShapeId):i.localShapeId&&(fr(i.localShapeId),Ee()),n===`custom`&&r&&pr(i,r)&&(c(null),o(M))})()},ke=()=>{ae||(z(``),j(!0))},Ae=async n=>{oe(!0),z(``);try{let r=await De(await Ot(n,{mode:`auto`,threshold:L}));c(r),o(`custom`),z(e(`shape.customReady`,{name:br(r,t.language)})),j(!1)}catch(t){z(t instanceof Error?t.message:e(`shape.customError`))}finally{oe(!1)}},je=()=>{try{le.current?.click()}catch{z(e(`shape.customError`))}},Me=n=>{(async()=>{let r=await De(n);c(r),o(`custom`),z(e(`shape.customReady`,{name:br(r,t.language)})),E(!1),O(null)})()};return(0,q.jsxs)(`div`,{className:`space-y-3`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,q.jsx)(`h3`,{className:`text-sm font-semibold text-slate-700 dark:text-slate-300`,children:e(`shape.title`)}),(0,q.jsx)(U,{content:e(`tooltips.shape.title`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`shape.popular`)}),(0,q.jsxs)(x,{type:`button`,onClick:()=>g(!0),variant:`outline`,size:`sm`,className:`h-7`,children:[(0,q.jsx)(pt,{size:13}),e(`shape.openCatalog`)]})]}),V&&(0,q.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] gap-1.5`,children:[(0,q.jsxs)(x,{type:`button`,onClick:()=>g(!0),variant:`subtle`,className:`h-auto min-w-0 justify-between px-2.5 py-2 text-left`,children:[(0,q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,q.jsx)(gr,{shape:V,className:`size-6 shrink-0`}),(0,q.jsxs)(`span`,{className:`min-w-0`,children:[(0,q.jsx)(`span`,{className:`block text-[10px] uppercase text-emerald-500 dark:text-emerald-400`,children:e(`shape.selected`)}),(0,q.jsx)(`span`,{className:`block truncate text-xs font-medium text-emerald-700 dark:text-emerald-200`,children:br(V,t.language)})]})]}),(0,q.jsx)(pt,{size:14,className:`shrink-0 text-emerald-500`})]}),(0,q.jsx)(x,{type:`button`,onClick:()=>Ce(V),variant:`outline`,size:`icon-sm`,className:`h-full min-h-12 w-11 shrink-0`,"aria-label":e(`shape.editShape`),title:e(`shape.editShape`),children:(0,q.jsx)(_t,{size:15})})]}),(0,q.jsx)(`div`,{className:`grid grid-cols-3 gap-1.5`,children:_e.map(e=>(0,q.jsx)(_r,{shape:e,selected:n===e.id,label:br(e,t.language),onSelect:()=>Se(e.id)},e.id))}),(0,q.jsxs)(`div`,{className:`grid gap-2 rounded-lg border border-slate-200 p-2 dark:border-slate-700`,children:[(0,q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`div`,{className:`text-xs font-medium text-slate-600 dark:text-slate-300`,children:e(`shape.customTitle`)}),(0,q.jsx)(`div`,{className:`text-[11px] leading-snug text-slate-400 dark:text-slate-500`,children:e(`shape.customDescription`)})]}),(0,q.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] gap-1.5`,children:[(0,q.jsxs)(x,{type:`button`,onClick:()=>Ce(null),size:`sm`,className:`h-8 min-w-0`,children:[(0,q.jsx)(pt,{size:13}),(0,q.jsx)(`span`,{className:`truncate`,children:e(`shape.builderOpen`)})]}),(0,q.jsxs)(x,{type:`button`,onClick:ke,disabled:ae,variant:`outline`,size:`sm`,className:`h-8 shrink-0`,children:[ae?(0,q.
6jsx)(bt,{size:13,className:`animate-spin`}):(0,q.jsx)(Ue,{size:13}),(0,q.jsx)(`span`,{className:`hidden sm:inline`,children:e(`shape.customUpload`)})]})]})]}),R&&(0,q.jsx)(`div`,{className:`rounded-md bg-slate-50 px-2 py-1.5 text-xs text-slate-500 dark:bg-slate-800/70 dark:text-slate-400`,children:R})]}),A&&(0,q.jsx)(pe,{open:A,onOpenChange:j,children:(0,q.jsxs)(Re,{showCloseButton:!1,className:`max-w-md`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border pb-3`,children:[(0,q.jsxs)(B,{className:`gap-1 text-left`,children:[(0,q.jsx)(me,{children:e(`shape.customTitle`)}),(0,q.jsx)(H,{className:`text-xs`,children:e(`shape.customDescription`)})]}),(0,q.jsx)(x,{type:`button`,onClick:()=>j(!1),variant:`ghost`,size:`icon-sm`,"aria-label":e(`shape.closeCatalog`),children:(0,q.jsx)(vt,{size:17})})]}),(0,q.jsxs)(`div`,{className:`grid gap-3 pt-1`,children:[(0,q.jsx)(`input`,{ref:le,type:`file`,accept:`image/png,image/jpeg,image/webp,image/svg+xml`,className:`hidden`,tabIndex:-1,disabled:ae,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&Ae(t)}}),(0,q.jsxs)(x,{type:`button`,onClick:je,disabled:ae,className:`h-10`,children:[ae?(0,q.jsx)(bt,{size:13,className:`animate-spin`}):(0,q.jsx)(Ue,{size:13}),e(`shape.customUpload`)]}),(0,q.jsxs)(`label`,{className:`grid gap-1`,children:[(0,q.jsxs)(`span`,{className:`flex justify-between text-[11px] text-slate-500 dark:text-slate-400`,children:[(0,q.jsx)(`span`,{children:e(`shape.customThreshold`)}),(0,q.jsx)(`span`,{className:`tabular-nums`,children:L})]}),(0,q.jsx)(J,{min:8,max:120,value:[L],onValueChange:([e])=>re(e??L),disabled:ae})]})]}),R&&(0,q.jsx)(`div`,{className:`rounded-md bg-slate-50 px-2 py-1.5 text-xs text-slate-500 dark:bg-slate-800/70 dark:text-slate-400`,children:R})]})}),T&&(0,q.jsx)(K.Suspense,{fallback:null,children:(0,q.jsx)(mr,{initialShape:D,onClose:()=>{E(!1),O(null)},onApply:Me})}),h&&(0,q.jsx)(pe,{open:h,onOpenChange:g,children:(0,q.jsxs)(Re,{showCloseButton:!1,className:`flex max-h-[84vh] max-w-4xl flex-col gap-0 overflow-hidden p-0`,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-4 py-3`,children:[(0,q.jsxs)(B,{className:`gap-1 text-left`,children:[(0,q.jsx)(me,{className:`text-sm`,children:e(`shape.catalogTitle`)}),(0,q.jsx)(H,{className:`text-xs`,children:e(`shape.catalogCount`,{count:xe.length})})]}),(0,q.jsx)(x,{type:`button`,onClick:()=>g(!1),variant:`ghost`,size:`icon-sm`,"aria-label":e(`shape.closeCatalog`),children:(0,q.jsx)(vt,{size:17})})]}),_&&ve?(0,q.jsxs)(`div`,{className:`grid min-h-0 flex-1 gap-4 overflow-y-auto p-4 md:grid-cols-[minmax(0,1fr)_18rem]`,children:[(0,q.jsx)(`div`,{className:`min-w-0 rounded-xl border border-slate-200 bg-slate-50 p-3 dark:border-slate-700 dark:bg-slate-950/35`,children:(0,q.jsx)(`div`,{className:`flex aspect-square min-h-72 items-center justify-center rounded-lg bg-white p-8 shadow-inner dark:bg-slate-900`,children:(0,q.jsx)(gr,{shape:ve,fillColor:y,className:`h-full max-h-[25rem] w-full max-w-[25rem]`})})}),(0,q.jsxs)(`div`,{className:`grid content-start gap-3`,children:[(0,q.jsxs)(`div`,{className:`rounded-lg border border-slate-200 p-3 dark:border-slate-700`,children:[(0,q.jsx)(`div`,{className:`text-[10px] font-semibold uppercase text-emerald-500 dark:text-emerald-400`,children:e(`shape.catalogCustomize`)}),(0,q.jsx)(`div`,{className:`mt-1 text-sm font-semibold text-slate-800 dark:text-slate-100`,children:br(_,t.language)}),(0,q.jsx)(`div`,{className:`mt-1 text-[11px] leading-snug text-slate-500 dark:text-slate-400`,children:_.tags.slice(0,5).join(` · `)})]}),(0,q.jsxs)(`div`,{className:`grid gap-2 rounded-lg border border-slate-200 p-3 dark:border-slate-700`,children:[(0,q.jsx)(`div`,{className:`text-xs font-medium text-slate-600 dark:text-slate-300`,children:e(`shape.catalogColor`)}),(0,q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[hr.map(t=>{let n=y===t.value;return(0,q.jsx)(x,{type:`button`,onClick:()=>b(t.value),"aria-label":e(t.labelKey),variant:`outline`,className:w(`relative h-8 w-8 p-0`,n?`border-emerald-400 ring-2 ring-emerald-200 dark:ring-emerald-900/60`:`border-slate-200 hover:border-slate-300 dark:border-slate-600 dar
6k:hover:border-slate-500`),style:{background:t.value===`transparent`?`linear-gradient(135deg, #f8fafc 25%, #e2e8f0 25%, #e2e8f0 50%, #f8fafc 50%, #f8fafc 75%, #e2e8f0 75%)`:void 0,backgroundSize:t.value===`transparent`?`8px 8px`:void 0,backgroundColor:t.color}},t.value)}),(0,q.jsx)(`label`,{className:`relative h-8 w-8 overflow-hidden rounded-md border border-slate-200 transition-all hover:border-slate-300 dark:border-slate-600 dark:hover:border-slate-500`,children:(0,q.jsx)(`input`,{type:`color`,value:de,onChange:e=>b(e.target.value),className:`absolute -inset-1 h-10 w-10 cursor-pointer border-0 bg-transparent p-0`,"aria-label":e(`shape.backgroundCustom`)})})]})]}),(0,q.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-lg border border-slate-200 p-3 dark:border-slate-700`,children:[(0,q.jsxs)(`span`,{className:`min-w-0`,children:[(0,q.jsx)(`span`,{className:`block text-xs font-medium text-slate-700 dark:text-slate-200`,children:e(`shape.catalogInvert`)}),(0,q.jsx)(`span`,{className:`block text-[11px] leading-snug text-slate-500 dark:text-slate-400`,children:e(`shape.catalogInvertHint`)})]}),(0,q.jsx)(u,{checked:S,onCheckedChange:C})]}),(0,q.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[(0,q.jsx)(x,{type:`button`,onClick:()=>v(null),variant:`outline`,className:`h-10`,children:e(`shape.catalogBack`)}),(0,q.jsxs)(x,{type:`button`,onClick:()=>{O(ve),E(!0),g(!1)},variant:`outline`,className:`h-10`,children:[(0,q.jsx)(_t,{size:16}),e(`shape.catalogEditFree`)]}),(0,q.jsxs)(x,{type:`button`,onClick:Te,className:`h-10`,children:[(0,q.jsx)(kt,{size:16}),e(`shape.catalogApply`)]})]})]})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`grid gap-3 border-b border-slate-200 p-4 dark:border-slate-700`,children:[(0,q.jsxs)(`label`,{className:`relative block`,children:[(0,q.jsx)(yt,{className:`pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-slate-400`,size:15}),(0,q.jsx)(Tt,{value:N,onChange:e=>te(e.target.value),placeholder:e(`shape.searchPlaceholder`),className:`h-9 bg-slate-50 pl-8 dark:bg-slate-950`,autoFocus:!0})]}),(0,q.jsx)(`div`,{className:`flex gap-1.5 overflow-x-auto pb-0.5`,children:[`all`,...ie].map(t=>(0,q.jsx)(x,{type:`button`,onClick:()=>ne(t),variant:P===t?`subtle`:`ghost`,size:`sm`,className:w(`h-8 shrink-0 px-2.5 text-xs font-medium`,P!==t&&`text-slate-500 dark:text-slate-400`),children:e(`shape.categories.${t}`)},t))})]}),(0,q.jsx)(`div`,{className:`overflow-y-auto p-4`,children:xe.length>0?(0,q.jsx)(`div`,{className:`grid grid-cols-3 gap-2 sm:grid-cols-4 md:grid-cols-5 lg:grid-cols-6`,children:xe.map(i=>{let a=!!(i.userShapeId||i.localShapeId);return(0,q.jsx)(_r,{shape:i,selected:vr(_,i)||!_&&(n===`custom`?vr(r,i):n===i.id),label:br(i,t.language),onSelect:()=>we(i),onDelete:a?()=>Oe(i):void 0,deleteLabel:e(`shape.deleteShape`,{name:br(i,t.language)}),size:`catalog`},`${i.userShapeId??i.localShapeId??i.id}-${i.path}`)})}):(0,q.jsx)(`div`,{className:`flex min-h-40 items-center justify-center rounded-lg border border-dashed border-slate-200 text-sm text-slate-400 dark:border-slate-700 dark:text-slate-500`,children:e(`shape.catalogEmpty`)})})]})]})}),ye&&(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5`,children:[(0,q.jsx)(`span`,{className:`text-xs font-medium text-slate-500 dark:text-slate-400`,children:e(`shape.background`)}),(0,q.jsx)(U,{content:e(`tooltips.shape.background`)})]}),(0,q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[hr.map(t=>{let n=a===t.value;return(0,q.jsx)(x,{type:`button`,onClick:()=>l(t.value),"aria-label":e(t.labelKey),variant:`outline`,className:w(`relative h-7 w-7 p-0`,n?`border-emerald-400 ring-2 ring-emerald-200 dark:ring-emerald-900/60`:`border-slate-200 hover:border-slate-300 dark:border-slate-600 dark:hover:border-slate-500`),style:{background:t.value===`transparent`?`linear-gradient(135deg, #f8fafc 25%, #e2e8f0 25%, #e2e8f0 50%, #f8fafc 50%, #f8fafc 75%, #e2e8f0 75%)`:void 0,backgroundSize:t.value===`transparent`?`8px 8px`:void 0,backgroundColor:t.color}},t.value)}),(0,q.jsx)(`label`,{className:`relative h-7 w-7 overflow-hidden rounded-md border border-slate-200 transition-all hover:border-slate-300 dark:border-slate-600 dar
6k:hover:border-slate-500`,children:(0,q.jsx)(`input`,{type:`color`,value:ue,onChange:e=>l(e.target.value),className:`absolute -inset-1 h-9 w-9 cursor-pointer border-0 bg-transparent p-0`,"aria-label":e(`shape.backgroundCustom`)})})]})]})]})}function Er({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,q.jsx)(Bt,{"data-slot":`separator`,decorative:n,orientation:t,className:w(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px`,e),...r})}function Dr(){let e=k(be(e=>({wordsLength:e.words.length,layoutWordsCount:e.layoutWords.length,isGenerating:e.isGenerating,isPreciseTextProcessing:e.isPreciseTextProcessing,isWordListProcessing:e.isWordListProcessing,preservedLayoutSignature:e.preservedLayoutSignature,preservedColorSignature:e.preservedColorSignature,requestGeneration:e.requestGeneration})));return{hasPendingGeneration:e.wordsLength>0&&(e.layoutWordsCount===0||e.preservedLayoutSignature===null||e.preservedColorSignature===null),canGenerate:e.wordsLength>0&&!e.isGenerating&&!e.isPreciseTextProcessing&&!e.isWordListProcessing,isGenerating:e.isGenerating,requestGeneration:e.requestGeneration}}var Or=(0,K.memo)(function({isOpen:e,onClose:t}){let{t:n}=F(),{hasPendingGeneration:r,canGenerate:i,requestGeneration:a}=Dr(),o=(0,K.useCallback)(()=>{a(),typeof window<`u`&&window.matchMedia(`(max-width: 1023px)`).matches&&t()},[t,a]);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:w(`fixed inset-0 z-40 bg-slate-950/35 backdrop-blur-sm transition-opacity duration-200 lg:hidden`,e?`pointer-events-auto opacity-100`:`pointer-events-none opacity-0`),onMouseDown:e=>{e.target===e.currentTarget&&t()},"aria-hidden":`true`}),(0,q.jsxs)(`aside`,{id:`app-sidebar`,className:w(`fixed inset-y-0 left-0 z-50 flex h-dvh w-[min(22rem,100dvw)] min-w-0 max-w-full flex-col overflow-hidden border-r border-slate-200 bg-sidebar shadow-2xl shadow-slate-950/20 transition-transform duration-200 dark:border-slate-700 dark:bg-sidebar-dark lg:static lg:z-auto lg:h-full lg:w-[340px] lg:translate-x-0 lg:shadow-none`,e?`translate-x-0`:`-translate-x-full`),children:[(0,q.jsxs)(`div`,{className:`z-10 flex min-h-14 shrink-0 items-center justify-between border-b border-slate-200 bg-sidebar/95 px-3 backdrop-blur-sm dark:border-slate-700 dark:bg-sidebar-dark/95 lg:hidden`,children:[(0,q.jsx)(`div`,{className:`text-sm font-semibold text-slate-700 dark:text-slate-200`,children:n(`app.settings`)}),(0,q.jsx)(x,{type:`button`,onClick:t,variant:`ghost`,size:`icon`,"aria-label":n(`app.closeSettings`),children:(0,q.jsx)(vt,{size:18})})]}),(0,q.jsxs)(`div`,{className:`min-h-0 w-full min-w-0 flex-1 space-y-4 overflow-y-auto overflow-x-hidden overscroll-contain p-3 sm:p-4 lg:space-y-5`,children:[(0,q.jsx)(Un,{}),(0,q.jsx)(Er,{}),(0,q.jsx)(zn,{}),(0,q.jsx)(qn,{}),(0,q.jsx)(Er,{}),(0,q.jsx)(nr,{}),(0,q.jsx)(Tr,{})]}),(0,q.jsx)(`div`,{className:`border-t border-slate-200 bg-sidebar/95 p-3 backdrop-blur-sm dark:border-slate-700 dark:bg-sidebar-dark/95`,children:(0,q.jsxs)(x,{type:`button`,onClick:o,disabled:!r||!i,className:w(`h-10 w-full transition-opacity`,r?`bg-emerald-600 text-white hover:bg-emerald-700`:`bg-slate-200/80 text-slate-400 hover:bg-slate-200 dark:bg-slate-800 dark:text-slate-500 dark:hover:bg-slate-800`),children:[(0,q.jsx)(_e,{size:16}),n(`canvas.generate`)]})})]})]})}),kr=`/chrome-web-store-badge.png`;function Ar(){return(0,q.jsx)(`span`,{className:`hidden text-slate-300 sm:inline dark:text-slate-600`,children:`|`})}function jr({locale:e,onNavigate:t,onPreloadLiveLanding:n}){let{t:r}=F(),i=tn();return(0,q.jsx)(`footer`,{className:`flex shrink-0 flex-col items-center justify-center gap-2 border-t border-slate-200 px-4 py-2 text-center text-xs text-slate-400 dark:border-slate-700 dark:text-slate-500 sm:flex-row sm:flex-wrap`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center justify-center gap-x-2 gap-y-1`,children:[(0,q.jsxs)(`span`,{className:`hidden items-center gap-1 sm:inline-flex`,children:[(0,q.jsx)(ht,{size:12,className:`text-red-400`}),(0,q.jsx)(`span`,{children:r(`footer.free`)})]}),(0,q.jsx)(Ar,{}),(0,q.jsx)(`span`,{className:`hidden truncate sm:inline`,children:r(`footer.description`)}),(0,q.jsx)(Ar,{}),(0,q.jsx)(`a`,{href:$t(e),onMouseEnter:n,onFocus:n,className:`shrink-0 text-slate-500 underline-offset-4 hover:text-slate-700 hover:underline dark:text-slate-400 dark:hover:text-slate-200`,children:r(`footer.live`)}),(0,q.jsx)(Ar,{}),(0,q.jsx)(`a`,{href:`/${e}/templates`,onClick:n=>{n.preventDefault(),t(`/${e}/templates`)},className:`shrink-0 text-slate-500 underline-offset-4 hover:text-slate-700 hover:underline dark:text-slate-400 dark:hover:text-slate-200`,children:r(`footer.templates`)}),(0,q.jsx)(Ar,{}),(0,q.jsx)(`a`,{href:`/${e}/word-map`,onClick:n=>{n.preventDefault(),t(`/${e}/word-map`)},className:`shrink-0 text-slate-500 underline-offset-4 hover:text-slate-700 hover:underline dark:text-slate-400 dark:hover:text-slate-200`,children:r(`footer.wordMap`)}
6),i&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Ar,{}),(0,q.jsx)(`a`,{href:Wt(`footer`),target:`_blank`,rel:`noopener noreferrer`,className:`shrink-0 transition-opacity hover:opacity-90`,"aria-label":r(`app.openChromeExtension`),children:(0,q.jsx)(`img`,{src:kr,width:`114`,height:`32`,alt:r(`app.chromeExtensionBadgeAlt`),className:`h-8 w-auto`})})]}),(0,q.jsx)(Ar,{}),(0,q.jsx)(`a`,{href:`/${e}/privacy`,onClick:n=>{n.preventDefault(),t(`/${e}/privacy`)},className:`shrink-0 text-slate-500 underline-offset-4 hover:text-slate-700 hover:underline dark:text-slate-400 dark:hover:text-slate-200`,children:r(`footer.privacy`)})]})})}function Mr(e){return e.categories.some(e=>[`decorative`,`handwritten`,`display`].includes(e))}function Nr(e){return[...e.styles].filter(e=>e.style===`normal`).sort((e,t)=>Number(t.weight)-Number(e.weight))[0]??g(e)}async function Pr(e,t,n){let r=[...n?[`Russo One`,`Bebas Neue`,`Bungee`,`Lobster`,`Pacifico`]:[`Pacifico`,`Lobster`,`Yeseva One`,`Russo One`,`Bungee`],`ZCOOL KuaiLe`,`Dela Gothic One`,`Droid Arabic Naskh`,...Ee(Te(e)).filter(Mr).map(e=>e.family)],i=[...new Set(r)].filter(e=>e!==t);for(let n of[...i,t]){let t=re(n);try{await _(t);let n=Nr(t);if(!je(t,e,n.id))continue;return await Dt({family:t.family,styleId:n.id},e),t}catch{}}throw Error(`Unable to load a compatible accent font`)}var Fr=(0,K.lazy)(()=>G(()=>j(()=>import(`./CanvasExportControls-CdoE5EgH.js`),__vite__mapDeps([4,1,2,5,6]))).then(e=>({default:e.CanvasExportControls}))),Ir=(0,K.lazy)(()=>G(()=>j(()=>import(`./CanvasShareControls-BjRY4y8Z.js`),__vite__mapDeps([7,1,2,5,6]))).then(e=>({default:e.CanvasShareControls}))),Lr=80,Rr=8,zr=16,Br=960,Vr=.9,Hr=.94,Ur={mainAccent:`shapewords.canvas-hint.main-accent.shown`,sparseFill:`shapewords.canvas-hint.sparse-fill.shown`},Wr=new Set([`tree`,`drop`,`flame`,`leaf`,`location`,`rocket`,`lightning`]),Gr=new Set([`circle`,`heart`,`cloud`,`moon`,`sun`,`flower`,`apple`,`infinity`]),Kr={diamond:-14,leaf:-24,lightning:-52,plane:-8},qr=`bg-white/85 text-slate-500 backdrop-blur-sm dark:bg-slate-800/85`,Jr=[`curve`,`font`,`fontStyleId`,`fontWeight`,`fontStyle`],Yr=new Map,Xr=null;function Zr(e){if(typeof window>`u`)return!1;try{return window.sessionStorage.getItem(Ur[e])===`1`}catch{return!1}}function Qr(e){try{window.sessionStorage.setItem(Ur[e],`1`)}catch{}}function $r(e,t){let n=Math.ceil(e*(Hr/Math.max(.15,t)-1));return Math.max(12,Math.min(80,n))}
6function ei(e){let t=e.text.trim().split(/\s+/u).filter(Boolean).length;return t>=2&&t<=4}function ti(e,t){let n=e.filter(e=>e.kind!==`emoji`&&!O(e.text)&&e.text.trim()).sort((e,t)=>{let n=t.value-e.value;if(n!==0)return n;let r=/\s/u.test(e.text.trim()),i=/\s/u.test(t.text.trim());return r===i?Array.from(t.text.trim()).length-Array.from(e.text.trim()).length:Number(i)-Number(r)})[0];if(!n)return null;let r=f(n),i=-1;for(let e=0;e<t.length;e++){let n=t[e];if(f(n)!==r)continue;let a=i>=0?t[i]:null;(!a||!a.pinned&&n.pinned||a.pinned===n.pinned&&n.size>a.size)&&(i=e)}return i>=0?{index:i,source:n,word:t[i]}:null}function ni(e){if(e===`bold`)return 700;let t=Number(e);return Number.isFinite(t)?t:400}function ri(e){return e?!!(e.word.pinned&&(ni(e.word.fontWeight)>=600||Mr(re(e.word.font)))):!1}function ii(e,t,n,r,i){let{word:a}=e,o=Nr(i),s=Array.from(a.text.replace(/\s+/gu,``)).length,c=/\s/u.test(a.text.trim()),l=r.width*r.scale,u=r.height*r.scale,d=(l/Math.max(1,u)<.78||Wr.has(n))&&(c||s>=8),p=Kr[n],m=!d&&p===void 0&&Gr.has(n)&&s>=5&&s<=28,h=d?-90:p??0,g=m?n===`moon`||n===`infinity`?44:32:0,_=Math.max(1,fi({...a,font:i.family,fontStyleId:o.id,fontWeight:o.weight,fontStyle:o.style,outlinePath:void 0,outlineBounds:void 0,outlineGlyphs:void 0,outlineBaseSize:void 0})),v=Math.max(1,a.size*(m?1.34:.96)),y=Math.abs(h)*Math.PI/180,b=Math.abs(Math.cos(y))*_+Math.abs(Math.sin(y))*v,x=Math.abs(Math.sin(y))*_+Math.abs(Math.cos(y))*v,S=l*(d?.42:.68),C=u*(d?.72:m?.38:.44),w=Math.max(1,Math.min(S/b,C/x)),T=s<=7?1.62:s<=15?1.42:1.24,E=t.reduce((e,t)=>f(t)===f(a)?e:Math.max(e,t.size),0),D=E>0?E*1.2/Math.max(1,a.size):1,O=Math.min(w,Math.max(T,D)),k=Math.max(a.size,Math.round(a.size*O));return{fontStyleId:o.id,patch:{size:k,rotate:h,curve:g,font:i.family,fontStyleId:o.id,fontWeight:String(Math.max(700,ni(o.weight))),fontStyle:o.style,pinId:a.pinId??oi(),pinned:!0,pinStatus:`locked`}}}var ai=`__auto__`;function oi(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`pin-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function si(e,t){return e===` `?t*.34:/[ilI1|.,:;!]/.test(e)?t*.32:/[mwMWÐШЩЮ]/.test(e)?t*.82:/[A-ZÐ-ЯÐ]/.test(e)?t*.66:t*.58}function ci(e){return`"${e.replace(/"/g,`\\"`)}", Arial, sans-serif`}function li(e){return`"${e.replace(/"/g,`\\"`)}", Arial, sans-serif`}function ui(e,t){let n=si(e,t.size);if(typeof document>`u`)return n;let r=`${t.fontStyle??`normal`} ${t.fontWeight??400} ${t.size}px ${li(t.font)}`,i=`${r}|${e}`,a=Yr.get(i);if(a!==void 0)return a;Xr??=document.createElement(`canvas`);let o=Xr.getContext(`2d`);if(!o)return n;o.font=r;let s=o.measureText(e).width,c=Number.isFinite(s)&&s>0?s:n;if(Yr.set(i,c),Yr.size>4e3){let e=Yr.keys().next().value;e!==void 0&&Yr.delete(e)}return c}function di({font:e}){return e.previewImage?(0,q.jsx)(`img`,{src:e.previewImage,alt:``,className:`h-6 w-full max-w-[11rem] rounded-sm object-contain object-left`,loading:`lazy`}):(0,q.jsx)(`span`,{className:`block truncate text-sm leading-6 text-slate-700 dark:text-slate-200`,style:{fontFamily:e.family},children:e.label})}function Q(e){return e.kind===`emoji`||O(e.text)}function fi(e){if(Q(e))return e.size;let t=mi(e);return t?Math.max(e.size,t.width):Math.max(e.size,hi(e))}function pi(e){return!e.outlineBaseSize||!Number.isFinite(e.outlineBaseSize)||e.outlineBaseSize<=0?1:e.size/e.outlineBaseSize}function mi(e){if(!e.outlinePath||!e.outlineBounds)return null;let t=pi(e);return{x:e.outlineBounds.x*t,y:e.outlineBounds.y*t,width:e.outlineBounds.width*t,height:e.outlineBounds.height*t}}function hi(e){return Array.from(e.text).reduce((t,n)=>t+ui(n,e),0)}function gi(e,t,n,r,i){let a=i*Math.PI/180,o=Math.cos(a),s=Math.sin(a),c=n/2,l=r/2,u=[{x:-c,y:-l},{x:c,y:-l},{x:c,y:l},{x:-c,y:l}].map(n=>({x:e+n.x*o-n.y*s,y:t+n.x*s+n.y*o})),d=Math.min(...u.map(e=>e.x)),f=Math.max(...u.map(e=>e.x)),p=Math.min(...u.map(e=>e.y)),m=Math.max(...u.map(e=>e.y));return{x:d,y:p,width:f-d,height:m-p}}function _i(e){if(Q(e))return null;let t=Array.from(e.text),n=Math.max(-100,Math.min(100,e.curve??0));if(t.length===0||n===0)return null;let r=t.map(t=>ui(t,e)),i=hi(e),a=fi(e),o=Math.max(1,a/2),s=-(n/100)*Math.min(a*.38,e.size*5),c=-i/2,l=t.map((e,t)=>{let n=r[t],i=c+n/2;c+=n;let a=i/o,l=s*(1-a*a),u=s*(-2*i/(o*o));return{char:e,x:i,y:l,rotate:Math.atan(u)*180/Math.PI}}),u=e.size*.96,d=l.map((e,t)=>({glyph:e,bounds:gi(e.x,e.y,Math.max(1,r[t]),u,e.rotate)})).filter(({glyph:e})=>e.char.trim().length>0),f=d.length>0?d.map(e=>e.bounds):l.map((e,t)=>gi(e.x,e.y,Math.max(1,r[t]),u,e.rotate)),p=Math.min(...f.map(e=>
6e.x)),m=Math.max(...f.map(e=>e.x+e.width)),h=Math.min(...f.map(e=>e.y)),g=Math.max(...f.map(e=>e.y+e.height)),_=(p+m)/2,v=(h+g)/2;return{glyphs:l.map(e=>({...e,x:e.x-_,y:e.y-v})),bounds:{x:p-_,y:h-v,width:m-p,height:g-h}}}function vi(e){let t=mi(e);if(t)return t;if(Q(e))return{x:-e.size/2,y:-e.size/2,width:e.size,height:e.size};let n=fi(e),r=_i(e);if(r)return r.bounds;let i=e.size*.46;return{x:-n/2,y:-i,width:n,height:e.size*.92}}function yi(e,t){let n=t??vi(e),r=Math.max(14,e.size*.26),i=Math.max(8,e.size*.16);return{x:n.x-r,y:n.y-i,width:n.width+r*2,height:n.height+i*2,radius:Math.max(4,Math.min(10,e.size*.1))}}function bi({word:e,measuredBounds:t}){let n=yi(e,t);return(0,q.jsx)(`g`,{"data-export-ignore":`true`,children:(0,q.jsx)(`rect`,{x:n.x,y:n.y,width:n.width,height:n.height,rx:Math.min(n.radius,5),fill:`transparent`,stroke:`#38bdf8`,strokeOpacity:.96,strokeWidth:Math.max(1.6,e.size*.018),vectorEffect:`non-scaling-stroke`})})}function xi({word:e,measuredBounds:t}){let n=yi(e,t);return(0,q.jsx)(`g`,{"data-export-ignore":`true`,"data-pinned-frame":`true`,pointerEvents:`none`,children:(0,q.jsx)(`rect`,{x:n.x,y:n.y,width:n.width,height:n.height,rx:Math.min(n.radius,5),fill:`transparent`,stroke:`#123d2b`,strokeOpacity:.38,strokeWidth:Math.max(1.1,e.size*.014),strokeDasharray:`3 3`,vectorEffect:`non-scaling-stroke`})})}function Si({word:e,measuredBounds:t}){let n=yi(e,t),r=Wi(e.size*.12,6,11),i=n.x+n.width-r*.35,a=n.y+r*.25,o=r*1.1,s=e.protectPinnedArea?st:Be;return(0,q.jsxs)(`g`,{"data-export-ignore":`true`,"data-pin-mark":`true`,pointerEvents:`none`,transform:`translate(${i}, ${a})`,children:[(0,q.jsx)(`circle`,{r,fill:`#123d2b`,stroke:`white`,strokeWidth:1.4,vectorEffect:`non-scaling-stroke`}),(0,q.jsx)(s,{x:-o/2,y:-o/2,width:o,height:o,color:`white`,strokeWidth:2.35,"aria-hidden":`true`})]})}function Ci({word:e,measuredBounds:t}){return(0,q.jsxs)(`g`,{"data-export-ignore":`true`,"data-pin-overlay":`true`,pointerEvents:`none`,transform:`translate(${e.x}, ${e.y}) rotate(${Q(e)?0:e.rotate})`,children:[(0,q.jsx)(xi,{word:e,measuredBounds:t}),(0,q.jsx)(Si,{word:e,measuredBounds:t})]})}function wi({word:e,measuredBounds:t,onBeginTransform:n}){let r=yi(e,t),i=Q(e),a=Wi(e.size*.13,7,14),o=a+7,s=r.y+r.height,c=r.x,l=r.x+r.width,u=r.y,d=r.x+r.width/2,f=r.y+r.height/2,p=Math.max(20,r.width-Math.min(34,r.width*.16)),m=-(Wi(e.curve??0,-100,100)/100)*Math.min(p*.34,e.size*1.8),h=c-a*1.55,g=f,_=d,v=u-a*2.2,y=[{x:c,y:u,cursor:`nwse-resize`},{x:l,y:u,cursor:`nesw-resize`},{x:c,y:s,cursor:`nesw-resize`},{x:l,y:s,cursor:`nwse-resize`}],b=a*1.3,x=`fill-white stroke-emerald-400 dark:fill-slate-950 dark:stroke-emerald-300`,S=`text-emerald-500 dark:text-emerald-300`;return(0,q.jsxs)(`g`,{"data-export-ignore":`true`,children:[!i&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`path`,{d:`M ${-p/2} 0 Q 0 ${m} ${p/2} 0`,fill:`none`,stroke:`#38bdf8`,strokeOpacity:.76,strokeWidth:1.5,strokeDasharray:`4 3`,vectorEffect:`non-scaling-stroke`,pointerEvents:`none`}),(0,q.jsx)(`line`,{x1:c,y1:f,x2:h,y2:g,stroke:`#38bdf8`,strokeOpacity:.5,strokeWidth:1,vectorEffect:`non-scaling-stroke`,pointerEvents:`none`}),(0,q.jsxs)(`g`,{role:`button`,"aria-label":`Curve`,style:{cursor:`ns-resize`},onPointerDown:e=>n(e,`curve`),children:[(0,q.jsx)(`circle`,{cx:h,cy:g,r:o,fill:`transparent`}
6),(0,q.jsx)(`circle`,{cx:h,cy:g,r:a,className:x,strokeWidth:1.2}),(0,q.jsx)(Xe,{x:h-b/2,y:g-b/2,width:b,height:b,className:S,strokeWidth:2.2,pointerEvents:`none`,"aria-hidden":`true`})]})]}),!i&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`line`,{x1:d,y1:u,x2:_,y2:v,stroke:`#38bdf8`,strokeOpacity:.86,strokeWidth:1.3,vectorEffect:`non-scaling-stroke`,pointerEvents:`none`}),(0,q.jsxs)(`g`,{role:`button`,"aria-label":`Rotate`,style:{cursor:`grab`},onPointerDown:e=>n(e,`rotate`),children:[(0,q.jsx)(`circle`,{cx:_,cy:v,r:o,fill:`transparent`}),(0,q.jsx)(`circle`,{cx:_,cy:v,r:a,className:x,strokeWidth:1.2}),(0,q.jsx)(ot,{x:_-b/2,y:v-b/2,width:b,height:b,className:S,strokeWidth:2.2,pointerEvents:`none`,"aria-hidden":`true`})]})]}),y.map((e,t)=>(0,q.jsxs)(`g`,{role:`button`,"aria-label":`Scale`,style:{cursor:e.cursor},onPointerDown:e=>n(e,`scale`),children:[(0,q.jsx)(`circle`,{cx:e.x,cy:e.y,r:o,fill:`transparent`}),(0,q.jsx)(`circle`,{cx:e.x,cy:e.y,r:a,className:x,strokeWidth:1.45})]},`${e.x}:${e.y}:${t}`))]})}function Ti({word:e,fillOverride:t,textRef:n}){let r=_i(e)?.glyphs??[];return(0,q.jsx)(`g`,{ref:n,style:{fontSize:`${e.size}px`,fontFamily:ci(e.font),fontWeight:e.fontWeight??400,fontStyle:e.fontStyle??`normal`,fill:t??e.fill},children:r.map((e,t)=>e.char.trim().length>0&&(0,q.jsx)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,transform:`translate(${e.x}, ${e.y}) rotate(${e.rotate})`,children:e.char},`${e.char}-${t}`))})}function Ei({word:e,fillOverride:t,textRef:n}){if(!e.outlinePath)return null;let r=pi(e),i=Math.abs(r-1)>1e-4?`scale(${r})`:void 0;return(0,q.jsx)(`path`,{ref:n,d:e.outlinePath,transform:i,fill:t??e.fill,"data-word-outline":`true`})}function Di({word:e,useMiddleBaseline:t,fillOverride:n,selected:r=!1,textRef:i}){return(e.curve??0)===0?(0,q.jsx)(`text`,{ref:i,textAnchor:`middle`,dominantBaseline:t?`middle`:void 0,style:{fontSize:`${e.size}px`,fontFamily:ci(e.font),fontWeight:e.fontWeight??400,fontStyle:e.fontStyle??`normal`,fill:n??e.fill},children:e.text}):(0,q.jsx)(Ti,{word:e,fillOverride:n,selected:r,textRef:i})}function Oi({word:e,useMiddleBaseline:t,fillOverride:n,selected:r=!1,textRef:i}){let a=Q(e)?se(e.text):null;return a?(0,q.jsx)(`image`,{ref:i,href:a,x:-e.size/2,y:-e.size/2,width:e.size,height:e.size,preserveAspectRatio:`xMidYMid meet`,"data-emoji-asset":`twemoji`,"data-emoji":e.text}):e.outlinePath?(0,q.jsx)(Ei,{word:e,fillOverride:n,selected:r,textRef:i}):(0,q.jsx)(Di,{word:e,useMiddleBaseline:t,fillOverride:n,selected:r,textRef:i})}function ki(e){let t=vi(e),n=Wi(e.size*.1,4,12),r=Wi(e.size*.06,2,8);return{x:t.x-n,y:t.y-r,width:t.width+n*2,height:t.height+r*2,radius:Wi(e.size*.04,2,5)}}function Ai({word:e,hasRenderableShape:t}){let n=ki(e);return(0,q.jsxs)(`g`,{"data-export-ignore":`true`,"data-word-hover-overlay":`true`,pointerEvents:`none`,"aria-hidden":`true`,transform:`translate(${e.x}, ${e.y}) rotate(${Q(e)?0:e.rotate})`,className:`shapewords-word-hover-overlay`,children:[(0,q.jsx)(`rect`,{"data-word-hover-plate":`true`,x:n.x,y:n.y,width:n.width,height:n.height,rx:n.radius,className:`fill-white stroke-slate-900/15`,fillOpacity:.82,strokeWidth:.8}),(0,q.jsx)(Oi,{word:e,useMiddleBaseline:Ji(e,t)})]})}function ji({word:e,useMiddleBaseline:t}){let n=Wi(e.size*.16,8,18),r={fill:`none`,stroke:`transparent`,strokeWidth:n,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`,pointerEvents:`stroke`};if(Q(e)&&se(e.text)){let t=n/2;return(0,q.jsx)(`rect`,{x:-e.size/2-t,y:-e.size/2-t,width:e.size+t*2,height:e.size+t*2,fill:`transparent`,pointerEvents:`all`})}if(e.outlinePath){let t=pi(e),n=Math.abs(t-1)>1e-4?`scale(${t})`:void 0;return(0,q.jsx)(`path`,{d:e.outlinePath,transform:n,...r})}if((e.curve??0)!==0){let t=_i(e);return(0,q.jsx)(`g`,{style:{fontSize:`${e.size}px`,fontFamily:ci(e.font),fontWeight:e.fontWeight??400,fontStyle:e.fontStyle??`normal`},children:(t?.glyphs??[]).map((e,t)=>e.char.trim().length>0&&(0,q.jsx)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,transform:`translate(${e.x}, ${e.y}) rotate(${e.rotate})`,...r,children:e.char},`${e.char}-${t}`))})}return(0,q.jsx)(`text`,{textAnchor:`middle`,dominantBaseline:t?`middle`:void 0,style:{fontSize:`${e.size}px`,fontFamily:ci(e.font),fontWeight:e.fontWeight??400,fontStyle:e.fontStyle??`normal`},...r,children:e.text})}function Mi(e,t){return[e.text,e.kind??`word`,t].join(`|`)}var Ni=(0,K.memo)(function({word:e,index:t,interactionsEnabled:n,hasRenderableShape:r,animationDelayMs:i,selectWordLabel:a,onBeginWordDrag:o,onSelectWord:s,onHoverChange:c}){let l=Ji(e,r),u=n=>{let r=n.getBoundingClientRect();
6c({index:t,text:e.text,wordKind:e.kind,anchorX:r.left+r.width/2,anchorTop:r.top,anchorBottom:r.bottom})};return(0,q.jsxs)(`g`,{transform:`translate(${e.x}, ${e.y}) rotate(${Q(e)?0:e.rotate})`,className:`shapewords-cloud-word`,"data-word-cloud-word":`true`,"data-word-appear":`true`,"data-word-text":e.text,onPointerDown:n?n=>o(n,t,e):void 0,tabIndex:n?0:void 0,role:n?`button`:void 0,"aria-label":n?a:void 0,style:{"--word-delay":`${i}ms`,cursor:n?`pointer`:`default`,transition:`opacity 0.15s`,outline:`none`},onPointerEnter:e=>{!n||e.pointerType===`touch`||u(e.currentTarget)},onPointerLeave:e=>{!n||e.pointerType===`touch`||c(null)},onFocus:n?e=>u(e.currentTarget):void 0,onBlur:n?()=>c(null):void 0,onKeyDown:r=>{n&&(r.key!==`Enter`&&r.key!==` `||(r.preventDefault(),r.stopPropagation(),s(t,e)))},children:[(0,q.jsx)(`g`,{"data-export-ignore":`true`,"aria-hidden":`true`,children:(0,q.jsx)(ji,{word:e,useMiddleBaseline:l})}),(0,q.jsx)(Oi,{word:e,useMiddleBaseline:l})]})});function Pi(e){return e.map(e=>({...e}))}function Fi(e){return{words:Pi(e.words),offset:{...e.offset},selectedWordIndex:e.selectedWordIndex}}function Ii(e,t,n){return{words:Pi(e),offset:{...t},selectedWordIndex:n}}function Li(e,t){return Object.keys(t).some(n=>e[n]!==t[n])}function Ri(e,t){return Jr.some(n=>t[n]!==void 0&&e[n]!==t[n])}function zi(e,t,n){let r=e[t];if(!r)return null;let i=Ri(r,n),a=i&&!!(r.outlinePath||r.outlineGlyphs||r.outlineBounds||r.outlineBaseSize);if(!Li(r,n)&&!a)return null;let o=e.slice();return o[t]={...r,...n,...i?{outlinePath:void 0,outlineGlyphs:void 0,outlineBounds:void 0,outlineBaseSize:void 0}:{}},o}function Bi(e,t){return e.text===t.text&&e.value===t.value&&(e.kind??`word`)===(t.kind??`word`)&&e.size===t.size&&e.x===t.x&&e.y===t.y&&e.rotate===t.rotate&&(e.curve??0)===(t.curve??0)&&e.font===t.font&&(e.fontStyleId??`regular`)===(t.fontStyleId??`regular`)&&(e.fontWeight??`400`)===(t.fontWeight??`400`)&&(e.fontStyle??`normal`)===(t.fontStyle??`normal`)&&(e.baseline??`alphabetic`)===(t.baseline??`alphabetic`)&&(e.outlinePath??``)===(t.outlinePath??``)&&(e.outlineBaseSize??0)===(t.outlineBaseSize??0)&&Math.abs((e.outlineBounds?.x??0)-(t.outlineBounds?.x??0))<.01&&Math.abs((e.outlineBounds?.y??0)-(t.outlineBounds?.y??0))<.01&&Math.abs((e.outlineBounds?.width??0)-(t.outlineBounds?.width??0))<.01&&Math.abs((e.outlineBounds?.height??0)-(t.outlineBounds?.height??0))<.01&&(e.pinId??``)===(t.pinId??``)&&(e.pinned??!1)===(t.pinned??!1)&&(e.pinStatus??`locked`)===(t.pinStatus??`locked`)&&(e.protectPinnedArea??!1)===(t.protectPinnedArea??!1)&&e.fill===t.fill}function Vi(e,t,n=!0){return n&&e.selectedWordIndex!==t.selectedWordIndex||e.offset.x!==t.offset.x||e.offset.y!==t.offset.y||e.words.length!==t.words.length?!1:e.words.every((e,n)=>Bi(e,t.words[n]))}function Hi(e,t){return Math.abs(e.x-t.x)<.5&&Math.abs(e.y-t.y)<.5&&Math.abs(e.width-t.width)<.5&&Math.abs(e.height-t.height)<.5}function Ui(e,t,n){return[t,e.text,e.kind??`word`,e.size,e.font,e.fontStyleId??`regular`,e.fontWeight??`400`,e.fontStyle??`normal`,e.curve??0,e.outlineBaseSize??0,e.outlinePath??``,n?`middle`:`baseline`].join(`|`)}function Wi(e,t,n){return t>n?(t+n)/2:Math.max(t,Math.min(n,e))}function Gi(e){let t=e%360;return t>180&&(t-=360),t<-180&&(t+=360),t}function Ki(e,t){return Math.atan2(e.y-t.y,e.x-t.x)*180/Math.PI}function qi(e,t,n){let r=e.x-t.x,i=e.y-t.y,a=-n*Math.PI/180,o=Math.cos(a),s=Math.sin(a);return{x:r*o-i*s,y:r*s+i*o}}function Ji(e,t){return t||e.baseline===`middle`}function Yi(e){return e.x!==void 0||e.y!==void 0||e.size!==void 0||e.rotate!==void 0||e.curve!==void 0||e.font!==void 0||e.fontStyleId!==void 0||e.fontWeight!==void 0||e.fontStyle!==void 0||e.baseline!==void 0||e.protectPinnedArea!==void 0}function Xi(e,t){return Math.abs(e.x-t.x)<.5&&Math.abs(e.y-t.y)<.5}function Zi(e){return e instanceof Element?!!e.closest([`input`,`textarea`,`select`,`button`,`[contenteditable="true"]`,`[role="textbox"]`,`[role="combobox"]`,`[data-canvas-keyboard-ignore="true"]`].join(`,`)):!1}function Qi(e,t,n,r,i=1){if(!r)return e;let a=r.offsetX+r.minX*r.scale,o=r.offsetY+r.minY*r.scale,s=a+r.width*r.scale,c=o+r.height*r.scale,l=Number.isFinite(i)&&i>0?i:1,u=t/l,d=n/l,f=(t-u)/2,p=(n-d)/2,m=f+u,h=p+d,g=Rr/l,_=(e,t,n,r,i)=>{let a=n-t,o=i-r;return a<=Math.max(0,o-g*2)?Wi(e,r+g-t,i-g-n):Wi(e,i-g-n,r+g-t)};return{x:_(e.x,a,s,f,m),y:_(e.y,o,c,p,h)}}function $i({onOpenSidebar:e,initialCloudOffset:t,presentationMode:n=!1}){let{t:r,i18n:i}=F(),{layoutWords:a,layoutProgress:o,layoutQuality:s,isGenerating:c,isAiProcessing:l,canvasWidth:u,canvasHeight:d,setCanvasSize:p,shapeType:m,customShapeDefinition:h,shapeBackgroun
6dColor:_,setLayoutWords:v,words:y,addWordItems:b,setIsAiProcessing:S,setAiError:C,generationRequestId:T,setWordFont:E,setWordRepeat:O,markPinnedLayoutChanged:A}=k(be(e=>({layoutWords:e.layoutWords,layoutProgress:e.layoutProgress,layoutQuality:e.layoutQuality,isGenerating:e.isGenerating,isAiProcessing:e.isAiProcessing,canvasWidth:e.canvasWidth,canvasHeight:e.canvasHeight,setCanvasSize:e.setCanvasSize,shapeType:e.shapeType,customShapeDefinition:e.customShapeDefinition,shapeBackgroundColor:e.shapeBackgroundColor,setLayoutWords:e.setLayoutWords,words:e.words,addWordItems:e.addWordItems,setIsAiProcessing:e.setIsAiProcessing,setAiError:e.setAiError,generationRequestId:e.generationRequestId,setWordFont:e.setWordFont,setWordRepeat:e.setWordRepeat,markPinnedLayoutChanged:e.markPinnedLayoutChanged}))),{hasPendingGeneration:M,canGenerate:te,requestGeneration:P}=Dr();Ne();let I=(0,K.useMemo)(()=>ee(m,h),[h,m]),L=(0,K.useMemo)(()=>wt(m,u,d,h),[d,u,h,m]),R=!!(I&&L),z=R,ie=(0,K.useRef)(null),{active:ae,cssFallback:oe,toggle:se}=D(ie),ce=(0,K.useRef)(null),le=(0,K.useRef)(null),ue=(0,K.useRef)({x:0,y:0}),[pe,me]=(0,K.useState)(1),[B,ge]=(0,K.useState)(()=>t??{x:0,y:0}),[V,ve]=(0,K.useState)(null),[ye,xe]=(0,K.useState)(null),[H,Se]=(0,K.useState)(null),[we,Oe]=(0,K.useState)([]),[ke,Ae]=(0,K.useState)([]),[U,Me]=(0,K.useState)(!1),[Pe,Fe]=(0,K.useState)(!1),[Ie,Le]=(0,K.useState)(()=>({mainAccent:!Zr(`mainAccent`),sparseFill:!Zr(`sparseFill`)})),[Re,ze]=(0,K.useState)(null),[Ue,We]=(0,K.useState)(!1),[qe,Je]=(0,K.useState)(null),Ye=(0,K.useRef)(0),[Ze,nt]=(0,K.useState)(null),[at,ot]=(0,K.useState)(()=>a.length>0?1:0),ct=(0,K.useRef)(!1),lt=(0,K.useRef)(null),ut=(0,K.useRef)(!1),dt=(0,K.useRef)(null),pt=(0,K.useRef)({hadWords:a.length>0,isGenerating:c}),W=V===null?null:a[V]??null,mt=H&&V!==H.index?a[H.index]??null:null,ht=!!(mt&&H&&mt.text===H.text&&mt.kind===H.wordKind),_t=s?.perceptualCoverageRatio??0,yt=y.length>0&&y.every(e=>e.repeat===!1),Ct=(0,K.useMemo)(()=>ti(y,a),[a,y]),Tt=!!(!n&&!c&&!M&&!Pe&&V===null&&y.length>=3&&a.length>=3&&R&&Ct&&!ri(Ct)),Et=!!(!n&&!c&&!M&&!Pe&&V===null&&a.length>0&&R&&yt&&_t>0&&_t<Vr),Ot=Re===`mainAccent`&&Tt,kt=Re===`sparseFill`&&Et,At=Ot||kt,It=c&&o!==null,Lt=a.length>0||c,Rt=o?.phase===`assigning-fonts`||o?.phase===`loading-fonts`||o?.phase===`preparing`||o?.phase===`preparing-outline`,zt=o?.phase===`assigning-fonts`?r(`canvas.assigningFontsProgress`):o?.phase===`loading-fonts`?r(`canvas.loadingFontsProgress`):o?.phase===`preparing-outline`?r(`canvas.preparingOutlineProgress`):r(Rt?`canvas.prepareProgress`:`canvas.fillProgress`),Bt=o?.phase===`assigning-fonts`?r(`canvas.progressAssigningFonts`):o?.phase===`loading-fonts`?r(`canvas.progressLoadingFonts`):o?.phase===`preparing-outline`?r(`canvas.progressPreparingOutline`):r(`canvas.progressPreparing`),Vt=Math.max(0,Math.min(100,o?.percent??0)),Ht=o?.target??0,Ut=c?Math.max(a.length,o?.placed??0):a.length,Wt=L?L.offsetX+B.x:0,Gt=L?L.offsetY+B.y:0,Kt=we.length>0,qt=ke.length>0,Jt=(0,K.useRef)(null),Yt=(0,K.useRef)(null),[Xt,Zt]=(0,K.useState)(null),Qt=W&&V!==null?Ui(W,V,Ji(W,R)):``,$t=ye?.key===Qt?ye.bounds:null,en=(0,K.useMemo)(()=>new Map(y.map(e=>[`${e.kind??`word`}:${e.text}`,e])),[y]),tn=(0,K.useMemo)(()=>W?en.get(`${W.kind??`word`}:${W.text}`)??null:null,[W,en]),nn=W?Te(W.text):null,rn=W?re(W.font):null,an=rn?g(rn,W?.fontStyleId):null,on=(0,K.useMemo)(()=>{if(!W||!rn||!nn)return[];let e=Ee(nn).filter(e=>je(e,W.text));return e.some(e=>e.family===rn.family)?e:[rn,...e]},[W,rn,nn]),sn=tn?.fontFamily??ai,[cn,ln]=(0,K.useState)(null),un=(0,K.useCallback)(async e=>{let t=k.getState().layoutWords[e];if(!t||Q(t))return;let n=re(t.font),r=g(n,t.fontStyleId);await Dt({family:n.family,styleId:r.id},t.text);let i=k.getState().layoutWords[e];if(!i||Q(i))return;let a=re(i.font),o=g(a,i.fontStyleId),s=i.fontWeight??o.weight,c=i.fontStyle??o.style,l=de(o.assets??a.fontAssets,i.text,s,c),{buildWordOutlineGeometry:u}=await G(()=>j(()=>import(`./outlineWordGeometry-gObrdTOL.js`),__vite__mapDeps([8,1,2]))),d=await u({family:a.family,assets:l,text:i.text,weight:s,style:c,size:i.size,curve:i.curve??0});if(!d)return;let f=k.getState().layoutWords,p=f[e];if(!p||p.text!==i.text||p.font!==i.font)return;let m=zi(f,e,{outlinePath:d.path,outlineGlyphs:d.glyphs,outlineBounds:d.bounds,outlineBaseSize:d.baseSize});m&&v(m)},[v]),dn=(0,K.useCallback)(e=>{if(!(!e||!Qt))try{let t=e.getBBox(),n={x:t.x,y:t.y,width:t.width,height:t.height};if(!Number.isFinite(n.x)||!Number.isFinite(n.y)||!Number.isFinite(n.width)||!Number.isFinite(n.height)||n.width<=0||n.height<=0)return;xe(e=>e?.key===Qt&&Hi(e.bounds,n)?e:{key:Qt,bounds:n})}catch{}},[Qt]);(0,K.useLayoutEffect)(()=>
6{if(!W||V===null)return;let e=0,t=0,n=()=>{let e=ie.current,t=Jt.current;if(!e||!t){Zt(null);return}let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();if(n.width<=0||n.height<=0||r.width<=0||r.height<=0){Zt(null);return}let i=n.width<520?8:12,a=Math.min(460,Math.max(240,n.width-i*2)),o=Math.max(160,n.height-i*2),s=n.width<520,c=W.pinStatus===`conflict`||cn?s?106:118:s?58:52,l=Yt.current?.getBoundingClientRect().height??c,u=Math.min(o,l),d=s?18:22,f=r.left-n.left+r.width/2,p=r.top-n.top-u-d,m=r.bottom-n.top+d,h=p>=i,g=m+u<=n.height-i,_=h||!g?`top`:`bottom`,v=_===`top`?p:m,y=Wi(f-a/2,i,Math.max(i,n.width-a-i)),b={left:y,top:Wi(v,i,Math.max(i,n.height-u-i)),width:a,maxHeight:o,arrowLeft:Wi(f-y,18,a-18),placement:_};Zt(e=>e&&e.placement===b.placement&&Math.abs(e.left-b.left)<.5&&Math.abs(e.top-b.top)<.5&&Math.abs(e.width-b.width)<.5&&Math.abs(e.maxHeight-b.maxHeight)<.5&&Math.abs(e.arrowLeft-b.arrowLeft)<.5?e:b)},r=()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(t),e=window.requestAnimationFrame(()=>{n(),t=window.requestAnimationFrame(n)})};return r(),window.addEventListener(`resize`,r),()=>{window.cancelAnimationFrame(e),window.cancelAnimationFrame(t),window.removeEventListener(`resize`,r)}},[d,u,B.x,B.y,pe,Qt,$t?.height,$t?.width,W,cn,V]);let fn=(0,K.useCallback)((e,t)=>{let n=ce.current;if(!n)return null;let r=n.getBoundingClientRect(),i=n.viewBox.baseVal;return r.width<=0||r.height<=0||i.width<=0||i.height<=0?null:{x:i.x+(e-r.left)/r.width*i.width,y:i.y+(t-r.top)/r.height*i.height}},[]),J=(0,K.useCallback)((e=V)=>Ii(k.getState().layoutWords,ue.current,e),[V]),Y=(0,K.useCallback)(e=>{let t=Fi(e);v(t.words),ge(t.offset),Se(null),ve(t.selectedWordIndex!==null&&t.words[t.selectedWordIndex]?t.selectedWordIndex:null)},[v]),X=(0,K.useCallback)((e=J())=>{let t=e;Oe(e=>{let n=e[e.length-1];return n&&Vi(n,t)?e:[...e.slice(-(Lr-1)),t]}),Ae([])},[J]),pn=(0,K.useCallback)(()=>{let e=we[we.length-1];if(!e)return;let t=J();Oe(we.slice(0,-1)),Ae(e=>[t,...e].slice(0,Lr)),Y(e),ct.current=!1},[we,J,Y]),mn=(0,K.useCallback)(()=>{let e=ke[0];if(!e)return;let t=J();Ae(ke.slice(1)),Oe(e=>[...e.slice(-(Lr-1)),t]),Y(e),ct.current=!1},[ke,J,Y]),hn=(0,K.useCallback)((e,t)=>{let n=k.getState().layoutWords,r=n[e];if(!r)return;r.pinned&&Yi(t)&&(ut.current=!0);let i=zi(n,e,t);i&&v(i)},[v]),gn=(0,K.useCallback)(e=>{let t=k.getState().layoutWords,n=t[e];if(!n||n.pinned&&n.pinId)return!1;let r=zi(t,e,{pinId:n.pinId??oi(),pinned:!0,pinStatus:n.pinStatus??`locked`});return r?(v(r),ut.current=!0,!0):!1},[v]),Z=(0,K.useCallback)(()=>ut.current?(ut.current=!1,A(),!0):!1,[A]),vn=(0,K.useCallback)((e,t)=>{ct.current||=(X(),!0),gn(e),hn(e,t)},[gn,X,hn]),yn=(0,K.useCallback)(()=>{let e=V;if(ct.current=!1,Z(),e===null)return;let t=k.getState().layoutWords[e];!t||Q(t)||t.outlinePath||un(e).catch(e=>ln(e instanceof Error?e.message:String(e)))},[Z,un,V]),bn=(0,K.useCallback)((e,t)=>{if(V===null)return;let n=k.getState().layoutWords[V];if(!n||Q(n))return;let r=en.get(`${n.kind??`word`}:${n.text}`);if(!r)return;let i=e===ai?null:e,a=De({...r,fontFamily:i??void 0,fontStyleId:i?t??r.fontStyleId??n.fontStyleId:void 0},k.getState().fontFamily,k.getState().fontStyleId,k.getState().scriptFontOverrides,k.getState().fontAssignmentMode),o={font:a.fontFamily,fontStyleId:a.fontStyleId,fontWeight:a.fontWeight,fontStyle:a.fontStyle};ln(null),X(),gn(V),E(n.text,n.kind,i,i?a.fontStyleId:null),hn(V,o),ct.current=!1,Z(),un(V).catch(e=>ln(e instanceof Error?e.message:String(e)))},[Z,gn,X,un,V,E,en,hn]),xn=(0,K.useCallback)(()=>{if(V===null)return;let e=k.getState().layoutWords[V];if(!e||Q(e))return;let t=e.curve??0;vn(V,{curve:Math.abs(t)<8?40:t>0?-40:0}),yn()},[yn,V,vn]);(0,K.useEffect)(()=>{let e=ie.current;if(!e)return;let t=new ResizeObserver(e=>{let{width:t,height:n}=e[0].contentRect;t>100&&n>100&&p(Math.round(t),Math.round(n))});return t.observe(e),()=>t.disconnect()},[p]),(0,K.useEffect)(()=>{ue.current=B},[B]),(0,K.useEffect)(()=>{let e=window.setTimeout(()=>{ge(e=>{let t=Qi(e,u,d,L,pe);return Xi(e,t)?e:t})},0);return()=>window.clearTimeout(e)},[d,u,pe,L]),(0,K.useEffect)(()=>
6{if(!c)return;le.current=null,ct.current=!1;let e=window.setTimeout(()=>{Oe([]),Ae([])},0);return()=>window.clearTimeout(e)},[c]),(0,K.useEffect)(()=>{let e=a.length>0,t=pt.current;e&&(!t.hadWords||t.isGenerating&&!c)&&ot(e=>e+1),pt.current={hadWords:e,isGenerating:c}},[c,a.length]),(0,K.useEffect)(()=>{nt(null)},[T]),(0,K.useEffect)(()=>{if(Re){(Re===`mainAccent`?Tt:Et)||(Ye.current++,ze(null));return}let e=Ie.mainAccent&&Tt?`mainAccent`:Ie.sparseFill&&Et?`sparseFill`:null;e&&(Qr(e),Le(t=>({...t,[e]:!1})),ze(e))},[Re,Ie.mainAccent,Ie.sparseFill,Tt,Et]);let Sn=(0,K.useCallback)(()=>{Ye.current++,ze(null)},[]);(0,K.useEffect)(()=>()=>{Ye.current++},[]);let Cn=(0,K.useCallback)(e=>{e.preventDefault(),me(t=>Math.max(.3,Math.min(3,t-e.deltaY*.001)))},[]),wn=()=>{P()},Tn=(0,K.useCallback)(async()=>{if(Ue)return;let e=k.getState(),t=ti(e.words,e.layoutWords),n=wt(e.shapeType,e.canvasWidth,e.canvasHeight,e.customShapeDefinition);if(!t||!n)return;let i=++Ye.current;We(!0),Je(null);try{let r=Wr.has(e.shapeType)||n.width/Math.max(1,n.height)<.78||Array.from(t.word.text).length>28,a=await Pr(t.word.text,t.word.font,r),o=k.getState();if(i!==Ye.current||o.words!==e.words||o.layoutWords!==e.layoutWords||o.shapeType!==e.shapeType||o.customShapeDefinition!==e.customShapeDefinition||o.canvasWidth!==e.canvasWidth||o.canvasHeight!==e.canvasHeight||o.generationRequestId!==e.generationRequestId)return;let s=ii(t,o.layoutWords,o.shapeType,n,a),c=zi(o.layoutWords,t.index,s.patch);if(!c)return;X(Ii(o.layoutWords,ue.current,null)),v(c),ut.current=!0,Z(),O(t.word.text,t.word.kind,!1),E(t.word.text,t.word.kind,a.family,s.fontStyleId),Sn(),ve(null),P()}catch{i===Ye.current&&Je(r(`canvas.mainAccentFontError`))}finally{We(!1)}},[Z,Sn,Ue,X,P,v,E,O,r]),En=(0,K.useCallback)(async()=>{if(!(l||y.length===0||_t<=0)){S(!0),C(null),nt(null);try{let e=$r(y.length,_t),t=await _n(y,i.language,e),n=k.getState().words,a=new Set(n.map(f)),o=e=>e.filter(e=>{let t=f(e);return a.has(t)?!1:(a.add(t),!0)}).map(e=>({...e,repeat:!1})),s=o(t),c=e>=8?Math.max(2,Math.round(e*.25)):1,l=s.filter(ei).length;if(l<c){let e=c-l,t=Math.max(8,Math.min(24,e*3)),r=await _n([...n,...s],i.language,t,{phraseMode:`phrases`,creativity:82});s=[...s,...o(r)]}if(s.length===0){let e=r(`canvas.sparseFillNoNewWords`);nt(e),C(e);return}b(s),Sn(),P()}catch(e){let t=e instanceof Error?e.message:String(e);nt(t),C(t)}finally{S(!1)}}},[b,_t,Sn,i.language,l,P,C,S,r,y]),Dn=(0,K.useCallback)(e=>{ie.current?.focus({preventScroll:!0}),!(e.pointerType===`mouse`&&e.button!==0)&&(ve(null),Se(null))},[]),On=(0,K.useCallback)((e,t,n)=>{if(e.pointerType===`mouse`&&e.button!==0)return;e.preventDefault(),e.stopPropagation();let r=fn(e.clientX,e.clientY);r&&(ie.current?.focus({preventScroll:!0}),ve(t),Se(null),le.current={kind:`word`,pointerId:e.pointerId,index:t,text:n.text,wordKind:n.kind,startPoint:r,startWord:{x:n.x,y:n.y},startSnapshot:J(t),wasPinned:n.pinned===!0,hasMoved:!1},ce.current?.setPointerCapture(e.pointerId))},[J,fn]),kn=(0,K.useCallback)((e,t,n,r)=>{if(e.pointerType===`mouse`&&e.button!==0)return;e.preventDefault(),e.stopPropagation();let i=fn(e.clientX,e.clientY);if(!i)return;ie.current?.focus({preventScroll:!0});let a={x:u/2+ue.current.x+n.x,y:d/2+ue.current.y+n.y};ve(t),Se(null),le.current={kind:`word-transform`,pointerId:e.pointerId,index:t,text:n.text,wordKind:n.kind,handle:r,startPoint:i,startSnapshot:J(t),wasPinned:n.pinned===!0,hasChanged:!1,center:a,startDistance:Math.max(1,Math.hypot(i.x-a.x,i.y-a.y)),startAngle:Ki(i,a),startLocalPoint:qi(i,a,Q(n)?0:n.rotate),startWord:{size:n.size,rotate:n.rotate,curve:n.curve??0}},ce.current?.setPointerCapture(e.pointerId)},[d,u,J,fn]),An=(0,K.useCallback)(()=>{dt.current!==null&&(window.clearTimeout(dt.current),dt.current=null)},[]),jn=(0,K.useCallback)(()=>{An(),dt.current=window.setTimeout(()=>{dt.current=null,Se(null)},120)},[An]);(0,K.useEffect)(()=>()=>An(),[An]),(0,K.useEffect)(()=>{An(),Se(null)},[An,B.x,B.y,c,pe,at]);let Mn=(0,K.useCallback)(e=>{if(!e){jn();return}n||(An(),Se(e))},[An,n,jn]),Nn=(0,K.useCallback)((e,t)=>{let n=k.getState().layoutWords[e];if(!n||n.text!==t.text||n.kind!==t.kind){Se(null);return}An(),Se(null),ve(e),ie.current?.focus({preventScroll:!0})},[An]),Pn=(0,K.useMemo)(()=>a.flatMap((e,t)=>V===t?[]:[(0,q.jsx)(Ni,{word:e,index:t,interactionsEnabled:!n,hasRenderableShape:R,animationDelayMs:Math.min(t*zr,Br),selectWordLabel:r(`canvas.selectWord`,{word:e.text}),onBeginWordDrag:On,onSelectWord:Nn,onHoverChange:Mn},`${at}|${Mi(e,t)}`)]),[On,Mn,R,a,n,Nn,V,r,at]),Fn=(0,K.useMemo)(()=>a.flatMap((e,t)=>e.pinned?[(0,q.jsx)(Ci,{word:e,measuredBounds:t===V?$t:void 0},`pin|${Mi(e,t)}`)]:[]),[a,$t,V]),In=(0,K.useCallback)(e=>{let t=le.current;if(!t||t.pointerId!==e.pointerId)return;e.preventDefault();let n=fn(e.clientX,e.clientY);if(!n)return;let r=n.x-t.startPoint.x,i=n.y-t.startPoint.y;if(t.kind===`word-transform`){if(!t.hasChanged&&Math.hypot(r,i)<1.5)return;if(t.hasChanged||(t.hasChanged=!0,t.wasPinned||gn(t.index)),t.handle===`scale`){let e=Math.max(1,Math.hypot(n.x-t.center.x,n.y-t.center.y)),r=Math.round(Wi(t.startWord.size*(e/t.startDistance),2,220));hn(t.index,{size:r});return}if(t.handle===`rotate`){let e=Gi(Ki(n,t.center)-t.startAngle),r=Math.round(Gi(t.startWord.rotate+e));hn(t.index,{rotate:r});return}let e=qi(n,t.center,t.startWord.rotate).y-t.startLocalPoint.y,a=Math.max(24,t.startWord.size*1.25),o=Math.round(Wi(t.startWord.curve-e/a*70,-100,100));hn(t.index,{curve:o});return}!t.hasMoved&&Math.hypot(r,i)<2||(t.hasMoved||(t.hasMoved=!0,t.wasPinned||gn(t.index)),hn(t.index,{x:t.startWord.x+r,y:t.startWord.y+i}))},[gn,fn,hn]),Ln=(0,K.useCallback)(e=>{let t=le.current;if(!t||t.pointerId!==e.pointerId)return;e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId);let n=J(),r=!Vi(t.startSnapshot,n,!1);r&&X(t.startSnapshot);let i=r&&t.kind===`word-transform`&&t.handle===`curve`,a=t.kind===`word-transform`?t.index:null;le.current=null,Z(),i&&a!==null&&un(a).catch(e=>ln(e instanceof Error?e.message:String(e)))},[Z,J,X,un]),Rn=(0,K.useCallback)(()=>{let e=lt.current;lt.current=null,e?.changed&&(X(e.startSnapshot),Z())},[Z,X]),zn=(0,K.useCallback)(()=>
6{if(V===null)return;Rn();let e=k.getState().layoutWords;if(!e[V]){ve(null);return}let t=e[V];X(Ii(e,ue.current,V)),v(e.filter((e,t)=>t!==V)),t.pinned&&(ut.current=!0,Z()),ve(null),Se(null),ct.current=!1},[Z,Rn,X,V,v]),Bn=(0,K.useCallback)((e,t)=>{if(V===null)return!1;let n=k.getState().layoutWords,r=n[V];if(!r)return ve(null),lt.current=null,!1;let i=lt.current;(!i||i.index!==V||i.text!==r.text||i.wordKind!==r.kind)&&(lt.current={index:V,text:r.text,wordKind:r.kind,startSnapshot:Ii(n,ue.current,V),wasPinned:r.pinned===!0,changed:!1});let a=lt.current;return a?(!a.changed&&!a.wasPinned&&gn(V),a.changed=!0,Se(null),hn(V,{x:r.x+e,y:r.y+t}),!0):!1},[gn,V,hn]),Vn=(0,K.useCallback)(e=>{if(e.nativeEvent.isComposing||Zi(e.target)||V===null||e.altKey||e.ctrlKey||e.metaKey)return;let t=e.shiftKey?10:1,n={ArrowLeft:{x:-t,y:0},ArrowRight:{x:t,y:0},ArrowUp:{x:0,y:-t},ArrowDown:{x:0,y:t}}[e.key];if(n){e.preventDefault(),e.stopPropagation(),Bn(n.x,n.y);return}(e.key===`Delete`||e.key===`Backspace`)&&(e.preventDefault(),e.stopPropagation(),zn())},[zn,Bn,V]),Hn=(0,K.useCallback)(e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`||e.key===`ArrowUp`||e.key===`ArrowDown`)&&Rn()},[Rn]),Un=(0,K.useCallback)(e=>{e.relatedTarget instanceof Node&&e.currentTarget.contains(e.relatedTarget)||Rn()},[Rn]),Wn=(0,K.useCallback)((e,t)=>{let n=k.getState().layoutWords,r=n[e];if(!r||t&&(r.text!==t.text||r.kind!==t.kind)){Se(null);return}Rn(),X();let i=!r.pinned,a=zi(n,e,{pinId:i?r.pinId??oi():void 0,pinned:i?!0:void 0,pinStatus:i?r.pinStatus??`locked`:void 0,protectPinnedArea:i&&r.protectPinnedArea?!0:void 0});a&&(v(a),ut.current=!0,Z()),ct.current=!1},[Z,Rn,X,v]),Gn=()=>{!W||V===null||Wn(V,W)},Kn=()=>{if(!W?.pinned||V===null||Q(W))return;let e=k.getState().layoutWords,t=e[V];if(!t?.pinned)return;X();let n=zi(e,V,{protectPinnedArea:t.protectPinnedArea?void 0:!0});n&&(v(n),ut.current=!0,Z()),ct.current=!1};return(0,q.jsxs)(`div`,{ref:ie,className:w(`relative flex-1 min-h-0 min-w-0 touch-none overflow-hidden rounded-lg border border-slate-200 bg-white outline-none dark:border-slate-700 dark:bg-slate-800 sm:rounded-xl`,oe&&`fixed inset-0 z-[70] rounded-none border-0`),tabIndex:0,"aria-keyshortcuts":`ArrowUp ArrowDown ArrowLeft ArrowRight Delete Backspace`,onWheel:Cn,onKeyDown:Vn,onKeyUp:Hn,onBlur:Un,children:[!n&&(0,q.jsxs)(K.Suspense,{fallback:null,children:[(0,q.jsx)(Fr,{onOpenChange:Fe}),(0,q.jsx)(Ir,{cloudOffset:B,onOpenChange:Fe})]}),!n&&(0,q.jsxs)(`div`,{className:w(`absolute right-2 top-12 z-10 flex gap-1 sm:right-3 sm:top-14`,Pe&&`hidden sm:flex`),"data-canvas-keyboard-ignore":`true`,children:[(0,q.jsx)(x,{onClick:pn,disabled:c||!Kt,type:`button`,variant:`outline`,size:`icon-sm`,className:qr,"aria-label":r(`canvas.undo`),title:r(`canvas.undo`),children:(0,q.jsx)(rt,{size:16})}),(0,q.jsx)(x,{onClick:mn,disabled:c||!qt,type:`button`,variant:`outline`,size:`icon-sm`,className:qr,"aria-label":r(`canvas.redo`),title:r(`canvas.redo`),children:(0,q.jsx)(Ke,{size:16})})]}),!n&&(0,q.jsxs)(`div`,{className:w(`absolute right-2 top-1/2 z-10 flex -translate-y-1/2 flex-col gap-1 sm:right-3`,Pe&&`hidden sm:flex`),"data-canvas-keyboard-ignore":`true`,children:[(0,q.jsx)(x,{onClick:()=>me(e=>Math.min(3,e+.2)),type:`button`,variant:`outline`,size:`icon-sm`,className:qr,"aria-label":`Zoom in`,children:(0,q.jsx)(et,{size:16})}),(0,q.jsx)(x,{onClick:()=>me(e=>Math.max(.3,e-.2)),type:`button`,variant:`outline`,size:`icon-sm`,className:qr,"aria-label":`Zoom out`,children:(0,q.jsx)(it,{size:16})})]}),!n&&(0,q.jsxs)(`div`,{className:w(`absolute right-2 top-2 z-10 flex gap-1 sm:right-3 sm:top-3`,Pe&&`hidden sm:flex`),"data-canvas-keyboard-ignore":`true`,children:[(0,q.jsx)(x,{onClick:wn,disabled:M?!te:c,type:`button`,variant:M?`default`:`outline`,size:`icon-sm`,className:w(`backdrop-blur-sm`,M?`bg-emerald-600 text-white shadow-sm shadow-emerald-500/25 hover:bg-emerald-700 dark:bg-emerald-600 dark:text-white dark:hover:bg-emerald-700`:`bg-white/85 text-slate-500 dark:bg-slate-800/85`),"aria-label":r(M?`canvas.generate`:`canvas.regenerate`),title:r(M?`canvas.generate`:`canvas.regenerate`),children:M?(0,q.jsx)(_e,{size:16}):(0,q.jsx)(Ft,{size:16,className:c?`animate-spin`:``})}),(0,q.jsx)(x,{onClick:()=>Me(e=>!e),type:`button`,variant:U?`secondary`:`outline`,size:`icon-sm`,className:w(`backdrop-blur-sm`,U?`bg-emerald-50/90 text-emerald-700 hover:bg-emerald-100 dark:bg-emerald-950/80 dark:text-emerald-200`:`bg-white/85 text-slate-500 dark:bg-slate-800/85`),"aria-label":r(U?`canvas.hideGrid`:`canvas.showGrid`),title:r(U?`canvas.hideGrid`:`canvas.showGrid`),"aria-pressed":U,children:(0,q.jsx)(He,{size:16})}),(0,q.jsx)(x,{onClick:se,type:`button`,variant:`outline`,size:`icon-sm`,className:qr,"aria-label":r(`canvas.fullscreen`),children:ae?(0,q.jsx)(N,{size:16}):(0,q.jsx)(ne,{size:16})})]}),It&&(0,q.jsxs)(`div`,{className:`pointer-events-none absolute left-3 right-3 top-24 z-20 rounded-lg border border-slate-200/80 bg-white/90 px-3 py-2 shadow-sm backdrop-blur-sm dark:border-slate-700/80 dark:bg-slate-900/85 sm:left-4 sm:right-28 sm:top-4`,role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Vt,children:[(0,q.jsxs)(`div`,{className:`flex items-center justify-between gap-3 text-xs font-medium text-slate-600 dar
6k:text-slate-300`,children:[(0,q.jsx)(`span`,{children:zt}),(0,q.jsxs)(`span`,{className:`tabular-nums text-slate-500 dark:text-slate-400`,children:[Vt,`%`]})]}),(0,q.jsxs)(`div`,{className:`relative mt-2 h-1.5 overflow-hidden rounded-full bg-slate-100 dark:bg-slate-800`,children:[(0,q.jsx)(`div`,{className:w(`h-full rounded-full transition-[width] duration-200 ease-out`,Rt?`bg-emerald-400/75 dark:bg-emerald-300/75`:`bg-emerald-500`),style:{width:`${Math.max(Rt?8:0,Vt)}%`}}),Rt&&(0,q.jsx)(`div`,{className:`shapewords-prepare-sheen absolute inset-y-0 w-1/2 rounded-full bg-gradient-to-r from-transparent via-white/80 to-transparent dark:via-white/45`})]}),(0,q.jsx)(`div`,{className:`mt-1 text-[11px] tabular-nums text-slate-400 dark:text-slate-500`,children:Rt?Bt:Ht>0?r(`canvas.progressWords`,{placed:o?.placed??0,target:Ht}):(o?.placed??0)>0?r(`canvas.progressPlaced`,{placed:o?.placed??0}):r(`canvas.progressPreparing`)})]}),Ot&&Ct&&(0,q.jsxs)(`div`,{"data-export-ignore":`true`,"data-canvas-keyboard-ignore":`true`,className:`absolute bottom-2 left-2 right-2 z-20 rounded-xl border border-slate-200/90 bg-white/95 p-3 shadow-lg shadow-slate-950/10 backdrop-blur-md dark:border-slate-700/90 dark:bg-slate-900/95 sm:bottom-3 sm:left-3 sm:right-auto sm:w-[24rem]`,role:`status`,"aria-live":`polite`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[(0,q.jsx)(`div`,{className:`mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-lg bg-emerald-50 text-emerald-600 ring-1 ring-emerald-100 dark:bg-emerald-950/55 dark:text-emerald-300 dark:ring-emerald-900/70`,children:(0,q.jsx)(Pt,{size:16,"aria-hidden":`true`})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-xs font-semibold text-slate-700 dark:text-slate-100`,children:r(`canvas.mainAccentTitle`)}),(0,q.jsx)(`p`,{className:`mt-0.5 text-[11px] leading-4 text-slate-500 dark:text-slate-400`,children:r(`canvas.mainAccentDescription`,{word:Ct.word.text})})]}),(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`-mr-1 -mt-1 shrink-0 rounded-md text-slate-400 hover:text-slate-700 dark:hover:text-slate-200`,"aria-label":r(`canvas.mainAccentDismiss`),onClick:Sn,children:(0,q.jsx)(vt,{size:14})})]}),qe&&(0,q.jsx)(`p`,{className:`mt-2 text-[11px] leading-4 text-red-600 dark:text-red-300`,role:`alert`,children:qe}),(0,q.jsxs)(x,{type:`button`,size:`sm`,className:`mt-2.5 h-8 w-full justify-center rounded-lg text-xs`,disabled:Ue,onClick:()=>void Tn(),children:[Ue?(0,q.jsx)(bt,{size:14,className:`animate-spin`,"aria-hidden":`true`}):(0,q.jsx)(_e,{size:14,"aria-hidden":`true`}),r(Ue?`canvas.mainAccentProcessing`:`canvas.mainAccentAction`)]})]}),kt&&(0,q.jsxs)(`div`,{"data-export-ignore":`true`,"data-canvas-keyboard-ignore":`true`,className:`absolute bottom-2 left-2 right-2 z-20 rounded-xl border border-slate-200/90 bg-white/95 p-3 shadow-lg shadow-slate-950/10 backdrop-blur-md dark:border-slate-700/90 dark:bg-slate-900/95 sm:bottom-3 sm:left-3 sm:right-auto sm:w-[24rem]`,role:`status`,"aria-live":`polite`,children:[(0,q.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[(0,q.jsx)(`div`,{className:`mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-lg bg-emerald-50 text-emerald-600 ring-1 ring-emerald-100 dark:bg-emerald-950/55 dark:text-emerald-300 dark:ring-emerald-900/70`,children:(0,q.jsx)(_e,{size:16,"aria-hidden":`true`})}),(0,q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,q.jsx)(`div`,{className:`text-xs font-semibold text-slate-700 dark:text-slate-100`,children:r(`canvas.sparseFillTitle`)}),(0,q.jsx)(`p`,{className:`mt-0.5 text-[11px] leading-4 text-slate-500 dark:text-slate-400`,children:r(`canvas.sparseFillDescription`)})]}),(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`-mr-1 -mt-1 shrink-0 rounded-md text-slate-400 hover:text-slate-700 dark:hover:text-slate-200`,"aria-label":r(`canvas.sparseFillDismiss`),onClick:Sn,children:(0,q.jsx)(vt,{size:14})})]}),Ze&&(0,q.jsxs)(`div`,{className:`mt-2 flex items-start gap-1.5 rounded-lg bg-red-50 px-2 py-1.5 text-[11px] leading-4 text-red-600 dark:bg-red-950/35 dar
6k:text-red-300`,children:[(0,q.jsx)(fe,{size:13,className:`mt-0.5 shrink-0`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{children:Ze})]}),(0,q.jsxs)(x,{type:`button`,size:`sm`,className:`mt-2.5 h-8 w-full justify-center rounded-lg text-xs`,disabled:l,onClick:()=>void En(),children:[l?(0,q.jsx)(bt,{size:14,className:`animate-spin`,"aria-hidden":`true`}):(0,q.jsx)(_e,{size:14,"aria-hidden":`true`}),r(l?`canvas.sparseFillProcessing`:`canvas.sparseFillAction`)]})]}),Lt&&(0,q.jsxs)(`div`,{"data-export-ignore":`true`,className:w(`pointer-events-none absolute bottom-2 right-2 z-10 rounded-lg border border-slate-200/80 bg-white/90 px-2 py-1.5 text-right shadow-sm backdrop-blur-sm dark:border-slate-700/80 dark:bg-slate-900/85 sm:bottom-3 sm:right-3 sm:px-3 sm:py-2`,At?`hidden`:W&&`hidden sm:block`),"aria-live":`polite`,children:[(0,q.jsx)(`div`,{className:`text-[11px] font-medium text-slate-400 dark:text-slate-500`,children:r(`canvas.shapeWordCountLabel`)}),(0,q.jsx)(Ce,{variant:`secondary`,className:`mt-0.5 text-lg font-semibold leading-none tabular-nums`,children:Ut})]}),!n&&pe!==1&&(0,q.jsxs)(x,{onClick:()=>me(1),type:`button`,variant:`outline`,size:`sm`,className:w(`absolute right-2 z-10 h-7 bg-white/85 text-xs text-slate-500 backdrop-blur-sm dark:bg-slate-800/85 sm:right-3`,Lt?`bottom-14 sm:bottom-16`:`bottom-2 sm:bottom-3`),children:[Math.round(pe*100),`%`]}),c&&a.length===0&&(0,q.jsx)(`div`,{className:`pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-white/35 dark:bg-slate-900/35`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2 text-emerald-500`,children:[(0,q.jsx)(bt,{size:24,className:`animate-spin`}),(0,q.jsx)(`span`,{className:`text-sm font-medium`,children:r(`canvas.generating`)})]})}),a.length===0&&!c&&(0,q.jsx)(`div`,{"data-export-ignore":`true`,className:`pointer-events-none absolute inset-0 z-10 flex items-center justify-center px-4 py-24 sm:px-6`,children:(0,q.jsxs)(`div`,{className:`pointer-events-auto flex w-[min(21rem,calc(100vw-2rem))] flex-col items-center rounded-2xl border border-emerald-200/80 bg-white/92 px-3 py-4 text-center shadow-xl shadow-slate-950/7 backdrop-blur-md dark:border-emerald-900/60 dark:bg-slate-900/88 sm:w-full sm:max-w-[24rem] sm:px-5 sm:py-5`,children:[(0,q.jsx)(`div`,{className:`mb-3 flex size-10 items-center justify-center rounded-xl bg-emerald-50 text-emerald-500 ring-1 ring-emerald-100 dark:bg-emerald-950/50 dark:text-emerald-300 dark:ring-emerald-900/70`,children:(0,q.jsx)(he,{size:19})}),(0,q.jsx)(`div`,{className:`text-sm font-semibold text-slate-700 dark:text-slate-100`,children:r(`canvas.emptyTitle`)}),(0,q.jsxs)(`div`,{className:`mt-1 text-xs leading-5 text-slate-500 dark:text-slate-400`,children:[(0,q.jsx)(`span`,{className:`hidden lg:inline`,children:r(`canvas.emptyDesktopDescription`)}),(0,q.jsx)(`span`,{className:`lg:hidden`,children:r(`canvas.emptyMobileDescription`)})]}),e&&(0,q.jsxs)(x,{type:`button`,onClick:e,variant:`outline`,size:`sm`,className:`mt-3 w-full min-w-0 justify-center overflow-hidden border-emerald-200/80 bg-white/70 px-2 text-xs text-emerald-700 hover:bg-emerald-50 dark:border-emerald-900/60 dark:bg-slate-900/70 dark:text-emerald-200 dark:hover:bg-emerald-950/50 lg:hidden`,"aria-label":r(`canvas.openMenuHint`),children:[(0,q.jsx)(tt,{size:14,className:`shrink-0`}),(0,q.jsx)(`span`,{className:`min-w-0 truncate`,children:r(`canvas.openMenuHint`)}),(0,q.jsx)(Ve,{size:14,className:`shrink-0`})]})]})}),W&&V!==null&&Xt&&(0,q.jsx)(`div`,{ref:Yt,"data-export-ignore":`true`,"data-canvas-keyboard-ignore":`true`,className:`absolute z-30 overflow-hidden rounded-xl border border-slate-200/90 bg-white/95 p-0.5 shadow-xl shadow-slate-950/12 backdrop-blur-md dark:border-slate-700/90 dark:bg-slate-900/95`,style:{left:Xt.left,top:Xt.top,width:Xt.width,maxHeight:Xt.maxHeight,touchAction:`auto`},onPointerDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),children:(0,q.jsxs)(`div`,{className:`relative z-10 grid gap-1.5`,children:[(0,q.jsxs)(`div`,{className:`flex items-center gap-1 overflow-x-auto overscroll-x-contain px-1 py-1`,children:[!Q(W)&&rn&&an&&(0,q.jsxs)(xt,{value:sn,onValueChange:e=>bn(e),children:[(0,q.jsxs)(St,{"data-qa":`selected-word-font-trigger`,className:`h-9 w-auto shrink-0 gap-2 rounded-lg border-transparent bg-transparent px-2.5 text-sm font-medium text-slate-600 shadow-none hover:bg-slate-100 focus:ring-0 data-[state=open]:bg-slate-100 dar
6k:text-slate-300 dark:hover:bg-slate-800 dark:data-[state=open]:bg-slate-800`,size:`sm`,"aria-label":r(`canvas.wordFont`),title:r(`canvas.wordFont`),children:[(0,q.jsx)(Pt,{size:17,className:`shrink-0 text-slate-500 dark:text-slate-400`}),(0,q.jsx)(`span`,{className:`min-w-0 max-w-[6rem] truncate`,children:sn===ai?r(`style.autoFont`):rn.label})]}),(0,q.jsxs)(jt,{className:`w-[min(22rem,var(--radix-select-trigger-width))]`,children:[(0,q.jsx)(Nt,{value:ai,children:r(`style.autoFont`)}),on.map(e=>(0,q.jsx)(Nt,{value:e.family,textValue:e.label,className:`h-10 pr-8`,children:(0,q.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,q.jsx)(`span`,{className:`sr-only`,children:e.label}),(0,q.jsx)(di,{font:e}),e.source===`custom`&&(0,q.jsx)(`span`,{className:`rounded border border-amber-200 bg-amber-50 px-1.5 py-0.5 text-[0.62rem] uppercase tracking-wide text-amber-700 dark:border-amber-800 dark:bg-amber-950/40 dark:text-amber-300`,children:`custom`})]})},e.id))]})]}),!Q(W)&&rn&&an&&sn!==ai&&rn.styles.length>1&&(0,q.jsxs)(xt,{value:an.id,onValueChange:e=>bn(rn.family,e),children:[(0,q.jsx)(St,{"data-qa":`selected-word-font-style-trigger`,className:`h-9 w-auto shrink-0 rounded-lg border-transparent bg-transparent px-2.5 text-sm font-medium text-slate-600 shadow-none hover:bg-slate-100 focus:ring-0 data-[state=open]:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-800 dark:data-[state=open]:bg-slate-800`,size:`sm`,"aria-label":r(`canvas.wordFont`),title:r(`canvas.wordFont`),children:(0,q.jsx)(Mt,{})}),(0,q.jsx)(jt,{children:rn.styles.map(e=>(0,q.jsx)(Nt,{value:e.id,children:e.label},e.id))})]}),(0,q.jsx)(x,{type:`button`,onClick:Gn,variant:`ghost`,className:w(`h-9 w-9 shrink-0 rounded-lg p-0`,W.pinned?`bg-emerald-50 text-emerald-700 hover:bg-emerald-100 dark:bg-emerald-950/55 dark:text-emerald-200 dark:hover:bg-emerald-900/70`:`text-slate-600 hover:bg-slate-100 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-slate-800 dark:hover:text-slate-100`),"aria-label":W.pinned?r(`canvas.unpinWord`):r(`canvas.pinWord`),title:W.pinned?r(`canvas.unpinWord`):r(`canvas.pinWord`),children:W.pinned?(0,q.jsx)(Ge,{size:17}):(0,q.jsx)(Be,{size:17})}),W.pinned&&!Q(W)&&(0,q.jsx)(x,{type:`button`,onClick:Kn,variant:`ghost`,className:w(`h-9 w-9 shrink-0 rounded-lg p-0`,W.protectPinnedArea?`bg-emerald-50 text-emerald-700 hover:bg-emerald-100 dark:bg-emerald-950/55 dark:text-emerald-200 dark:hover:bg-emerald-900/70`:`text-slate-600 hover:bg-slate-100 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-slate-800 dark:hover:text-slate-100`),"aria-pressed":W.protectPinnedArea===!0,"aria-label":W.protectPinnedArea?r(`canvas.unprotectPinnedArea`):r(`canvas.protectPinnedArea`),title:W.protectPinnedArea?r(`canvas.unprotectPinnedArea`):r(`canvas.protectPinnedArea`),children:W.protectPinnedArea?(0,q.jsx)(st,{size:17}):(0,q.jsx)($e,{size:17})}),(0,q.jsxs)(`label`,{className:`relative flex h-9 shrink-0 cursor-pointer items-center gap-2 overflow-hidden rounded-lg px-2.5 text-sm font-medium text-slate-600 transition-colors hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-800`,"aria-label":r(`canvas.wordColor`),title:r(`canvas.wordColor`),children:[(0,q.jsx)(ft,{size:17,className:`shrink-0`}),(0,q.jsx)(`span`,{children:r(`canvas.wordColor`)}),(0,q.jsx)(`span`,{className:`size-3 rounded-full border border-white shadow-sm ring-1 ring-slate-200 dark:border-slate-950 dark:ring-slate-700`,style:{backgroundColor:W.fill},"aria-hidden":`true`}),(0,q.jsx)(`input`,{type:`color`,value:W.fill,onChange:e=>vn(V,{fill:e.target.value}),onBlur:yn,className:`absolute inset-0 cursor-pointer opacity-0`,"aria-label":r(`canvas.wordColor`)})]}),!Q(W)&&(0,q.jsxs)(x,{type:`button`,onClick:xn,variant:`ghost`,className:w(`h-9 shrink-0 rounded-lg px-2.5 text-sm font-medium`,(W.curve??0)===0?`text-slate-600 hover:bg-slate-100 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-slate-800 dark:hover:text-slate-100`:`bg-emerald-50 text-emerald-700 hover:bg-emerald-100 dark:bg-emerald-950/45 dark:text-emerald-200 dark:hover:bg-emerald-900/65`),"aria-label":r(`canvas.wordCurve`),title:r(`canvas.wordCurve`),children:[(0,q.jsx)(Xe,{size:17}),(0,q.jsx)(`span`,{children:r(`canvas.wordCurve`)})]}),(0,q.jsx)(x,{type:`button`,onClick:zn,variant:`ghost`,className:`h-9 shrink-0 rounded-lg px-2.5 text-sm font-medium text-slate-600 hover:bg-red-50 hover:text-red-600 dark:text-slate-300 dark:hover:bg-red-950/40 dark:hover:text-red-300`,"aria-label":r(`canvas.deleteWord`),title:r(`canvas.deleteWord`),children:(0,q.jsx)(gt,{size:17})})]}),W.pinStatus===`conflict`&&(0,q.jsxs)(`div`,{className:`flex items-start gap-1.5 rounded-lg border border-amber-200 bg-amber-50 px-2 py-1.5 text-[11px] leading-4 text-amber-800 dark:border-amber-900/70 dark:bg-amber-950/35 dar
6k:text-amber-200`,children:[(0,q.jsx)(fe,{size:13,className:`mt-0.5 shrink-0`}),(0,q.jsx)(`span`,{children:r(`canvas.pinConflict`)})]}),cn&&(0,q.jsxs)(`div`,{className:`flex items-start gap-1.5 rounded-lg border border-amber-200 bg-amber-50 px-2 py-1.5 text-[11px] leading-4 text-amber-800 dark:border-amber-900/70 dark:bg-amber-950/35 dark:text-amber-200`,children:[(0,q.jsx)(fe,{size:13,className:`mt-0.5 shrink-0`}),(0,q.jsx)(`span`,{children:cn})]})]})}),(0,q.jsxs)(`svg`,{ref:ce,id:`word-cloud-svg`,width:u,height:d,viewBox:`0 0 ${u} ${d}`,"data-pan-x":B.x,"data-pan-y":B.y,style:{transform:`scale(${pe})`,transformOrigin:`center center`,transformBox:`fill-box`,transition:`transform 0.1s ease-out`,maxWidth:`100%`,maxHeight:`100%`,display:`block`,overflow:`visible`,touchAction:`none`,cursor:`default`},onPointerDown:Dn,onPointerMove:In,onPointerUp:Ln,onPointerCancel:Ln,role:n?`img`:`group`,"aria-label":a.length>0?`Word cloud: ${a.slice(0,10).map(e=>e.text).join(`, `)}`:r(`canvas.emptyTitle`),children:[(0,q.jsxs)(`defs`,{children:[(0,q.jsx)(`pattern`,{id:`canvas-grid-pattern`,"data-export-ignore":`true`,width:24,height:24,patternUnits:`userSpaceOnUse`,children:(0,q.jsx)(`path`,{d:`M 24 0 L 0 0 0 24`,fill:`none`,className:`stroke-slate-300 dark:stroke-slate-600`,strokeWidth:.6,opacity:.55,vectorEffect:`non-scaling-stroke`})}),I&&L&&(0,q.jsx)(`clipPath`,{id:`shape-clip`,children:(0,q.jsx)(`path`,{d:I.path,transform:`translate(${Wt},${Gt}) scale(${L.scale})`,fillRule:I.fillRule,clipRule:I.fillRule})})]}),(a.length>0||c)&&I&&L&&(0,q.jsxs)(q.Fragment,{children:[_!==`transparent`&&(0,q.jsx)(`path`,{d:I.path,transform:`translate(${Wt},${Gt}) scale(${L.scale})`,fillRule:I.fillRule,clipRule:I.fillRule,fill:_,opacity:.42}),z&&(0,q.jsx)(`path`,{d:I.path,transform:`translate(${Wt},${Gt}) scale(${L.scale})`,fill:`none`,className:`stroke-slate-300 dark:stroke-slate-500`,strokeWidth:1.1/L.scale,opacity:.72})]}
6),U&&(0,q.jsx)(`rect`,{"data-export-ignore":`true`,x:0,y:0,width:u,height:d,fill:`url(#canvas-grid-pattern)`,pointerEvents:`none`,opacity:.72}),a.length>0&&(0,q.jsx)(`g`,{clipPath:R?`url(#shape-clip)`:void 0,children:(0,q.jsxs)(`g`,{transform:`translate(${u/2+B.x}, ${d/2+B.y})`,children:[Pn,!n&&ht&&mt&&(0,q.jsx)(Ai,{word:mt,hasRenderableShape:R},`hover|${Mi(mt,H.index)}`),W&&V!==null&&(0,q.jsxs)(`g`,{ref:Jt,"data-selected-word":`true`,transform:`translate(${W.x}, ${W.y}) rotate(${Q(W)?0:W.rotate})`,onPointerDown:e=>On(e,V,W),tabIndex:0,"aria-label":r(`canvas.selectWord`,{word:W.text}),style:{cursor:`grab`,outline:`none`},children:[(0,q.jsx)(bi,{word:W,measuredBounds:$t}),(0,q.jsx)(Oi,{word:W,useMiddleBaseline:Ji(W,R),selected:!0,textRef:dn}),(0,q.jsx)(wi,{word:W,measuredBounds:$t,onBeginTransform:(e,t)=>kn(e,V,W,t)})]},`selected|${Mi(W,V)}`)]})}),Fn.length>0&&(0,q.jsx)(`g`,{transform:`translate(${u/2+B.x}, ${d/2+B.y})`,children:Fn})]}),!n&&ht&&H&&mt&&(0,q.jsx)(`div`,{"data-export-ignore":`true`,"data-canvas-keyboard-ignore":`true`,"data-word-hover-actions":`true`,className:`fixed z-50`,style:{left:typeof window>`u`?H.anchorX:Wi(H.anchorX,40,Math.max(40,window.innerWidth-40)),top:H.anchorTop<52?H.anchorBottom:H.anchorTop,transform:H.anchorTop<52?`translateX(-50%)`:`translate(-50%, -100%)`},onPointerEnter:An,onPointerLeave:jn,onFocus:An,onBlur:jn,onPointerDown:e=>{e.stopPropagation(),An()},onClick:e=>e.stopPropagation(),onWheel:e=>e.stopPropagation(),children:(0,q.jsxs)(`div`,{className:`shapewords-word-hover-actions flex items-center gap-0.5 rounded-lg border border-slate-900/10 bg-white/85 p-1 text-slate-900 shadow-md shadow-slate-950/15 backdrop-blur-sm`,children:[(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,"data-word-hover-action":`edit`,className:`rounded-md text-current hover:bg-slate-900/10 hover:text-current`,"aria-label":r(`canvas.editWord`,{word:mt.text}),onClick:()=>Nn(H.index,mt),children:(0,q.jsx)(Qe,{size:16})}),(0,q.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,"data-word-hover-action":`pin`,className:w(`rounded-md hover:text-current`,mt.pinned?`bg-emerald-100/90 text-emerald-700 hover:bg-emerald-200/90`:`text-current hover:bg-slate-900/10`),"aria-label":mt.pinned?r(`canvas.unpinWord`):r(`canvas.pinWord`),"aria-pressed":mt.pinned===!0,onClick:()=>Wn(H.index,mt),children:mt.pinned?(0,q.jsx)(Ge,{size:16}):(0,q.jsx)(Be,{size:16})})]})})]})}function ea(e){return Ct(e)}function ta(e,t,n,r={}){let i=(e,t)=>({...e,fill:r.preserveExistingFill&&e.fill?e.fill:t});if(t.length===0)return e.map(e=>i(e,`#333`));switch(n){case`sequential`:return e.map((e,n)=>i(e,t[n%t.length]));case`random`:return e.map(e=>i(e,t[Math.floor(Math.random()*t.length)]));case`byFrequency`:{let n=[...e].sort((e,t)=>t.value-e.value),r=n[0]?.value||1,a=n[n.length-1]?.value||0,o=r-a||1;return e.map(e=>{let n=(e.value-a)/o;return i(e,t[Math.min(Math.floor(n*t.length),t.length-1)])})}}}var na=45;function ra(e,t){let n=Math.max(0,t-e);return n<=0?0:t<=48?Math.min(n,2):t<=120?Math.min(n,4):t<=260?Math.min(n,7):Math.min(n,12)}function ia(e,t){if(t.length===0)return[];let n=new Map(e.map(e=>[f(e),e.value])),r=new Map(e.map(e=>[f(e),e.sizeScale??1]));return t.filter(e=>e.pinned&&n.has(f(e))).map(e=>{let t=f(e),i=e.sizeScale??1,a=r.get(t)??1;return{...e,value:n.get(t)??e.value,size:Math.max(1,Math.round(e.size*(a/i))),sizeScale:a===1?void 0:a,pinned:!0,pinStatus:e.pinStatus??`locked`}})}function aa(e,t=2500){return new Promise(n=>{let r=window.setTimeout(n,t);e.catch(()=>void 0).finally(()=>{window.clearTimeout(r),n()})})}function oa(){return`fill`}function sa(){let{rawText:e,importedWords:n,includePhrases:i,smartImportOptions:a,languageProcessing:o,useStopWords:s,stopWordsLanguage:c,customStopWords:l,maxWords:u,setWords:d,words:f,pinnedLayoutRevision:m,setLayoutWords:h,setLayoutProgress:_,setLayoutQuality:v,preservedLayoutSignature:y,preservedColorSignature:b,setPreservedLayoutSignature:x,setPreservedColorSignature:S,fontFamily:C,fontStyleId:w,fontAssignmentMode:T,layoutPolicy:E,scriptFontOverrides:D,minFontSize:O,maxFontSize:A,padding:j,spiralType:M,rotations:N,canvasWidth:ee,canvasHeight:te,shapeType:F,customShapeDefinition:I,setIsGenerating:ne,isPreciseTextProcessing:L,isWordListProcessing:R,setIsPreciseTextProcessing:z,paletteIndex:ie,customPaletteColors:ae,colorMode:se,generationRequestId:ce}=k(be(e=>({rawText:e.rawText,importedWords:e.importedWords,includePhrases:e.includePhrases,smartImportOptions:e.smartImportOptions,languageProcessing:e.languageProcessing,useStopWords:e.useStopWords,stopWordsLanguage:e.stopWordsLanguage,customStopWords:e.customStopWords,maxWords:e.maxWords,setWords:e.setWords,words:e.words,pinnedLayoutRevision:e.pinnedLayoutRevision,setLayoutWords:e.setLayoutWords,setLayoutProgress:e.setLayoutProgress,setLayoutQuality:e.setLayoutQuality,preservedLayoutSignature:e.preservedLayoutSignature,preservedColorSignature:e.preservedColorSignature,setPreservedLayoutSignature:e.setPreservedLayoutSignature,setPreservedColorSignature:e.setPreservedColorSignature,fontFamily:e.fontFamily,fontStyleId:e.fontStyleId,fontAssignmentMode:e.fontAssignmentMode,layoutPolicy:e.layoutPolicy,scriptFontOverrides:e.scriptFontOverrides,minFontSize:e.minFontSize,maxFontSize:e.maxFontSize,padding:e.padding,spiralType:e.spiralType,rotations:e.rotations,canvasWidth:e.canvasWidth,canvasHeight:e.canvasHeight,shapeType:e.shapeType,customShapeDefinition:e.customShapeDefinition,setIsGenerating:e.setIsGenerating,isPreciseTextProcessing:e.isPreciseTextProcessing,isWordListProcessing:e.isWordListProcessing,setIsPreciseTextProcessing:e.setIsPreciseTextProcessing,paletteIndex:e.paletteIndex,customPaletteColors:e.customPaletteColors,colorMode:e.colorMode,generationRequestId:e.generationRequestId}))),le=(0,K.useRef)(0),ue=(0,K.useRef)(0),de=(0,K.useMemo)(()=>W(f),[f]),fe=(0,K.useMemo)(()=>mt({wordsSignature:de,fontFamily:C,fontStyleId:w,fontAssignmentMode:T,layoutPolicy:E,scriptFontOverrides:D,minFontSize:O,maxFontSize:A,padding:j,spiralType:M,rotations:N,maxWords:u,canvasWidth:ee,canvasHeight:te,shapeType:F,fillMode:oa(),customShapeDefinition:I,pinnedLayoutRevision:m}),[de,C,w,T,E,D,O,A,j,M,N,u,ee,te,F,I,m]),pe=dt({paletteIndex:ie,customPaletteColors:ae,colorMode:se});(0,K.useEffect)(()=>
6{if(n){z(!1),k.getState().words!==n&&d(n);return}if(k.getState().importedWords){z(!1);return}d(we(e,{useStopWords:s,stopWordsLanguage:c,customStopWords:l,maxWords:null,includePhrases:i,keepCase:a.keepCase,countFrequency:a.countFrequency,detectDuplicates:a.detectDuplicates,includeEmoji:a.includeEmoji,lemmatizeWords:a.lemmatizeWords,languageProcessing:o})),z(!1)},[e,n,i,a.keepCase,a.countFrequency,a.detectDuplicates,a.includeEmoji,a.lemmatizeWords,o,s,c,l,d,z]),(0,K.useEffect)(()=>{if(L||R)return;if(f.length===0){h([]),_(null),v(null),ne(!1),y!==null&&x(null),b!==null&&S(null);return}if(ce===0||ce===ue.current)return;ue.current=ce;let e=++le.current,n=k.getState().layoutWords;if(y===fe&&n.length>0){let e=P(ie,ae);h(ta(n.map(({text:e,value:t,kind:n,sizeScale:r,size:i,x:a,y:o,rotate:s,curve:c,font:l,fontStyleId:u,fontWeight:d,fontStyle:f,baseline:p,outlinePath:m,outlineGlyphs:h,outlineBounds:g,outlineBaseSize:_,pinId:v,pinned:y,pinStatus:b,protectPinnedArea:x})=>({text:e,value:t,kind:n,sizeScale:r,size:i,x:a,y:o,rotate:s,curve:c,font:l,fontStyleId:u,fontWeight:d,fontStyle:f,baseline:p,outlinePath:m,outlineGlyphs:h,outlineBounds:g,outlineBaseSize:_,pinId:v,pinned:y,pinStatus:b,protectPinnedArea:x})),e,se)),_(null),S(pe),ne(!1),t(`generate`);return}ne(!0),v(null),_({phase:`assigning-fonts`,percent:1,placed:0,target:0});let i=null,a=[],o=[],s=()=>e===le.current&&k.getState().generationRequestId===ce,c=()=>{let e=k.getState();return mt({wordsSignature:W(e.words),fontFamily:e.fontFamily,fontStyleId:e.fontStyleId,fontAssignmentMode:e.fontAssignmentMode,layoutPolicy:e.layoutPolicy,scriptFontOverrides:e.scriptFontOverrides,minFontSize:e.minFontSize,maxFontSize:e.maxFontSize,padding:e.padding,spiralType:e.spiralType,rotations:e.rotations,maxWords:e.maxWords,canvasWidth:e.canvasWidth,canvasHeight:e.canvasHeight,shapeType:e.shapeType,fillMode:oa(),customShapeDefinition:e.customShapeDefinition,pinnedLayoutRevision:e.pinnedLayoutRevision})},l=()=>s()&&c()===fe,d=()=>{i!==null&&(window.clearTimeout(i),i=null)},m=null,z=()=>{if(!m)return;let e=m;m=null,e()},de=()=>{if(i=null,!l()){z();return}let e=a.length+ra(a.length,o.length);if(e<=a.length){z();return}a=o.slice(0,e),h(a),a.length<o.length?i=window.setTimeout(de,na):z()},me=e=>{e.length<a.length&&(a=[],h([])),o=e,i===null&&de()},B=e=>new Promise(t=>{m=t,me(e),a.length>=o.length&&z()});return(async()=>{let e=!1;try{let t=ia(f,k.getState().layoutWords);h([]);let n=Ie(f,C,D,T,E,w);_({phase:`loading-fonts`,percent:4,placed:0,target:f.length}),await p([C,...n,...t.map(e=>e.font)]);let r=g(re(C),w);_({phase:`assigning-fonts`,percent:8,placed:0,target:f.length});let i=Fe(f,C,r.id,D,T,E);oe(E)&&(await p(Array.from(new Set(i.map(e=>e.fontFamily)))),i=Fe(f,C,r.id,D,T,E));let a=new Map;i.forEach(e=>{let t=`${e.fontFamily}|${e.fontStyleId??`regular`}`,n=a.get(t);a.set(t,{family:e.fontFamily,styleId:e.fontStyleId,text:n?`${n.text} ${e.text}`:e.text})}),_({phase:`loading-fonts`,percent:12,placed:0,target:i.length}),await Promise.all(Array.from(a.values()).map(e=>aa(Dt({family:e.family,styleId:e.styleId},e.text)))),_({phase:`preparing-outline`,percent:18,placed:0,target:i.length});let o=await ea({words:f,wordFonts:i,pinnedWords:t,width:ee,height:te,fontFamily:C,fontStyleId:r.id,layoutPolicy:E,minFontSize:O,maxFontSize:A,padding:j,spiralType:M,rotations:N,maxWords:u,shapeType:F,customShapeDefinition:I,fillMode:oa(),onQuality:e=>{l()&&v(e)},onProgress:(e,t)=>{if(!l())return;let{paletteIndex:n,customPaletteColors:r,colorMode:i}=k.getState(),a=P(n,r);e.length>0&&me(ta(e,a,i,{preserveExistingFill:!0})),t&&_(t)}});if(!l()){s()&&(d(),h([]),_(null));return}let{paletteIndex:c,customPaletteColors:m,colorMode:y}=k.getState();if(await B(ta(o,P(c,m),y,{preserveExistingFill:!0})),!l())return;_({phase:`complete`,percent:100,placed:o.length,target:k.getState().layoutProgress?.target??o.length}),x(fe),S(dt({paletteIndex:c,customPaletteColors:m,colorMode:y})),e=!0}catch{s()&&(d(),h([]),_(null),v(null))}finally{s()&&(ne(!1),e&&(t(`generate`),r(`cloud.generated`,ut())))}})(),()=>{d(),z()}},[ce,L,R,f,C,w,T,E,D,O,A,j,M,N,ee,te,F,I,u,m,fe,pe,y,b,h,_,v,ne,x,S,ie,ae,se])}var ca=`shapewords.starterWords.v3`,la=`shapewords.starterWords.seen.v3`,ua={en:`Hello`,ru:`ÐÑивеÑ`,ar:`Ù
Ø±ØØ¨Ø§`,es:`Hola`,fr:`Bonjour`,zh:`ä½ å¥½`},da={en:[{text:`welcome`,value:9,kind:`word`},{text:`create`,value:8,kind:`word`},{text:`bright`,value:7,kind:`word`},{text:`spark`,value:6,kind:`word`}],ru:[{text:`миÑ`,value:9,kind:`word`},{text:`ÑадоÑÑÑ`,value:8,kind:`word`},{text:`Ñепло`,value:7,kind:`word`},{text:`ÑвеÑ`,value:6,kind:`word`}],ar:[{text:`Ø³ÙØ§Ù
`,value:9,kind:`word`},{text:`ÙÙØ±`,value:8,kind:`word`},{text:`إبداع`,value:7,kind:`word`},{text:`Ø£Ù
Ù`,value:6,kind:`word`}],es:[{text:`alegrÃa`,value:9,kind:`word`},{text:`color`,value:8,kind:`word`},{text:`sueño`,value:7,kind:`word`}
6,{text:`fiesta`,value:6,kind:`word`}],fr:[{text:`lumière`,value:9,kind:`word`},{text:`idée`,value:8,kind:`word`},{text:`sourire`,value:7,kind:`word`},{text:`éclat`,value:6,kind:`word`}],zh:[{text:`åæ`,value:9,kind:`word`},{text:`è²å½©`,value:8,kind:`word`},{text:`çµæ`,value:7,kind:`word`},{text:`欢è¿`,value:6,kind:`word`}]};function fa(e){let t=ua[e],n=Object.entries(ua).filter(([t])=>t!==e).map(([,e])=>({text:e,value:5,kind:`word`}));return[{text:t,value:18,kind:`word`},...da[e].map(e=>({...e})),...n]}function pa(e){let t=fa(e);return{locale:e,sourceText:t.map(e=>e.text).join(` 7`),words:t}}function ma(e){return{locale:e.locale,sourceText:e.sourceText,words:e.words.map(e=>({...e}))}}function ha(e,t){if(!e||typeof e!=`object`)return!1;let n=e;return n.locale===t&&typeof n.sourceText==`string`&&Array.isArray(n.words)&&n.words.length>0&&n.words.every(e=>e&&typeof e==`object`&&typeof e.text==`string`&&typeof e.value==`number`)}function ga(e){let t=pa(e);if(typeof window>`u`)return ma(t);let n=`${ca}.${e}`;try{let r=window.localStorage.getItem(n);if(r){let t=JSON.parse(r);if(ha(t,e))return ma(t)}window.localStorage.setItem(n,JSON.stringify(t))}catch{}return ma(t)}function _a(){if(typeof window>`u`)return!0;try{return window.localStorage.getItem(la)===`1`}catch{return!1}}function va(){if(!(typeof window>`u`))try{window.localStorage.setItem(la,`1`)}catch{}}var{slice:ya,forEach:ba}=[];function xa(e){return ba.call(ya.call(arguments,1),t=>{if(t)for(let n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Sa(e){return typeof e==`string`?[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(e)):!1}var Ca=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,wa=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:`/`},r=`${e}=${encodeURIComponent(t)}`;if(n.maxAge>0){let e=n.maxAge-0;if(Number.isNaN(e))throw Error(`maxAge should be a Number`);r+=`; Max-Age=${Math.floor(e)}`}if(n.domain){if(!Ca.test(n.domain))throw TypeError(`option domain is invalid`);r+=`; Domain=${n.domain}`}if(n.path){if(!Ca.test(n.path))throw TypeError(`option path is invalid`);r+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!=`function`)throw TypeError(`option expires is invali
7d`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite)switch(typeof n.sameSite==`string`?n.sameSite.toLowerCase():n.sameSite){case!0:r+=`; SameSite=Strict`;break;case`lax`:r+=`; SameSite=Lax`;break;case`strict`:r+=`; SameSite=Strict`;break;case`none`:r+=`; SameSite=None`;break;default:throw TypeError(`option sameSite is invalid`)}return n.partitioned&&(r+=`; Partitioned`),r},Ta={create(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:`/`,sameSite:`strict`};n&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+n*60*1e3)),r&&(i.domain=r),document.cookie=wa(e,t,i)},read(e){let t=`${e}=`,n=document.cookie.split(`;`);for(let e=0;e<n.length;e++){let r=n[e];for(;r.charAt(0)===` `;)r=r.substring(1,r.length);if(r.indexOf(t)===0)return r.substring(t.length,r.length)}return null},remove(e,t){this.create(e,``,-1,t)}},Ea={name:`cookie`,lookup(e){let{lookupCookie:t}=e;if(t&&typeof document<`u`)return Ta.read(t)||void 0},cacheUserLanguage(e,t){let{lookupCookie:n,cookieMinutes:r,cookieDomain:i,cookieOptions:a}=t;n&&typeof document<`u`&&Ta.create(n,e,r,i,a)}},Da={name:`querystring`,lookup(e){let{lookupQuerystring:t}=e,n;if(typeof window<`u`){let{search:e}=window.location;!window.location.search&&window.location.hash?.indexOf(`?`)>-1&&(e=window.location.hash.substring(window.location.hash.indexOf(`?`)));let r=e.substring(1).split(`&`);for(let e=0;e<r.length;e++){let i=r[e].indexOf(`=`);i>0&&r[e].substring(0,i)===t&&(n=r[e].substring(i+1))}}return n}},Oa={name:`hash`,lookup(e){let{lookupHash:t,lookupFromHashIndex:n}=e,r;if(typeof window<`u`){let{hash:e}=window.location;if(e&&e.length>2){let i=e.substring(1);if(t){let e=i.split(`&`);for(let n=0;n<e.length;n++){let i=e[n].indexOf(`=`);i>0&&e[n].substring(0,i)===t&&(r=e[n].substring(i+1))}}if(r)return r;if(!r&&n>-1){let t=e.match(/\/([a-zA-Z-]*)/g);
7return Array.isArray(t)?t[typeof n==`number`?n:0]?.replace(`/`,``):void 0}}}return r}},ka=null,Aa=()=>{if(ka!==null)return ka;try{if(ka=typeof window<`u`&&window.localStorage!==null,!ka)return!1;let e=`i18next.translate.boo`;window.localStorage.setItem(e,`foo`),window.localStorage.removeItem(e)}catch{ka=!1}return ka},ja={name:`localStorage`,lookup(e){let{lookupLocalStorage:t}=e;if(t&&Aa())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&Aa()&&window.localStorage.setItem(n,e)}},Ma=null,Na=()=>{if(Ma!==null)return Ma;try{if(Ma=typeof window<`u`&&window.sessionStorage!==null,!Ma)return!1;let e=`i18next.translate.boo`;window.sessionStorage.setItem(e,`foo`),window.sessionStorage.removeItem(e)}catch{Ma=!1}return Ma},Pa={name:`sessionStorage`,lookup(e){let{lookupSessionStorage:t}=e;if(t&&Na())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&Na()&&window.sessionStorage.setItem(n,e)}},Fa={name:`navigator`,lookup(e){let t=[];if(typeof navigator<`u`){let{languages:e,userLanguage:n,language:r}=navigator;if(e)for(let n=0;n<e.length;n++)t.push(e[n]);n&&t.push(n),r&&t.push(r)}return t.length>0?t:void 0}},Ia={name:`htmlTag`,lookup(e){let{htmlTag:t}=e,n,r=t||(typeof document<`u`?document.documentElement:null);return r&&typeof r.getAttribute==`function`&&(n=r.getAttribute(`lang`)),n}},La={name:`path`,lookup(e){let{lookupFromPathIndex:t}=e;if(typeof window>`u`)return;let n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(Array.isArray(n))return n[typeof t==`number`?t:0]?.replace(`/`,``)}},Ra={name:`subdomain`,lookup(e){let{lookupFromSubdomainIndex:t}=e,n=typeof t==`number`?t+1:1,r=typeof window<`u`&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}},za=!1;try{document.cookie,za=!0}catch{}var Ba=[`querystring`,`cookie`,`localStorage`,`sessionStorage`,`navigator`,`htmlTag`];za||Ba.splice(1,1);var Va=()=>({order:Ba,lookupQuerystring:`lng`,lookupCookie:`i18next`,lookupLocalStorage:`i18nextLng`,lookupSessionStorage:`i18nextLng`,caches:[`localStorage`],excludeCacheFor:[`cimode`],convertDetectedLanguage:e=>e}),Ha=class{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type=`languageDetector`,this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=xa(t,this.options||{},Va()),typeof this.options.convertDetectedLanguage==`string`&&this.options.convertDetectedLanguage.indexOf(`15897`)>-1&&(this.options.convertDetectedLanguage=e=>e.replace(`-`,`_`)),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(Ea),this.addDetector(Da),this.addDetector(ja),this.addDetector(Pa),this.addDetector(Fa),this.addDetector(Ia),this.addDetector(La),this.addDetector(Ra),this.addDetector(Oa)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,t=[];return e.forEach(e=>{if(this.detectors[e]){let n=this.detectors[e].lookup(this.options);n&&typeof n==`string`&&(n=[n]),n&&(t=t.concat(n))}}),t=t.filter(e=>e!=null&&!Sa(e)).map(e=>this.options.convertDetectedLanguage(e)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(t=>{this.detectors[t]&&this.detectors[t].cacheUserLanguage(e,this.options)}))}};Ha.type=`languageDetector`;var Ua={templateCommunity:{about:`ØÙ٠اÙÙØ§Ùب`,author:`اسÙ
اÙÙ
ؤÙÙ Ø§ÙØ¹ÙÙÙ`,noAuthor:`اÙÙ
ؤÙÙ ØºÙØ± Ù
ØØ¯Ø¯`,authorProfile:`اÙÙÙØ§Ùب Ø§ÙØ¹Ø§Ù
Ø© ÙÙØ°Ø§ اÙÙ
ؤÙÙ`,uses:`Ù
رات Ø§ÙØ§Ø³ØªØ®Ø¯Ø§Ù
`,usesNote:`Ù
رات اÙÙØªØ Ù٠اÙÙ
ØØ±Ø±Ø Ø¨ØØ¯ Ø£ÙØµÙ Ù
رة ÙÙ٠زائر ÙÙÙ
ÙÙØ§. ÙÙØ³Øª عدد Ø§ÙØªÙزÙÙØ§Øª.`,favorite:`Ø¥Ø¶Ø§ÙØ© ÙÙÙ
ÙØ¶ÙØ©`,saved:`Ù٠اÙÙ
ÙØ¶ÙØ©`,loginHint:`سجÙÙ Ø§ÙØ¯Ø®ÙÙ ÙØÙØ¸ اÙÙ
ÙØ¶ÙØ©`,actionError:`ØªØ¹Ø°ÙØ± Ø§ÙØÙØ¸. ØØ§ÙÙ Ù
Ø¬Ø¯Ø¯ÙØ§.`,license:`Ø´Ø±ÙØ· Ø§ÙØ§Ø³ØªØ®Ø¯Ø§Ù
`,unspecified:`ØºÙØ± Ù
ØØ¯Ø¯Ø©`,licenseUnknown:`ÙÙ
ÙÙØØ¯Ø¯ ØªØ±Ø®ÙØµ. اÙÙØ´Ø± ÙØ§ ÙÙ
ÙØ Ø§ÙØ¥Ø°Ù ÙÙ٠استخداÙ
Ø ØªÙØ§ØµÙ Ù
ع ØµØ§ØØ¨ Ø§ÙØÙÙÙ Ø¹ÙØ¯ Ø§ÙØØ§Ø¬Ø©.`,licenseScope:`اختار٠اÙÙ
ؤÙÙ ÙÙØ´Ù
Ù ÙÙØ· اÙÙ
ÙØ§Ø¯ Ø§ÙØªÙ ÙÙ
ÙÙ ØÙÙÙÙØ§. ÙØ¯ تخضع Ø§ÙØ®Ø·ÙØ· ÙØ§ÙØ¹ÙØ§ØµØ± Ø§ÙØ®Ø§Ø±Ø¬ÙØ© ÙØ´Ø±ÙØ· Ù
ÙÙØµÙØ©.`,licenseTerms:`ÙØ±Ø§Ø¡Ø© Ø´Ø±ÙØ· Ø§ÙØªØ±Ø®Ùص`,versions:`Ø³Ø¬Ù Ø§ÙØ¥ØµØ¯Ø§Ø±Ø§Øª`,versionsNote:`Ù
ÙØ´Ùرات Ù
ÙÙØµÙØ© ضÙ
Ù Ø§ÙØ³ÙØ³ÙØ© ÙÙØ³Ùا. ÙØ§ ÙØªÙ
Ø§Ø³ØªØ¨Ø¯Ø§Ù Ø§ÙØ¥ØµØ¯Ø§Ø±Ø§Øª اÙÙ
ØÙÙØ¸Ø©.`,ver
7sionHow:`Ø§ÙØªØ اÙÙ
ØØ±Ø± ÙØ¹Ø¯Ù٠اÙÙØ§ÙØ¨Ø Ø«Ù
اختر «إصدار Ø¬Ø¯ÙØ¯Â» Ø¹ÙØ¯ اÙÙØ´Ø±.`,contrast:`ÙØØµ Ø§ÙØªØ¨Ø§ÙÙ`,contrastNote:`Ù
رجع: 4.5:1 ÙÙÙØµ Ø§ÙØ¹Ø§Ø¯ÙØ Ù3:1 ÙÙÙØµ اÙÙØ¨Ùر (24 Ø¨ÙØ³Ù Ø£Ù ÙØÙ 19 Ø¨ÙØ³Ù Ø¹Ø±ÙØ¶). اÙÙØØµ ÙÙØ£ÙÙØ§Ù ÙÙØ·Ø ÙØ¤Ø«Ø± Ø§ÙØªÙØ¨ÙØ± ÙØ§Ùتداخ٠Ù٠اÙÙØ±Ø§Ø¡Ø©.`,backdrop:`Ø®ÙÙÙØ© Ø§ÙØ´ÙاÙÙØ©`,white:`Ø¨ÙØ¶Ø§Ø¡`,dark:`داÙÙØ©`,shapeBackground:`Ø®ÙÙÙØ© Ø§ÙØ´ÙÙ`,notMeasured:`ÙÙÙ ØºÙØ± Ù
دعÙÙ
ÙÙØØ³Ø§Ø¨`,normalText:`ÙØµ عاد٠ÙÙØ¨Ùر`,largeText:`ÙØµ ÙØ¨Ùر ÙÙØ·`,lowContrast:`تباÙ٠أÙÙ Ù
Ù 3:1`,related:`ÙÙØ§Ùب Ù
Ø´Ø§Ø¨ÙØ©`,relatedNote:`ØØ³Ø¨ اÙÙØ³ÙÙ
ÙØ§ÙØ´ÙÙ ÙØ§ÙÙØºØ© ضÙ
٠اÙÙ
ÙØ´Ùرات Ø§ÙØØ¯ÙØ«Ø©.`,relatedError:`اÙÙÙØ§Ùب اÙÙ
Ø´Ø§Ø¨ÙØ© ØºÙØ± Ù
ØªØ§ØØ© Ù
Ø¤ÙØªÙا.`,publicationDetails:`ØªÙØ§ØµÙ٠اÙÙØ´Ø±`,description:`اÙÙØµÙ`,tags:`اÙÙØ³ÙÙ
`,tagsHint:`ØØªÙ 8 ÙØ³ÙÙ
Ù
ÙØµÙÙØ© بÙÙØ§ØµÙØ Ø¨ØØ¯ 32 ØØ±ÙÙØ§ ÙÙÙ ÙØ³Ù
.`,useCases:`Ù
ÙØ§Ø³Ø¨ ÙÙ`,authorHint:`Ø§Ø®ØªÙØ§Ø±Ù. Ø³ÙØ¸Ùر Ø§ÙØ§Ø³Ù
ÙØ§ÙÙ
Ù٠عÙÙÙØ§. تغÙÙØ± Ø§ÙØ§Ø³Ù
ÙØØ¯ÙØ« Ù
ÙÙÙ Ù٠جÙ
ÙØ¹ اÙÙ
ÙØ´Ùرات.`,authorLogin:`ÙØªØ·Ùب Ø§ÙØ§Ø³Ù
Ø§ÙØ¹ÙÙ٠تسجÙÙ Ø§ÙØ¯Ø®ÙÙ ÙØ§ÙÙØ´Ø± Ø§ÙØ¹Ø§Ù
.`,licenseConsent:`اختر ØªØ±Ø®ÙØµÙا ÙÙØ· ÙÙÙ
ÙØ§Ø¯ Ø§ÙØªÙ تÙ
ÙÙ ØÙÙÙÙØ§. Ø§ÙØ±Ø£ Ø§ÙØ´Ø±ÙØ·: ÙØ¯ ÙÙÙÙ Ø§ÙØªØ±Ø®Ùص ØºÙØ± ÙØ§Ø¨Ù ÙÙØ¥Ùغاء.`,publishVersion:`إصدار Ø¬Ø¯ÙØ¯ Ù
٠«{{title}}»`,myFavorites:`Ù
ÙØ¶ÙتÙ`,allTemplates:`Ù٠اÙÙÙØ§Ùب`,cases:{education:`Ø§ÙØªØ¹ÙÙÙ
`,gift:`اÙÙØ¯Ø§Ùا`,presentation:`Ø§ÙØ¹Ø±Ùض`,social:`Ø§ÙØªÙØ§ØµÙ Ø§ÙØ§Ø¬ØªÙ
اعÙ`,research:`Ø§ÙØ¨ØØ«`,decor:`Ø§ÙØ¯ÙÙÙØ±`}},app:{title:`shapewords`,subtitle:`Ù
ÙÙØ¯ Ø³ØØ§Ø¨Ø© اÙÙÙÙ
ات`,settings:`إعدادات`,openSettings:`Ø§ÙØªØ Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª`,closeSettings:`Ø¥ØºÙØ§Ù Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª`,account:`ØØ³Ø§Ø¨`,openAccount:`Ø§ÙØªØ Ø§ÙØØ³Ø§Ø¨`,signIn:`تسجÙÙ Ø§ÙØ¯Ø®ÙÙ`,templates:`ÙÙØ§Ùب`,openTemplates:`ÙØªØ اÙÙÙØ§Ùب Ø§ÙØ¬Ø§Ùزة`,wordMap:`Ø®Ø±ÙØ·Ø© اÙÙÙÙ
ات`,openWordMap:`ÙØªØ Ø®Ø±ÙØ·Ø© اÙÙÙÙ
ات Ø«ÙØ§Ø«ÙØ© Ø§ÙØ£Ø¨Ø¹Ø§Ø¯`,live:`Ù
باشر`,openLive:`Ø§ÙØªØ Ø§ÙØºØ±Ù اÙÙ
باشرة`,chromeExtension:`Chrome`,openChromeExtension:`ÙØªØ Ø¥Ø¶Ø§ÙØ© Chrome`,chromeExtensionBadgeAlt:`Ø¥Ø¶Ø§ÙØ© Chrome`,dismissChromeExtension:`Ø¥Ø®ÙØ§Ø¡ Ø§ÙØªØ±Ø§Ø Ø¥Ø¶Ø§ÙØ© Chrome`,language:`ÙØºØ©`},common:{loading:`Ø¬Ø§Ø±Ù Ø§ÙØªØÙ
ÙÙ...`,on:`تشغÙÙ`,off:`Ø¥ÙÙØ§Ù`},account:{title:`ØØ³Ø§Ø¨`,subtitle:`ÙØªÙ
ØÙظ Ø³Ø¬Ù Ø§ÙØ¥Ùشاء ÙØ§ÙÙÙØ§Ùب ÙØ§ÙØ£ÙÙ
اط ÙÙ ØØ³Ø§Ø¨Ù.`,signInTitle:`ÙÙ
بتسجÙÙ Ø§ÙØ¯Ø®ÙÙ ÙØÙØ¸ عÙ
ÙÙ`,signInSubtitle:`استخدÙ
ØØ³Ø§Ø¨Ùا ÙØªØ§Ø±ÙØ® Ø§ÙØ¥Ùشاء ÙØ§ÙÙÙØ§Ùب ÙØ§ÙØ£ÙÙ
اط Ø§ÙØ´Ø®ØµÙØ©.`,login:`تسجÙÙ Ø§ÙØ¯Ø®ÙÙ`,register:`ÙØ³Ø¬Ù`,name:`اسÙ
`,email:`Ø¨Ø±ÙØ¯ Ø¥ÙÙØªØ±ÙÙÙ`,password:`ÙÙÙ
Ø© اÙÙ
Ø±ÙØ±`,confirmPassword:`تأÙÙØ¯ ÙÙÙ
Ø© اÙÙ
Ø±ÙØ±`,passwordHint:`Ù
ØªØ·ÙØ¨Ø§Øª ÙÙÙ
Ø© اÙÙ
Ø±ÙØ±`,passwordMismatch:`ÙÙÙ
ات اÙÙ
Ø±ÙØ± ØºÙØ± Ù
ØªØ·Ø§Ø¨ÙØ©.`,passwordMinLength:`8 ØØ±ÙÙØ§ عÙÙ Ø§ÙØ£ÙÙ`,passwordLetter:`ØØ±Ù ÙØ§ØØ¯ عÙÙ Ø§ÙØ£ÙÙ`,passwordNumber:`رÙÙ
ÙØ§ØØ¯ عÙÙ Ø§ÙØ£ÙÙ`,socialTitle:`تسجÙÙ Ø§ÙØ¯Ø®Ù٠عبر خدÙ
Ø©`,socialSubtitle:`استخدÙ
Google Ø£Ù Yandex Ø£Ù Facebook Ø£Ù X ÙØªØ³Ø¬ÙÙ Ø§ÙØ¯Ø®ÙÙ Ù
٠دÙÙ ÙÙÙ
Ø© Ù
Ø±ÙØ± Ù
ÙÙØµÙØ©.`,socialDivider:`Ø£Ù`,socialGoogle:`Google`,socialFacebook:`Facebook`,socialX:`X`,socialYandex:`Yandex`,noAccount:`Ø¥ÙØ´Ø§Ø¡ ØØ³Ø§Ø¨`,hasAccount:`ÙØ¯ÙÙ ØØ³Ø§Ø¨ باÙÙØ¹Ù`,history:`ØªØ§Ø±ÙØ®`,templates:`ÙÙØ§Ùب`,styles:`Ø§ÙØ£ÙÙ
اط`,account:`ØØ³Ø§Ø¨`,saveHistory:`ÙØÙØ¸`,saveTemplate:`ÙÙ
ÙØ°Ø¬`,saveStyle:`أسÙÙØ¨`,saveCurrentHistory:`ØÙظ Ø§ÙØ¬ÙÙ`,saveCurrentTemplate:`ØÙظ اÙÙØ§Ùب`,saveCurrentStyle:`ØÙظ اÙÙÙ
Ø·`,saveHistoryHint:`ÙØÙØ¸ إعدادات اÙÙØµ ÙØ§ÙØ´ÙÙ ÙØ§ÙÙÙ
Ø· ÙØ§ÙØªØ®Ø·ÙØ· Ø§ÙØØ§ÙÙØ© ÙØ¹Ùصر Ù
ØÙÙØ¸Ø§Øª.`,saveTemplateHint:`ÙØÙØ¸ اÙÙ
Ø´Ø±ÙØ¹ Ø§ÙØØ§ÙÙ ÙÙØ§Ùب ÙØ§Ø¨Ù ÙØ¥Ø¹Ø§Ø¯Ø© Ø§ÙØ§Ø³ØªØ®Ø¯Ø§Ù
ÙØ³ØØ§Ø¨Ø§Øª اÙÙÙÙ
ات Ø§ÙØ¬Ø¯Ùدة.`,saveStyleHint:`ÙØÙØ¸ ÙÙØ· Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª اÙÙ
Ø±Ø¦ÙØ©: Ø§ÙØ®Ø·Ø ÙÙÙØØ© Ø§ÙØ£ÙÙØ§ÙØ ÙØ§ÙØ®ÙÙÙØ©Ø ÙØ§ÙØ§ØªØ¬Ø§ÙØ ÙØ®Ùارات Ø§ÙØ¹Ø±Ø¶.`,saveName:`اسÙ
`,cancel:`ÙÙØºÙ`,save:`ÙØÙØ¸`,close:`Ø¥ØºÙØ§Ù Ø§ÙØØ³Ø§Ø¨`,backToEditor:`Ø§ÙØ¹Ùدة Ø¥Ù٠اÙÙ
ØØ±Ø±`,open:`ÙÙØªØ`,apply:`ÙØªÙدÙ
`,delete:`ÙÙ
سØ`,emptyHistory:`ÙØ§ ØªÙØ¬Ø¯ Ø£Ø¬ÙØ§Ù Ù
ØÙÙØ¸Ø© بعد.`,emptyTemplates:`ÙØ§ ØªÙØ¬Ø¯ ÙÙØ§Ùب ØØªÙ Ø§ÙØ¢Ù.`,emptyStyles:`ÙØ§ ØªÙØ¬Ø¯ Ø£ÙÙ
اط ØØªÙ Ø§ÙØ¢Ù.`,words:`ÙÙÙ
ات`,placed:`ÙØ¶Ø¹Øª`,logout:`تسجÙÙ Ø§ÙØ®Ø±Ùج`,signedInAs:`تÙ
تسجÙÙ Ø§ÙØ¯Ø®Ù٠باسÙ
`,palette:`ÙÙØØ©`,libraryActions:`ØÙظ Ø§ÙØ¹Ù
Ù Ø§ÙØØ§ÙÙ`,libraryHint:`ÙØØªÙØ¸ Ø§ÙØ³Ø¬Ù باÙÙ
Ø´Ø±ÙØ¹ اÙÙØ§Ù
ÙØ ÙÙØØªÙØ¸ اÙÙØ§Ùب بÙ
Ø´Ø±ÙØ¹ ÙØ§Ø¨Ù ÙØ¥Ø¹Ø§Ø¯Ø© Ø§ÙØ§Ø³ØªØ®Ø¯Ø§Ù
Ø ÙÙØ®Ø²Ù اÙÙÙ
Ø· Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª اÙÙ
Ø±Ø¦ÙØ© ÙÙØ·.`,oauthCancelled:`تÙ
Ø¥ÙØºØ§Ø¡ تسجÙÙ Ø§ÙØ¯Ø®Ù٠عبر Ø§ÙØ®Ø¯Ù
Ø© Ø§ÙØ®Ø§Ø±Ø¬ÙØ©.`,oauthEmailRequired:`ÙÙ
ÙØ±Ø³Ù اÙÙ
زÙÙØ¯ عÙÙØ§Ù Ø§ÙØ¨Ø±Ùد Ø§ÙØ¥ÙÙØªØ±ÙÙÙ. استخدÙ
طرÙÙØ© دخÙ٠أخرÙ.`,oauthEmailUnverified:`ÙÙ
ÙØ¤Ùد اÙÙ
زÙÙØ¯ عÙÙØ§Ù Ø§ÙØ¨Ø±Ùد Ø§ÙØ¥ÙÙØªØ±ÙÙÙ. استخدÙ
طرÙÙØ© دخÙ٠أخرÙ.`,oauthProviderDisabled:`طرÙÙØ© تسجÙÙ Ø§ÙØ¯Ø®ÙÙ ÙØ°Ù ØºÙØ± Ù
ÙØ¹Ø¯ÙØ© بعد.`,oauthStateInvalid:`Ø§ÙØªÙت Ø¬ÙØ³Ø© تسجÙÙ Ø§ÙØ¯Ø®ÙÙ. ØØ§ÙÙ Ù
رة أخرÙ.`,oauthFailed:`تعذر Ø¥ÙÙ
ا٠تسجÙÙ Ø§ÙØ¯Ø®Ù٠عبر Ø§ÙØ®Ø¯Ù
Ø© Ø§ÙØ®Ø§Ø±Ø¬ÙØ©.`},templates:{metaTitle:`ÙÙØ§Ùب Ø³ØØ§Ø¨Ø© اÙÙÙÙ
ات Ø§ÙØ¹Ø§Ù
Ø© | shapewords`,metaDescription:`Ø§Ø³ØªÙØ´Ù اÙÙÙØ§Ùب Ø§ÙØªÙ ÙØ´Ø±Ùا Ù
جتÙ
ع shapewords ÙØ§ÙØªØ Ø£Ù ØªØµÙ
ÙÙ
Ù٠اÙÙ
ØØ±Ø±.`,badge:`Ù
جÙ
ÙØ¹Ø© Ù
ÙØªÙØØ©`,title:`ÙÙØ§Ùب عاÙ
Ø©`,de
7scription:`Ø§Ø³ØªÙØ´Ù Ø³ØØ¨ اÙÙÙÙ
ات اÙÙ
ÙØ´Ùرة Ù
٠اÙÙ
جتÙ
ع. Ø§ÙØªØ أ٠عÙ
Ù ÙÙØ§Ùب ÙØªØ§Ø¨Ø¹ ØªØØ±ÙرÙ.`,searchPlaceholder:`Ø§Ø¨ØØ« ÙÙ Ø§ÙØ¹ÙاÙÙÙ ÙØ§ÙÙÙÙ
ات...`,languageFilter:`ÙØºØ© اÙÙØ§Ùب`,allLanguages:`Ù٠اÙÙØºØ§Øª`,resultCount:`{{count}} Ù
ÙØ´Ùرات`,resetSearch:`إعادة Ø§ÙØ¨ØØ«`,loadError:`تعذر تØÙ
Ù٠اÙÙÙØ§Ùب Ø§ÙØ¹Ø§Ù
Ø©`,loadMore:`عرض اÙÙ
Ø²ÙØ¯`,emptyTitle:`ÙØ§ ØªÙØ¬Ø¯ ÙØªØ§Ø¦Ø¬`,emptyDescription:`Ø¬Ø±ÙØ¨ Ø¨ØØ«Ùا آخر أ٠اختر Ù٠اÙÙØºØ§Øª Ø£Ù Ø§ÙØ´Ø± Ø£ÙÙ Ø³ØØ§Ø¨Ø© ÙÙ ÙØ°Ø§ اÙÙØ³Ù
.`,noPreview:`اÙÙ
عاÙÙØ© ØºÙØ± Ù
ØªØ§ØØ©`,wordsCount:`{{count}} ÙÙÙ
ات`,open:`ÙÙØªØ`,backToList:`جÙ
ÙØ¹ اÙÙÙØ§Ùب`,notFoundTitle:`ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙ٠اÙÙØ§Ùب`,notFoundDescription:`Ø¨Ø·Ø§ÙØ© اÙÙØ§Ùب Ø§ÙØ¹Ø§Ù
Ø© ÙØ°Ù ØºÙØ± Ù
ÙØ¬Ùدة. ارجع Ø¥Ù٠اÙÙØªØ§ÙÙØ¬ ÙØ§Ø®ØªØ± Ø£ØØ¯ اÙÙÙØ§Ùب Ø§ÙØ¬Ø§Ùزة.`,includesTitle:`Ù
ا ÙÙ ÙÙ Ø§ÙØ¯Ø§Ø®Ù`,shape:`Ø´ÙÙ`,palette:`ÙÙØØ©`,words:`ÙÙÙ
ات`,useTemplate:`استخدÙ
اÙÙØ§Ùب`,useHint:`ÙÙÙÙ
اÙÙØ§Ùب بتØÙ
Ù٠اÙÙØµ ÙØ§ÙÙÙÙ
ات ÙØ§ÙØ´ÙÙ ÙØ§ÙÙÙ
Ø· ÙÙ Ù
Ø³Ø§ØØ© Ø§ÙØ¹Ù
Ù.`},text:{title:`ÙØµ`,smartImport:`Ø§ÙØ§Ø³ØªÙراد Ø§ÙØ°ÙÙ`,smartImportDescription:`ÙØµ ÙCSV/TSV ÙExcel â.xlsx ÙGoogle Sheets ÙÙ
ÙØ´Ùرات Ù
Ù X ÙReddit ÙHacker News ÙYouTube ÙTelegram ÙØ®Ùاصات RSS`,closeSmartImport:`أغÙÙ Ø§ÙØ§Ø³ØªÙراد Ø§ÙØ°ÙÙ`,smartImportPlaceholder:`Ø§ÙØµÙ اÙÙØµØ CSV/TSVØ Ø£Ù Ø§Ø³ØØ¨ Ù
ÙÙÙØ§ ÙØ£ÙÙØªÙ...`,placeholder:`ÙØµÙ اÙÙØµ ÙÙØ§...`,sample:`جرب عÙÙØ©`,voiceInput:`ØµÙØª`,voiceStart:`ابدأ Ø§ÙØ¥Ø¯Ø®Ø§Ù Ø§ÙØµÙتÙ`,voiceStop:`Ø£ÙÙÙ Ø§ÙØ¥Ø¯Ø®Ø§Ù Ø§ÙØµÙتÙ`,voiceStopShort:`Ø¥ÙÙØ§Ù`,voiceListening:`Ø¬Ø§Ø±Ù Ø§ÙØ§Ø³ØªÙ
اع Ø¥Ù٠اÙÙ
ÙÙØ±ÙÙÙÙ`,voiceUnsupported:`Ø§ÙØ¥Ø¯Ø®Ø§Ù Ø§ÙØµÙØªÙ ØºÙØ± Ù
دعÙÙ
ÙÙ ÙØ°Ø§ اÙÙ
ØªØµÙØ`,voicePermissionDenied:`تÙ
ØØ¸Ø± اÙÙØµÙ٠إÙ٠اÙÙ
ÙÙØ±ÙÙÙÙ. اسÙ
Ø Ø¨Ø§ÙÙØµÙÙ Ø«Ù
ØØ§ÙÙ Ù
رة أخرÙ.`,voiceNoSpeech:`ÙÙ
ÙØªÙ
Ø§ÙØªØ´Ø§Ù ÙÙØ§Ù
. ØØ§ÙÙ Ù
رة Ø£Ø®Ø±Ù ÙØªØØ¯Ø« Ø£ÙØ±Ø¨ Ø¥Ù٠اÙÙ
ÙÙØ±ÙÙÙÙ.`,voiceNoMicrophone:`ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙ٠إدخا٠Ù
٠اÙÙ
ÙÙØ±ÙÙÙ٠عÙÙ ÙØ°Ø§ Ø§ÙØ¬Ùاز.`,voiceError:`تعذر بدء Ø§ÙØ¥Ø¯Ø®Ø§Ù Ø§ÙØµÙتÙ`,emoji:`Ø§ÙØ±Ù
ÙØ² Ø§ÙØªØ¹Ø¨ÙØ±ÙØ©`,emojiSearchPlaceholder:`Ø§Ø¨ØØ« Ø¹Ù Ø§ÙØ±Ù
ÙØ² Ø§ÙØªØ¹Ø¨ÙØ±ÙØ©: Ø§ÙØ¶ØÙØ Ø§ÙÙØ§Ø±Ø اÙÙÙØ¨...`,emojiSearchLoading:`جار٠تØÙ
ÙÙ Ø§ÙØ±Ù
ÙØ² Ø§ÙØªØ¹Ø¨ÙØ±ÙØ©`,emojiSearchNoResults:`ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙ٠رÙ
ÙØ² ØªØ¹Ø¨ÙØ±ÙØ©`,addEmojiAria:`أض٠{{emoji}}`,dropHint:`ÙÙ
Ø¨Ø¥Ø³ÙØ§Ø· Ù
ÙÙ .txt Ø£Ù .csv Ø£Ù .tsv Ø£Ù .xlsx`,clear:`ÙØ§Ø¶Ø`,importFile:`Ù
ÙÙ`,importText:`Ø§Ø³ØªÙØ±Ø§Ø¯ اÙÙØµ`,googleSheets:`Google Sheets`,googleSheetsPlaceholder:`رابط اÙÙØ±ÙØ© أ٠اÙÙ
ÙØ´Ùرة CSV`,googleFileSharingHelp:`ÙÙÙÙØ© Ù
Ø´Ø§Ø±ÙØ© Ù
ÙÙ Google`,import:`ÙØ³ØªÙرد`,xImport:`X (تÙÙØªØ±)`,xImportPlaceholder:`Ø§ÙØµÙ رابط Ù
ÙØ´Ùر Ù
Ù x.com`,xImportHint:`اÙÙ
ÙØ´Ùرات Ø§ÙØ¹Ø§Ù
Ø© ÙÙØ·. Ø§ÙØµÙ Ø±Ø§Ø¨Ø·ÙØ§ ÙØ§ØØ¯Ùا Ø£Ù Ø£ÙØ«Ø± â ÙØ³ØªÙرد ÙØµ اÙÙ
ÙØ´Ùر.`,redditImport:`Reddit`,redditImportPlaceholder:`Ø§ÙØµÙ رابط Ù
ÙØ´Ùر Ø£Ù Ù
جتÙ
ع ÙØ±Ø¹Ù عÙÙ Reddit`,redditImportHint:`اÙÙ
ÙØ§Ùشات ÙØ§ÙÙ
جتÙ
عات Ø§ÙØ¹Ø§Ù
Ø© ÙÙØ·. ÙØ³ØªÙرد Ø§ÙØ¹ÙاÙÙÙ ÙØ§ÙتعÙÙÙØ§Øª.`,hnImport:`Hacker News`,hnImportPlaceholder:`Ø§ÙØµÙ رابط Ø¹ÙØµØ± عÙÙ Hacker News`,hnImportHint:`ÙØ³ØªÙرد اÙÙ
ÙØ§Ù ÙØªØ¹ÙÙÙØ§ØªÙ.`,youtubeImport:`YouTube`,youtubeImportPlaceholder:`Ø§ÙØµÙ رابط ÙÙØ¯Ù٠عÙÙ YouTube`,youtubeImportHint:`ÙØ³ØªÙرد Ø§ÙØ¹ÙÙØ§Ù ÙØ§ÙÙØµÙ ÙØ§ÙÙØ³ÙÙ
ÙØ£Ø¨Ø±Ø² Ø§ÙØªØ¹ÙÙÙØ§Øª.`,telegramImport:`Telegram`,telegramImportPlaceholder:`Ø§ÙØµÙ رابط ÙÙØ§Ø© عاÙ
Ø© Ø£Ù @Ø§ÙØ§Ø³Ù
`,telegramImportHint:`اÙÙÙÙØ§Øª Ø§ÙØ¹Ø§Ù
Ø© ÙÙØ·. ÙØ³ØªÙرد اÙÙ
ÙØ´Ùرات Ø§ÙØ£Ø®Ùرة.`,rssImport:`RSS`,rssImportPlaceholder:`Ø§ÙØµÙ رابط Ø£Ù Ø®ÙØ§ØµØ© RSS Ø£Ù Atom`,rssImportHint:`Ø£Ù Ù
دÙÙØ© Ø£Ù Ø®ÙØ§ØµØ© أخبار. ÙØ³ØªÙرد Ø¹ÙØ§ÙÙÙ Ø§ÙØ¹Ùاصر ÙÙ
ÙØ®ØµØ§ØªÙا.`,importOptions:`ÙÙØ§Ø¹Ø¯ Ø§ÙØ§Ø³ØªÙراد`,keepCase:`Ø§ØØªÙظ باÙÙØ¶ÙØ©`,countFrequency:`تردد Ø§ÙØ¹Ø¯`,removeStopWords:`Ø¥Ø²Ø§ÙØ© ÙÙÙ
ات Ø§ÙØªÙÙÙ`,detectDuplicates:`ÙØ´Ù Ø§ÙØªÙرارات`,lemmatizeWords:`تÙÙÙ
`,languageProcessing:`Ù
Ø¹Ø§ÙØ¬Ø© اÙÙØºØ©`,languageProcessingStatus:`اÙÙ
Ø¹Ø§ÙØ¬Ø©: {{language}}`,languageProcessingSection:`إعدادات Ù
Ø¹Ø§ÙØ¬Ø© اÙÙØºØ©`,processingLanguage:`ÙØºØ© اÙÙØµ`,autoLanguage:`Ø§ÙØªØ´Ø§Ù تÙÙØ§Ø¦Ù`,chineseLanguage:`Ø§ÙØµÙÙÙØ©`,chineseScript:`ÙØ¸Ø§Ù
اÙÙØªØ§Ø¨Ø© Ø§ÙØµÙÙÙØ©`,chineseScriptAuto:`Ø§ÙØªØ´Ø§Ù تÙÙØ§Ø¦Ù`,chineseSimplified:`Ø§ÙØµÙÙÙØ© اÙÙ
بسطة`,chineseTraditional:`Ø§ÙØµÙÙÙØ© Ø§ÙØªÙÙÙØ¯ÙØ©`,chineseMode:`ÙØ¶Ø¹ Ù
Ø¹Ø§ÙØ¬Ø© Ø§ÙØµÙÙÙØ©`,chineseFast:`Ø³Ø±ÙØ¹`,chinesePrecise:`دÙÙÙ`,keepSingleHan:`Ø§ÙØ§ØØªÙاظ بÙ
ØØ§Ø±Ù ÙØ§Ù اÙÙ
ÙØ±Ø¯Ø©`,includeNumbers:`تضÙ
ÙÙ Ø§ÙØ£Ø±ÙاÙ
`,normalizeChineseVariants:`دÙ
ج Ø§ÙØµÙغ Ø§ÙØµÙÙÙØ© Ø§ÙØªÙÙÙØ¯ÙØ© ÙØ§ÙÙ
بسطة`,minTokenLength:`Ø§ÙØØ¯ Ø§ÙØ£Ø¯ÙÙ ÙØ·Ù٠اÙÙ
ØµØ·ÙØ`,chineseStopWordsProfile:`ÙÙÙ
ات اÙÙÙÙ`,chineseStopWordsCore:`Ø¢Ù
ÙØ©`,chineseStopWordsExtended:`Ù
ÙØ³Ø¹Ø©`,chinesePosFilter:`Ø£ÙØ³Ø§Ù
اÙÙÙØ§Ù
`,chinesePosAll:`اÙÙÙ`,chinesePosContent:`Ø¯ÙØ§ÙÙØ©`,chinesePosNouns:`أسÙ
اء`,chineseKeywordRanking:`ØªØ±Ø¬ÙØ اÙÙ
ØµØ·ÙØØ§Øª`,chineseKeywordSmart:`ذÙÙ`,chineseKeywordFrequency:`Ø§ÙØªÙرار`,chineseKeywordRankingHint:`ÙØ¬Ù
ع اÙÙØ¶Ø¹ Ø§ÙØ°Ù٠بÙÙ Ø§ÙØªÙرار ÙTF-IDF ÙTextRank ÙØ§ÙÙ
ÙØ¶Ø¹ ÙÙØ³Ù
اÙÙÙØ§Ù
Ø Ù
ع Ø§ÙØ§ØØªÙاظ Ø¨Ø§ÙØªÙرار Ø§ÙØ®Ø§Ù
ÙÙ Ø§ÙØ¨ÙØ§ÙØ§Øª اÙÙØµÙÙØ©.`,englishLanguage:`Ø§ÙØ¥ÙجÙÙØ²ÙØ©`,englishProcessingHint:`ÙÙØÙÙÙ٠اÙÙØµ Ø§ÙØ¥ÙجÙÙØ²Ù Ù
ØÙÙÙØ§ ÙÙ Ù
ØªØµÙØÙ Ù
ع تÙ
ÙÙØ² أجزاء اÙÙÙØ§Ù
ÙØ¥Ø±Ø¬Ø§Ø¹ Ø§ÙØµÙغ Ø§ÙØ£Ø³Ø§Ø³ÙØ©.`,englishPosFilter:`Ø£ÙØ³Ø§Ù
اÙÙÙØ§Ù
`,englishPosAll:`Ù٠اÙÙÙÙ
ات`,englishPosContent:`اÙÙÙÙ
ات Ø§ÙØ¯ÙاÙÙØ©`,englishPosNouns:`Ø§ÙØ£Ø³Ù
اء`,englishLemmatize:`إرجاع اÙÙÙÙ
ات Ø§ÙØ¥ÙجÙÙØ²ÙØ© Ø¥ÙÙ ØµÙØºØªÙا Ø§ÙØ£Ø³Ø§Ø³ÙØ©`,englishStopWordsProfile:`ÙÙÙ
ات اÙÙÙÙ`,englishStopWordsCore:`Ø£Ø³Ø§Ø³ÙØ©`,englishStopWordsExtended:`Ù
ÙØ³Ø¹Ø©`,englishStopWordsHint:`تزÙ٠اÙÙØ§Ø¦Ù
Ø© Ø§ÙØ£Ø³Ø§Ø³ÙØ© اÙÙÙÙ
ات اÙÙØ¸ÙÙÙØ© Ø§ÙØ´Ø§Ø¦Ø¹Ø©Ø ÙØªÙصÙÙ٠اÙÙ
ÙØ³Ø¹Ø© Ø£ÙØ¶Ùا اÙÙÙÙ
ات Ø§ÙØØ´ÙÙØ© اÙÙ
ØªÙØ±Ø±Ø©.`,russianLanguage:`Ø§ÙØ±ÙØ³ÙØ©`,russianLocale:`ØµÙØºØ© اÙÙØºØ© Ø§ÙØ±ÙØ³ÙØ©`,russianMode:`ÙØ¶Ø¹ Ù
Ø¹Ø§ÙØ¬Ø© Ø§ÙØ±ÙØ³ÙØ©`,russianFast:`Ø³Ø±ÙØ¹`,russianPrecise:`OpenCorpora`,russianPreciseHint:`ÙØÙ
ÙÙ Ø§ÙØ§Ø³ØªÙراد Ø§ÙØ¯ÙÙÙ Ù
ØÙÙØ§Ù Ù
ÙØ§Ø·Ø¹ اÙÙØ§Ù
ÙØ³ اÙÙ
Ø·ÙÙØ¨Ø© ÙÙØ· ÙÙØ§ ÙØ®Ù
ÙÙ Ø§ÙØµÙغ اÙÙ
ÙØªØ¨Ø³Ø©.`,russianPosFilter:`أجزاء اÙÙÙØ§Ù
`,russianPosAll:`اÙÙÙ`,russianPosContent:`اÙÙÙÙ
ات Ø§ÙØ¯ÙاÙÙØ©`,russianPosNouns:`Ø§ÙØ£Ø³Ù
اء`,russianLemmatize:`إرجاع اÙÙÙÙ
ات Ø§ÙØ±ÙØ³ÙØ© Ø¥ÙÙ ØµÙØºØªÙا Ø§ÙØ£Ø³Ø§Ø³ÙØ©`,russianYoNormalization:`ØªØ·Ø¨ÙØ¹ Ð/Ð`,russianYoPreserve:`Ø¥Ø¨ÙØ§Ø¡ Ð ÙÐ Ù
ÙÙØµÙÙÙ`,russianYoFold:`دÙ
ج Ð Ù
ع Ð`,russianYoHint:`Ø§ÙØ¯Ù
ج ÙØØ³Ù ØªØ¬Ù
ÙØ¹ Ø§ÙØªÙØ±Ø§Ø±Ø ÙÙØÙØ¸ Ø§ÙØ±Ø³Ù
Ø§ÙØ£ØµÙÙ Ù
ت٠أÙ
ÙÙ.`,russianStopWordsProfile:`ÙÙÙ
ات اÙÙÙÙ`,russianStopWordsCore:`Ø£Ø³Ø§Ø³ÙØ©`,russianStopWordsExtended:`Ù
ÙØ³Ø¹Ø©`,russianStopWordsHint:`تزÙ٠اÙÙØ§Ø¦Ù
Ø© Ø§ÙØ£Ø³Ø§Ø³ÙØ© اÙÙÙÙ
ات اÙÙØ¸ÙÙÙØ© اÙÙ
ÙØ«ÙÙØ© ÙÙØ·Ø بÙÙÙ
ا ØªØ±Ø´Ø Ø§ÙÙ
ÙØ³Ø¹Ø© Ù
Ø²ÙØ¯Ùا Ù
٠اÙÙÙÙ
ات Ø§ÙØ´Ø§Ø¦Ø¹Ø© ØºÙØ± اÙÙ
ÙÙ
Ø©.`,genericLanguageProcessingHint:`Ø§ÙØªÙسÙÙ
اÙÙ
ØÙÙ Ø§ÙØ£Ø³Ø§Ø³Ù Ù
ÙØ¹ÙÙ ÙÙØ°Ù اÙÙØºØ©. اختر Ø§ÙØµÙÙÙØ© Ø£Ù Ø§ÙØ±ÙØ³ÙØ© Ø£Ù Ø§ÙØ¥ÙجÙÙØ²ÙØ© ÙØ¶Ø¨Ø· Ù
Ø¹Ø§ÙØ¬ ØªÙØµÙÙÙ.`,customDictionary:`ÙØ§Ù
ÙØ³ Ù
خصص`,customDictionaryPlaceholder:`Ù
ØµØ·ÙØ ÙØ§ØØ¯ ÙÙ Ù٠سطر. ØªÙØ¹Ø·Ù Ø§ÙØ£ÙÙÙÙØ© ÙÙÙ
ØµØ·ÙØØ§Øª Ø§ÙØ£Ø·ÙÙ.`,synonyms:`اÙÙ
Ø±Ø§Ø¯ÙØ§Øª`,synonymsPlaceholder:`Ù
جÙ
ÙØ¹Ø© ÙØ§ØØ¯Ø© ÙÙ Ù٠سطر: اÙÙ
ØµØ·ÙØ Ø§ÙØ±Ø¦ÙسÙ: اÙÙ
راد٠1Ø Ø§ÙÙ
راد٠2`,processingPrivacyLocal:`تتÙ
اÙÙ
Ø¹Ø§ÙØ¬Ø© Ù
ØÙÙÙØ§ ÙÙ Ù
ØªØµÙØÙ.`,preciseProcessingHint:`ÙÙÙØ± اÙÙØ¶Ø¹ Ø§ÙØ¯ÙÙÙ ØØ¯ÙØ¯ÙØ§ Ø£ÙØ¶Ù ÙÙÙÙÙ
ات Ø§ÙØµÙÙÙØ© ÙÙØ¯ ÙØ³ØªØºØ±Ù ÙÙØªÙا أطÙÙ ÙÙÙÙÙØ§.`,preserveStyles:`Ø§ÙØÙØ§Ø¸ عÙÙ Ø§ÙØ£ÙÙ
اط`,replaceWordsOnly:`استبدا٠اÙÙÙÙ
ات ÙÙØ·`,includeEmoji:`Ø§ÙØ±Ù
ÙØ² Ø§ÙØªØ¹Ø¨ÙØ±ÙØ©`,customStopWordsPlaceholder:`ÙØ§Ø¦Ù
Ø© ÙÙÙ
ات Ø§ÙØªÙÙ٠اÙÙ
خصصة: ÙÙÙ
Ø© ÙØ§ØØ¯Ø© ÙÙ ÙÙ Ø³Ø·Ø±Ø Ø£Ù ÙØ§ØµÙØ©Ø Ø£Ù Ø`,importResult:`{{source}}: {{count}} ÙÙÙ
Ø§ØªØ {{rows}} صÙÙÙØ ÙØ¶Ø¹ {{mode}}`,includePhrases:`عبارات`,importMode:{text:`ÙØµ`,table:`طاÙÙØ©`}
7,errors:{xlsUnsupported:`Ø¥Ù Ù
ÙÙ .xls اÙÙØ¯ÙÙ
ØºÙØ± Ù
دعÙÙ
ØØªÙ Ø§ÙØ¢Ù. اØÙظ اÙÙ
ÙÙ Ø¨ØªÙØ³ÙÙ .xlsx Ø£Ù CSV.`,googleSheetsFailed:`تعذر تØÙ
ÙÙ Google Sheets. استخدÙ
Ø±Ø§Ø¨Ø·ÙØ§ عاÙ
ÙØ§ Ø£Ù Ù
ÙØ´ÙØ±ÙØ§ CSV.`,googleSheetsInvalidUrl:`ÙØ°Ø§ ÙØ§ ÙØ¨Ø¯Ù رابط Google Sheets ØµØ§ÙØÙØ§ Ø£Ù CSV Ù
ÙØ´ÙØ±ÙØ§. Ø§ÙØµÙ رابط اÙÙØ±ÙØ© اÙÙØ§Ù
٠أ٠رابط HTTPS CSV عاÙ
ÙØ§.`,googleFileAccessDenied:`Ù
Ø³ØªÙØ¯ Google ØºÙØ± Ù
ØªØ§Ø ÙÙØ¹Ø§Ù
Ø©. ÙÙ Google Docs Ø£Ù Google DriveØ Ø§ÙØªØ Ù
Ø´Ø§Ø±ÙØ© ÙØ§Ø¶Ø¨Ø· اÙÙØµÙÙ Ø§ÙØ¹Ø§Ù
عÙ٠أ٠شخص ÙØ¯ÙÙ Ø§ÙØ±Ø§Ø¨Ø·.`,importFailed:`ÙØ§ ÙÙ
ÙÙ Ø§Ø³ØªÙØ±Ø§Ø¯ Ø§ÙØ¨ÙØ§ÙØ§Øª`,xImportFailed:`ØªØ¹Ø°ÙØ± تØÙ
ÙÙ Ù
ÙØ´Ùر X. استخدÙ
رابط Ù
ÙØ´Ùر عاÙ
.`,redditImportFailed:`ØªØ¹Ø°ÙØ± تØÙ
Ù٠رابط Reddit. استخدÙ
Ù
ÙØ´ÙØ±ÙØ§ Ø£Ù Ù
جتÙ
Ø¹ÙØ§ ÙØ±Ø¹ÙÙØ§ عاÙ
ÙØ§.`,hnImportFailed:`ØªØ¹Ø°ÙØ± تØÙ
ÙÙ Ø¹ÙØµØ± Hacker News. استخدÙ
Ø±Ø§Ø¨Ø·ÙØ§ عاÙ
ÙØ§.`,youtubeImportFailed:`ØªØ¹Ø°ÙØ± تØÙ
ÙÙ ÙÙØ¯ÙÙ YouTube. ÙØ¯ ÙÙÙÙ ØºÙØ± Ù
ØªØ§Ø Ø£Ù Ø£Ù Ø§ÙØ§Ø³ØªÙراد ØºÙØ± Ù
ÙÙÙØ£.`,telegramImportFailed:`ØªØ¹Ø°ÙØ± تØÙ
ÙÙ ÙÙØ§Ø© Telegram. استخدÙ
رابط ÙÙØ§Ø© عاÙ
Ø©.`,rssImportFailed:`ØªØ¹Ø°ÙØ± تØÙ
ÙÙ ÙØ°Ù Ø§ÙØ®Ùاصة. استخدÙ
رابط RSS Ø£Ù Atom ØµØ§ÙØÙØ§.`}},words:{title:`ÙÙÙ
ات`,word:`ÙÙÙ
Ø©`,editWord:`تعدÙ٠اÙÙÙÙ
Ø©`,delete:`ØØ°Ù اÙÙÙÙ
Ø©`,clearList:`Ù
Ø³Ø ÙØ§Ø¦Ù
Ø© اÙÙÙÙ
ات`,count:`ØªÙØ±Ø§Ø±`,size:`Ù
ÙØ§Ø³`,sizeTitle:`Ù
ÙÙØ§Ø³ اÙÙÙÙ
ات Ø£Ù Ø§ÙØ±Ù
ÙØ² Ø§ÙØªØ¹Ø¨ÙØ±ÙØ© باÙÙØ³Ø¨Ø© ÙÙØªÙرار`,sizeWord:`ØØ¬Ù
{{word}}`,resetSize:`إعادة ضبط Ø§ÙØØ¬Ù
`,resetSizeShort:`100`,empty:`أدخ٠اÙÙØµ ÙØªØÙÙÙÙ`,total:`{{count}} اÙÙÙÙ
ات`,filteredTotal:`{{count}} Ù
Ù {{total}}`,searchPlaceholder:`Ø§Ø¨ØØ« ع٠ÙÙÙ
Ø© أ٠رÙ
ز ØªØ¹Ø¨ÙØ±Ù`,noMatches:`ÙØ§ ØªÙØ¬Ø¯ Ù
Ø¨Ø§Ø±ÙØ§Øª`,showing:`عرض {{shown}} Ù
Ù {{count}}`,emoji:`com.emoji`,repeatShort:`Ù
ÙØ¯Ùب.`,repeatTitle:`ÙØ±Ø± اÙÙÙÙ
Ø© Ø£Ø«ÙØ§Ø¡ Ø§ÙØªØ¹Ø¨Ø¦Ø©`,repeatWord:`ÙØ±Ø± {{word}} Ø£Ø«ÙØ§Ø¡ Ø§ÙØªØ¹Ø¨Ø¦Ø©`,enableRepeatWord:`ØªÙØ¹ÙÙ Ø§ÙØªÙرار ÙÙ {{word}}`,disableRepeatWord:`تعطÙÙ Ø§ÙØªÙرار ÙÙ {{word}}`,managerTitle:`Ù
Ø¯ÙØ± اÙÙÙÙ
ات`,managerApply:`تطبÙÙ`,managerDescription:`{{count}} Ø¹ÙØµØ±Ùا Ù
ع اÙÙØ±Ø² ÙØ§Ùإجراءات Ø§ÙØ¬Ù
Ø§Ø¹ÙØ© ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª ÙÙÙ ÙÙÙ
Ø©.`,openManager:`إدارة اÙÙÙÙ
ات`,selected:`اÙÙ
ØØ¯Ø¯: {{count}}`,selectAll:`ØªØØ¯Ùد Ù٠اÙÙÙÙ
ات Ø§ÙØ¸Ø§Ùرة`,kind:`اÙÙÙØ¹`,frequencyValue:`اÙÙØ²Ù {{count}}`,bulkActions:`إجراءات جÙ
Ø§Ø¹ÙØ©`,bulkDescription:`طبÙ٠تغÙÙØ±Ùا ÙØ§ØØ¯Ùا عÙ٠اÙÙÙÙ
ات اÙÙ
ØØ¯Ø¯Ø© Ø¯ÙØ¹Ø© ÙØ§ØØ¯Ø©.`,bulkFont:`خط جÙ
اعÙ`,fontAutoAll:`تÙÙØ§Ø¦Ù ÙÙÙ
ØØ¯Ø¯`,repeatOn:`ØªÙØ±Ø§Ø± تشغÙÙ`,repeatOff:`ØªÙØ±Ø§Ø± Ø¥ÙÙØ§Ù`,repeatAll:`ØªÙØ±Ø§Ø± اÙÙÙ`,deleteSelected:`ØØ°Ù اÙÙ
ØØ¯Ø¯`,wordFont:`خط اÙÙÙÙ
Ø©`,addWord:`Ø¥Ø¶Ø§ÙØ© ÙÙÙ
Ø©`,addPlaceholder:`أض٠ÙÙÙ
Ø© أخرÙâ¦`,addPlaceholderEmpty:`Ø§ÙØªØ¨ ÙÙÙ
Ø© ÙØ§Ø¶ØºØ· Enter`,emptyListTitle:`ÙØ§Ø¦Ù
Ø© اÙÙÙÙ
ات ÙØ§Ø±ØºØ©`,emptyListDescription:`أض٠اÙÙÙÙ
ات Ù٠اÙÙÙ
ÙØ°Ø¬ Ø£Ø¹ÙØ§Ù: Ø§ÙØªØ¨ ÙÙÙ
Ø© ÙØ§Ø¶ØºØ· Enter.`,sourceTitle:`اÙÙØµ اÙÙ
صدر`,sourceDescription:`Ø§ÙØµÙ اÙÙØµ Ø£Ù Ø§Ø³ØªÙØ±Ø¯Ù ÙØªØÙÙÙ٠إÙÙ ÙÙÙ
ات.`},style:{title:`أسÙÙØ¨`,font:`Ø§ÙØ®Ø·`,uploadFont:`تØÙ
ÙÙ Ø§ÙØ®Ø·`,customFonts:`Ù
خصص {{count}}`,customFontsBadge:`{{count}}`,fontLoading:`تØÙ
ÙÙ`,deleteCustomFont:`ØØ°Ù Ø§ÙØ®Ø· اÙÙ
خصص`,scriptFonts:`Ø®Ø·ÙØ· اÙÙØºØ©`,autoFont:`Ø¢ÙÙ`,fontUpload:{title:`تØÙ
Ù٠خط Ù
خصص`,description:`أض٠Ù
Ù٠خط ÙÙ
Ù٠استخداÙ
Ù Ø¨ÙØ§Ø³Ø·Ø© Ù
ÙØ´Ø¦ Ø³ØØ§Ø¨Ø© اÙÙÙÙ
ات.`,formatsTitle:`Ø§ÙØªÙسÙÙØ§Øª اÙÙ
دعÙÙ
Ø©`,formatsBody:`ÙÙØµÙ باستخداÙ
WOFF2. ÙØªÙ
Ø£ÙØ¶Ùا ÙØ¨ÙÙ Ù
ÙÙØ§Øª WOFF ÙTTF ÙOTF Ø§ÙØªÙ ÙØµÙ ØØ¬Ù
ÙØ§ Ø¥ÙÙ 6 Ù
ÙØºØ§Ø¨Ø§Ùت. ÙØ¯ ÙØ§ تعÙ
Ù Ù
جÙ
ÙØ¹Ø§Øª TTC ÙØ§ÙÙ
ØÙÙØ¸Ø§Øª ÙØ®Ø·ÙØ· SVG ÙØ§ÙØ®Ø·ÙØ· اÙÙ
ÙÙÙØ©/اÙÙ
ØªØºÙØ±Ø© بشÙÙ Ù
ÙØ«ÙÙ.`,licenseTitle:`Ø´Ø±ÙØ· Ø§ÙØ§Ø³ØªØ®Ø¯Ø§Ù
`,licenseOwn:`ÙÙ
بتØÙ
ÙÙ Ø§ÙØ®Ø·ÙØ· Ø§ÙØªÙ ÙØÙ Ù٠استخداÙ
ÙØ§ ÙÙØ·.`,licenseAllowed:`تعتبر Ø§ÙØ®Ø·ÙØ· اÙÙ
جاÙÙØ© ÙÙ
ÙØªÙØØ© اÙÙ
ØµØ¯Ø±Ø Ø¹Ù٠سبÙ٠اÙÙ
ثا٠SIL OFL Ø£Ù Apache Ø£Ù Ø§ÙØªØ±Ø§Ø®Ùص اÙÙ
Ø´Ø§Ø¨ÙØ©Ø Ù
ÙØ§Ø³Ø¨Ø©. تÙÙÙ Ø§ÙØ®Ø·ÙØ· Ø§ÙØªØ¬Ø§Ø±ÙØ© Ù
ÙØ§Ø³Ø¨Ø© ÙÙØ· Ø¹ÙØ¯Ù
ا ÙØ³Ù
Ø ØªØ±Ø®ÙØµÙ باستخداÙ
اÙÙÙØ¨/Ø³Ø·Ø Ø§ÙÙ
ÙØªØ¨ ÙØ¥Ùشاء Ø§ÙØµÙر.`,licenseRestricted:`ÙØ§ تÙÙ
بتØÙ
ÙÙ Ø§ÙØ®Ø·ÙØ· Ø§ÙØªÙ ÙØØ¸Ø± ØªØ±Ø®ÙØµÙا Ø§ÙØªØ¶Ù
Ù٠أ٠استخداÙ
اÙÙÙØ¨ Ø£Ù Ø¥ÙØ´Ø§Ø¡ Ø§ÙØµÙر أ٠استخداÙ
ÙØ§ Ù٠خدÙ
ات Ø§ÙØ¥Ùشاء.`,storageTitle:`ØÙØ« ÙØªÙ
تخزÙ٠اÙÙ
ÙÙ`,storageBody:`ÙØªÙ
تخزÙ٠اÙÙ
ÙÙ Ù
ØÙÙÙØ§ ÙÙ ÙØ°Ø§ اÙÙ
ØªØµÙØ باستخداÙ
IndexedDB ÙÙØ§ ÙØªÙ
إرساÙ٠إÙÙ Ø§ÙØ®Ø§Ø¯Ù
Ø£Ø«ÙØ§Ø¡ Ø§ÙØªØÙ
ÙÙ. ستستخدÙ
عÙ
ÙÙØ§Øª Ø§ÙØªØµØ¯Ùر Ù
Ù ÙØ°Ø§ اÙÙ
ØªØµÙØ Ø§ÙØ®Ø·Ø ÙÙÙÙ Ø§ÙØ±Ùابط Ø§ÙØ¹Ø§Ù
Ø© ÙØ§ÙÙ
ØªØµÙØ Ø§ÙØ¢Ø®Ø± ÙØ¯ ÙØªØ±Ø§Ø¬Ø¹Ø§Ù إذا ÙÙ
ÙÙ٠اÙÙ
ÙÙ ÙÙ
7س٠Ù
تاØÙا ÙÙØ§Ù.`,warning:`ÙØªÙ
Ø§ÙØªØ¹Ø§Ù
Ù Ù
ع Ù
ÙÙ ÙØ§ØØ¯ ÙÙÙ
Ø· ÙØ§ØØ¯. ÙÙ
بتØÙ
ÙÙ Ù
ÙÙØ§Øª Ù
ÙÙØµÙØ© إذا ÙÙØª Ø¨ØØ§Ø¬Ø© Ø¥Ù٠أÙÙ
اط Ø¹Ø§Ø¯ÙØ© أ٠غاÙ
ÙØ© Ø£Ù Ù
Ø§Ø¦ÙØ©.`,chooseFile:`اختر Ù
ÙÙ Ø§ÙØ®Ø·`},palette:`ÙÙØØ©`,customPalette:`Ù
خصص`,customPaletteTitle:`ÙÙØØ© Ù
خصصة`,customPaletteHint:`Ø¨ÙØ§Ø¡ Ù
جÙ
ÙØ¹Ø© Ø£ÙÙØ§Ù اÙÙÙÙ
Ø©. ÙØªÙ
تطبÙÙ Ø§ÙØªØºÙÙØ±Ø§Øª عÙÙ Ø§ÙØ³ØØ§Ø¨Ø© Ø§ÙØØ§ÙÙØ© عÙ٠اÙÙÙØ±.`,addCustomColor:`أض٠اÙÙÙÙ`,removeCustomColor:`Ø¥Ø²Ø§ÙØ© اÙÙÙÙ`,resetCustomPalette:`إعادة ضبط اÙÙÙØØ©`,customColorNumber:`اÙÙÙÙ {{number}}`,colorMode:`ÙØ¶Ø¹ اÙÙÙÙ`,sequential:`ØªØ³ÙØ³ÙÙ`,random:`Ø¹Ø´ÙØ§Ø¦Ù`,byFrequency:`ØØ³Ø¨ Ø§ÙØªØ±Ø¯Ø¯`,fontSize:`ÙØ·Ø§Ù Ø§ÙØØ¬Ù
`,min:`دÙÙÙØ©`,max:`Ø§ÙØ£Ø¹ÙÙ`,morePalettes:`جÙ
ÙØ¹ اÙÙÙØØ§Øª`,paletteDialogTitle:`ÙÙØØ© Ø§ÙØ£ÙÙØ§Ù`,paletteDialogCount:`{{count}} ÙÙØØ§Øª`,closePalettes:`Ø¥ØºÙØ§Ù اÙÙÙØØ§Øª`},layout:{title:`ØªÙØ®Ø·ÙÙØ·`,spiral:`Ø¯ÙØ§Ù
Ø©`,archimedean:`أرخÙ
ÙØ¯Ø³`,rectangular:`Ù
ستطÙÙØ©`,rotation:`ØªÙØ¬ÙÙ`,horizontal:`Ø£ÙÙÙ`,mixed:`Ù
Ø®ØªÙØ·`,vertical:`Ø±ÙØ£Ø³ÙÙÙ`,orthogonal:`Ø£ÙÙ٠عÙ
ÙØ¯Ù`,crossing:`Ø¹Ø¨ÙØ± Ø£ÙÙ٠عÙ
ÙØ¯Ù`,crossingVoids:`Ø¹Ø¨ÙØ± اÙÙØ±Ø§ØºØ§Øª`,dancing:`ÙÙÙ
ات Ø§ÙØ±Ùص`,positiveSlope:`ÙØ·Ø±Ù صاعد`,negativeSlope:`ÙØ·Ø±Ù ÙØ§Ø¨Ø·`,random:`Ø¹Ø´ÙØ§Ø¦Ù`,custom:`Ù
خصص`,moreOrientations:`جÙ
ÙØ¹ Ø§ÙØªÙØ¬ÙØ§Øª`,orientationDialogTitle:`اتجا٠اÙÙÙÙ
Ø©`,orientationDialogCount:`Ø£ÙØ¶Ø§Ø¹ {{count}}`,closeOrientations:`Ø§ÙØªÙØ¬ÙØ§Øª اÙÙØ±Ùبة`,crossingPreview:`Ù
عبر`,voidsPreview:`اÙÙØ±Ø§ØºØ§Øª`,dancingPreview:`Ø§ÙØ±Ùص`,wordsPreview:`ÙÙÙ
ات`,positivePreview:`صاعد`,negativePreview:`ÙØ§Ø¨Ø·`,slopePreview:`ÙØ·Ø±Ù`,customAngles:`Ø§ÙØ²ÙØ§ÙØ§`,customAnglesPlaceholder:`0Ø -30Ø 30Ø 90`,angled:`بزاÙÙØ©`,free:`Ø²ÙØ§Ùا ØØ±Ø©`,padding:`تباعد اÙÙÙÙ
ات`,maxWords:`ØØ¯ اÙÙÙÙ
ات`},shape:{title:`Ø´ÙÙ`,popular:`شائع`,selected:`Ù
ختارة`,openCatalog:`ÙØªØ§ÙÙØ¬`,catalogTitle:`ÙØªØ§ÙÙØ¬ Ø§ÙØ´ÙÙ`,catalogCount:`{{count}} Ø§ÙØ£Ø´ÙاÙ`,closeCatalog:`Ø¥ØºÙØ§Ù ÙØªØ§ÙÙØ¬ Ø§ÙØ´ÙÙ`,catalogCustomize:`ØªØ®ØµÙØµ Ø§ÙØ´ÙÙ`,catalogColor:`ÙÙÙ Ø§ÙØ´ÙÙ`,catalogInvert:`Ø¹ÙØ³ Ø§ÙØ´ÙÙ`,catalogInvertHint:`اÙ
ÙØ£ اÙÙ
ÙØ·ÙØ© ØÙÙ ÙØ°Ø§ اÙÙ
ØÙØ· Ø¨Ø¯ÙØ§Ù Ù
٠اÙÙ
ØÙØ· ÙÙØ³Ù.`,catalogBack:`Ø±Ø¬ÙØ¹`,catalogEditFree:`ØªØØ±Ùر`,catalogApply:`تطبÙÙ`,searchPlaceholder:`Ø§ÙØ¨ØØ« Ø¹Ù Ø§ÙØ£Ø´ÙØ§Ù ÙØ§ÙØ¹ÙØ§Ù
ات`,catalogEmpty:`ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙÙ Ø£Ø´ÙØ§Ù`,deleteShape:`ØØ°Ù Ø§ÙØ´ÙÙ "{{name}}"`,deleteShapeConfirm:`ÙÙ ØªØ±ÙØ¯ ØØ°Ù Ø§ÙØ´ÙÙ "{{name}}" Ù
Ù Ø£Ø´ÙØ§ÙÙØ`,customTitle:`Ø´ÙÙ Ù
خصص`,customDescription:`ارسÙ
Ù
ØÙØ·ÙØ§ Ù٠اÙÙ
ÙØ´Ø¦ Ø£Ù ÙÙ
Ø¨Ø§Ø³ØªÙØ±Ø§Ø¯ ØµÙØ±Ø©`,builderOpen:`Ù
ÙØ´Ø¦`,builderTitle:`Ù
ÙØ´Ø¦ Ø§ÙØ´ÙÙ`,builderDescription:`Ø£ÙØ´Ø¦ Ù
ØÙØ·ÙØ§ ÙÙØ·ÙÙØ§ Ø£Ù ØÙÙÙ Ø§ÙØØ±ÙÙ ÙØ§ÙØ£Ø±ÙØ§Ù
Ø¥ÙÙ ÙÙØ§Ø¹ Ù
تجÙ.`,builderDrawMode:`ÙÙØ§Ù`,builderTextMode:`Ø§ÙØØ±ÙÙ ÙØ§ÙØ£Ø±ÙØ§Ù
`,builderControls:`ÙÙÙÙØ© Ø§ÙØ±Ø³Ù
`,builderHintAdd:`اÙÙØ± أ٠اضغط عÙÙ Ø§ÙØ´Ø¨ÙØ© ÙØ¥Ø¶Ø§ÙØ© ÙÙØ·Ø© Ø¬Ø¯ÙØ¯Ø©.`,builderHintDrag:`Ø§Ø³ØØ¨ Ø§ÙØ¹Ùد ÙØ¥Ø¹Ø§Ø¯Ø© تشÙÙ٠اÙÙÙØ§Ù. ÙØªÙ
Ø¥ØºÙØ§Ù Ø§ÙØ´Ù٠تÙÙØ§Ø¦ÙÙØ§.`,builderHintSnap:`ÙØ´Ùر Ù
ØºÙØ§Ø·Ùس Ø®ÙÙ٠إÙÙ Ø§ÙØ´Ø¨ÙØ©. اضغط Ù
ع Ø§ÙØ§Ø³ØªÙ
رار عÙÙ Alt ÙØªØ¬Ø§Ùز Ø§ÙØ§ÙØªÙØ§Ø·.`,builderTextInput:`Ø§ÙØ´Ø®ØµÙات`,builderTextPlaceholder:`2026`,builderTextFont:`Ø§ÙØ®Ø·`,builderTextFontSearch:`خط Ø§ÙØ¨ØØ«`,builderTextFontSearchClear:`Ù
Ø³Ø Ø§ÙØ¨ØØ« Ø¹Ù Ø§ÙØ®Ø·`,builderTextFontSearchEmpty:`ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙÙ Ø§ÙØ®Ø·ÙØ·`,builderTextStyle:`أسÙÙØ¨`,builderTextInvert:`Ø¹ÙØ³`,builderTextInvertHint:`Ø§ÙØªØ±Ø§Ø¶Ùا ÙØªÙ
Ù
ÙØ¡ Ø§ÙØØ±ÙÙ. Ø¹ÙØ¯ ÙÙØ¨ÙØ§Ø ØªÙ
ØªÙØ¦ اÙÙ
ÙØ·ÙØ© اÙÙ
ØÙطة Ø¨ÙØ§.`,builderTextLoading:`إعداد Ø§ÙØ®Ø·ÙØ· Ø§ÙØ¹Ø±Ùضة`,builderTextPreviewEmpty:`Ø£Ø¯Ø®Ù Ø§ÙØØ±ÙÙ Ø£Ù Ø§ÙØ£Ø±ÙاÙ
`,builderTextError:`تعذر Ø¥ÙØ´Ø§Ø¡ Ø´ÙÙ ÙØµ`,builderUndo:`تراجع`,builderClear:`ÙØ§Ø¶Ø`,builderReset:`عÙÙØ©`,builderApply:`استخدÙ
Ø§ÙØ´ÙÙ`,builderStats:`{{count}} ÙÙØ·Ø©Ø اÙÙ
ÙØ·ÙØ© {{area}}`,builderShapeName:`Ø´Ù٠اÙÙ
ØªØ¬ÙØ§Øª`,builderEditedSuffix:`تÙ
ØªØØ±ÙرÙ`,closeBuilder:`Ø¥ØºÙØ§Ù Ø§ÙØ¨Ùاء`,editShape:`ØªØØ±Ùر Ø§ÙØ´ÙÙ`,customUpload:`Ø±ÙØ¹`,customThreshold:`عتبة اÙÙÙØ§Ø¹`,customReady:`Ø§ÙØ´ÙÙ "{{name}}" Ø¬Ø§ÙØ²`,customError:`ÙØ§ ÙÙ
ÙÙ Ø¥ÙØ´Ø§Ø¡ Ø´ÙÙ Ù
Ù Ø§ÙØµÙرة`,customModes:{auto:`Ø¢ÙÙ`,alpha:`Ø£ÙÙØ§`,contrast:`Ù
ÙØ§Ø¨ÙØ©`},categories:{all:`Ø§ÙØ¬Ù
ÙØ¹`,basic:`أساسÙ`,nature:`Ø·Ø¨ÙØ¹Ø©`,animals:`Ø§ÙØÙÙØ§Ùات`,kids:`Ø§ÙØ£Ø·ÙاÙ`,numbers:`Ø£Ø±ÙØ§Ù
`,objects:`Ø£Ø´ÙØ§Ø¡`,symbols:`Ø§ÙØ±Ù
ÙØ²`,travel:`ÙØ³Ø§Ùر`,brands:`Ø§ÙØ¹ÙاÙ
ات Ø§ÙØªØ¬Ø§Ø±ÙØ©`,custom:`Ù
خصص`},mode:`ÙØ¶Ø¹`,frequency:`ØØ³Ø¨ Ø§ÙØªØ±Ø¯Ø¯`,fill:`Ù
ÙØ¡ Ø§ÙØ´ÙÙ`,background:`Ø®ÙÙÙØ© Ø§ÙØ´ÙÙ`,backgroundNone:`ÙØ§ ÙÙØ¬Ø¯ Ø®ÙÙÙØ©`,backgroundWhite:`Ø®ÙÙÙØ© ÙØ§ØªØØ©`,backgroundSky:`Ø®ÙÙÙØ© Ø§ÙØ³Ù
اء`,backgroundMint:`Ø®ÙÙÙØ© اÙÙØ¹Ùاع`,backgroundWarm:`Ø®ÙÙÙØ© Ø¯Ø§ÙØ¦Ø©`,backgroundRose:`Ø®ÙÙÙØ© اÙÙØ±Ø¯`,backgroundCustom:`Ø§Ø®ØªÙØ§Ø± ÙÙÙ Ø®ÙÙÙØ© Ø§ÙØ´ÙÙ`},stopWords:{title:`تÙÙ٠ع٠اÙÙÙÙ
ات`,enable:`تصÙÙØ© ÙÙÙ
ات Ø§ÙØªÙÙÙ`,language:`ÙØºØ©`,auto:`Ø¢ÙÙ`,ru:`Ø§ÙØ±ÙØ³ÙØ©`,en:`Ø§ÙØ¥ÙجÙÙØ²ÙØ©`,es:`Ø§ÙØ¥Ø³Ø¨Ø§ÙÙØ©`,fr:`اÙÙØ±ÙØ³ÙØ©`,ar:`Ø§ÙØ¹Ø±Ø¨ÙØ©`,zh:`Ø§ÙØµÙÙÙØ©`},export:{title:`ÙØµØ¯Ùر`,format:`Ø´ÙÙ`,quality:`Ø¬ÙØ¯Ø©`,background:`Ø®ÙÙÙØ©`,transparent:`Ø´ÙØ§Ù`,white:`Ø£Ø¨ÙØ¶`,dark:`Ù
ظÙÙ
`,save:`ÙØÙØ¸`,download:`تØÙ
ÙÙ`,toggleOptions:`Ø®ÙØ§Ø±Ø§Øª Ø§ÙØªØµØ¯Ùر`,close:`Ø¥ØºÙØ§Ù`,printReady:`Ø¬Ø§ÙØ² ÙÙØ·Ø¨Ø§Ø¹Ø© PDF`,printReadyDescription:`اÙÙØ±ÙØ© Ø§ÙØ«Ø§Ø¨ØªØ© ÙØ§ÙÙÙØ§Ù
Ø´ ÙØ¹ÙاÙ
ات Ø§ÙØ·Ø¨Ø§Ø¹Ø©`,page:`ØµÙØØ©`,margin:`ÙØ§Ù
ÙØ´`,bleed:`ÙÙØ²Ù`,safeZone:`Ù
ÙØ·ÙØ© Ø¢Ù
ÙØ©`,cropMarks:`Ø¹ÙØ§Ù
ات اÙÙ
ØØ§ØµÙÙ`,downloading:`Ø¬Ø§Ø±Ù Ø§ÙØªÙزÙÙ...`,watermark:`اÙÙ
صدر: {{site}}`,hideWatermark:`بدÙÙ ØÙÙÙ Ø§ÙØ®Ø¯Ù
Ø©`,hideWatermarkDescription:`Ø¥Ø²Ø§ÙØ© تÙÙÙØ¹ اÙÙ
ÙÙØ¹ Ù
٠اÙÙ
ÙÙØ§Øª اÙÙ
صدÙÙØ±Ø©`},publish:{button:`Ù
Ø´Ø§Ø±ÙØ©`,creating:`جار٠اÙÙØ´Ø±...`,title:`ÙØ´Ø± Ø³ØØ§Ø¨Ø©`,description:`ÙÙØ´Ø¦ Ø±Ø§Ø¨Ø·ÙØ§ ÙÙØ°Ù Ø§ÙØ³ØØ§Ø¨Ø© Ø¨ØªØ®Ø·ÙØ·Ùا ÙØ´ÙÙÙØ§ ÙÙÙ
Ø·ÙØ§ Ø§ÙØØ§ÙÙ.`,publicLifetime:`ÙÙØÙØ¸ اÙÙØ§Ùب Ø§ÙØ¹Ø§Ù
Ø¨ÙØ§ Ø§ÙØªÙاء ÙÙÙØµÙÙ٠ضÙ
Ù ÙØºØ© اÙÙØ§Ø¬ÙØ© Ø§ÙØØ§ÙÙØ©.`,privateLifetime:`ÙØ¹Ù
Ù Ø§ÙØ±Ø§Ø¨Ø· Ø§ÙØ®Ø§Øµ ÙÙ
دة 90 ÙÙÙ
ÙØ§ ÙÙØ§ ÙØ¸Ùر Ù٠اÙÙØªØ§ÙÙØ¬.`,defaultTitle:`Ø³ØØ§Ø¨Ø© ÙÙÙ
اتÙ`,nameLabel:`عÙÙØ§Ù اÙÙ
ÙØ´Ùر`,namePlaceholder:`Ù
ثاÙ: Ø®Ø±ÙØ·Ø© Ø£ÙÙØ§Ø± اÙÙ
Ø´Ø±ÙØ¹`,publicNotice:`سÙÙÙÙ Ø§ÙØ¹ÙÙØ§Ù ÙØ§ÙÙÙÙ
ات ÙØ§ÙØµÙØ±Ø© Ù
Ø±Ø¦ÙØ© ÙÙØ¬Ù
ÙØ¹ Ù٠اÙÙØªØ§ÙÙØ¬ Ø§ÙØ¹Ø§Ù
.`,privateToggle:`Ø§ÙØ§ØØªÙاظ برابط خاص`,privateDescription:`عدÙ
عرض ÙØ°Ø§ Ø§ÙØ¹Ù
Ù Ù٠اÙÙØªØ§ÙÙØ¬ Ø§ÙØ¹Ø§Ù
`,privateNotice:`ÙØªØ§Ø اÙÙØ§Ùب ÙÙØ· ÙÙ
Ù ÙÙ
ÙÙ Ø§ÙØ±Ø§Ø¨Ø·. Ø³ÙØªÙÙÙ Ø§ÙØ±Ø§Ø¨Ø· Ø¹Ù Ø§ÙØ¹Ù
٠بعد 90 ÙÙÙ
ÙØ§.`,create:`ÙØ´Ø± اÙÙØ§Ùب`,createPrivate:`Ø¥ÙØ´Ø§Ø¡ رابط خاص`,publicResult:`ÙÙØ´Ø± اÙÙØ§Ùب Ù٠اÙÙØªØ§ÙÙØ¬ ÙØ³ÙÙØÙØ¸ Ø¨ÙØ§ Ø§ÙØªÙاء.`,privateResult:`Ø§ÙØ±Ø§Ø¨Ø· Ø§ÙØ®Ø§Øµ ØµØ§ÙØ ÙÙ
دة 90 ÙÙÙ
ÙØ§Ø ÙÙÙ ÙØ¸Ùر اÙÙØ§Ùب Ù٠اÙÙØªØ§ÙÙØ¬.`,newPublication:`Ø¬Ø¯ÙØ¯`,link:`ÙØµÙØ©`,copy:`ÙÙØ³Ø®`,copied:`Ù
ÙÙÙÙ`,open:`ÙÙØªØ`,close:`ÙØºÙÙ`,native:`ÙØ´Ø§Ø±Ù`,nativeTitle:`shapewords Ø³ØØ§Ø¨Ø© اÙÙÙÙ
ات`,socialTitle:`ÙØ´Ø±`,socialOpen:`ÙØ´Ø± عÙÙ {{name}}`,socialPreviewNote:`ØªØ¸ÙØ± Ø§ÙØµÙرة عبر Open Graph Ø¹ÙØ¯Ù
ا ØªØ¬ÙØ¨ Ø§ÙØ´Ø¨ÙØ© Ù
عاÙÙØ© Ø§ÙØ±Ø§Ø¨Ø·.`,qrAlt:`رÙ
ز QR ÙÙØ±Ø§Ø¨Ø·`,empty:`ÙÙ
Ø¨Ø¥ÙØ´Ø§Ø¡ Ø³ØØ§Ø¨Ø© Ø£ÙÙØ§Ù`,error:`تعذر ÙØ´Ø± اÙÙØ§Ùب`,previewError:`تعذر إعداد Ù
عاÙÙØ© اÙÙ
ÙØ´Ùر`},templatePage:{badge:`ÙØ§Ùب عاÙ
`,description:`Ø§Ø³ØªÙØ´Ù اÙÙÙÙ
ات ÙØ§ÙØ´ÙÙ ÙÙÙØØ© Ø§ÙØ£ÙÙØ§Ù ÙØªØ®Ø·ÙØ· ÙØ°Ø§ اÙÙØ§Ùب اÙÙ
ÙØ´Ùر.`,back:`ÙØªØ§ÙÙØ¬ اÙÙÙØ§Ùب`,loading:`جار٠تØÙ
Ù٠اÙÙØ§Ùب...`,words:`{{count}} اÙÙÙÙ
ات`,notFoundTitle:`ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙÙ Ø§ÙØ±Ø§Ø¨Ø·`,expiredTitle:`Ø§ÙØªÙت ØµÙØ§ØÙØ© ÙØ°Ø§ Ø§ÙØ±Ø§Ø¨Ø·`,expiredDescription:`ÙØ°Ø§ Ø§ÙØ±Ø§Ø¨Ø· اÙÙØ¯ÙÙ
ÙÙ
ÙØ¹Ø¯ ÙØ´Ø·Ùا. اختر ÙØ§ÙØ¨ÙØ§ آخر Ù
٠اÙÙØªØ§ÙÙØ¬.`,loadError:`تعذر تØÙ
Ù٠اÙÙØ§Ùب`,applyError:`تعذر ÙØªØ اÙÙØ§Ùب Ù٠اÙÙ
ØØ±Ø±`,copyError:`تعذر ÙØ³Ø® Ø§ÙØ±Ø§Ø¨Ø·`,templateNumber:`اÙÙØ§Ùب · {{id}}`,copyLink:`ÙØ³Ø® Ø§ÙØ±Ø§Ø¨Ø·`,copied:`تÙ
ÙØ³Ø® Ø§ÙØ±Ø§Ø¨Ø·`,useTemplate:`استخداÙ
ÙØ°Ø§ اÙÙØ§Ùب`,opening:`جار٠اÙÙØªØ...`,language:`اÙÙØºØ©`,shape:`Ø§ÙØ´ÙÙ`,shapeCaption:`اÙÙ
خطط اÙÙ
ØØ¯Ø¯ ÙÙØ³ØØ§Ø¨Ø©`,font:`Ø§ÙØ®Ø·`,orientation:`Ø§ÙØ§ØªØ¬Ø§Ù`,fontSize:`Ù
ÙÙØ§Ø³ Ø§ÙØ®Ø·`,published:`ØªØ§Ø±ÙØ® اÙÙØ´Ø±`,details:`ØªÙØ§ØµÙ٠اÙÙØ§Ùب`,contents:`اÙÙ
ØØªÙÙ`,preview:`Ù
عاÙÙØ©`,usedWords:`اÙÙÙÙ
ات اÙÙ
ستخدÙ
Ø©`,wordWeight:`ÙØ²Ù اÙÙÙÙ
Ø©`,colorScheme:`ÙØ¸Ø§Ù
Ø§ÙØ£ÙÙØ§Ù`,customPalette:`ÙÙØØ© Ù
خصصة`,technicalDetails:`ØªÙØ§ØµÙÙ Ø§ÙØªØ®Ø·ÙØ·`,spiral:`اÙÙ
سار Ø§ÙØÙØ²ÙÙÙ`,wordSpacing:`تباعد اÙÙÙÙ
ات`,colorMode:`ØªØ±ØªÙØ¨ Ø§ÙØ£ÙÙØ§Ù`,wordLimit:`ØØ¯ اÙÙÙÙ
ات`,placedWords:`اÙÙÙÙ
ات اÙÙ
ÙØ¶Ùعة`,canvasSize:`اÙÙÙØØ©`,viewMode:`Ø§ÙØ¹Ø±Ø¶`,readyBadge:`اجعÙÙ Ø®Ø§ØµÙØ§ بÙ`,readyTitle:`Ø§ØØªÙظ Ø¨Ø§ÙØªÙÙÙÙ ÙØºÙÙØ± اÙÙØµØ©.`,readyDescription:`Ø§ÙØªØ اÙÙØ§Ùب Ù٠اÙÙ
ØØ±Ø± ÙØ§Ø³ØªØ¨Ø¯Ø§Ù اÙÙÙÙ
ات أ٠ضبط Ø§ÙØ´ÙÙ ÙØ§ÙØ£ÙÙØ§Ù Ø£Ù ØªØµØ¯ÙØ± اÙÙØªÙجة.`},wordMap:{metaTitle:`Ø®Ø±ÙØ·Ø© ÙÙÙ
ات Ø«ÙØ§Ø«ÙØ© Ø§ÙØ£Ø¨Ø¹Ø§Ø¯ ØªÙØ§Ø¹ÙÙØ© ÙÙØ¹Ø§ÙÙ
| shapewords`,metaDescription:`Ø§Ø³ØªÙØ´Ù اÙÙÙÙ
ات Ø§ÙØ£Ùثر ØªÙØ±Ø§Ø±Ùا Ù
٠آخر ÙØªØ§Ø¦Ø¬ Google News RSS ÙÙØ¨Ùدا٠عÙÙ ÙØ±Ø© Ø£Ø±Ø¶ÙØ© Ø«ÙØ§Ø«ÙØ© Ø§ÙØ£Ø¨Ø¹Ø§Ø¯ Ù
ع تخزÙÙ ÙÙÙ
Ù Ù
Ø¤ÙØª.`,title:`Ø®Ø±ÙØ·Ø© ÙÙÙ
ات Ø§ÙØ¹Ø§ÙÙ
`,search:`Ø¨ØØ« ع٠Ù
ÙØ§Ù`,searchPlaceholder:`Ø§Ø¨ØØ« Ø¹Ù Ø¨ÙØ¯`,placePicker:`Ø§Ø®ØªÙØ§Ø± اÙÙ
ÙØ§Ù`,country:`Ø¨ÙØ¯`,results:`اÙÙØªØ§Ø¦Ø¬`,noResults:`ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙ٠أÙ
اÙÙ`,world:`Ø§ÙØ¹Ø§ÙÙ
`,toggleOrbit:`تشغÙ٠أ٠إÙÙØ§Ù Ø¯ÙØ±Ø§Ù اÙÙØ±Ø© Ø§ÙØ£Ø±Ø¶ÙØ©`,words:`اÙÙÙÙ
ات`,empty:`اختر Ø¨ÙØ¯Ùا`,scale:{world:`Ø§ÙØ¹Ø§ÙÙ
`,country:`Ø§ÙØ¨Ùد`},newsSource:`Google News RSS`,newsSelectCountry:`Ø§Ø¨ØØ« Ø¹Ù Ø¨ÙØ¯ ÙØ§Ø®ØªØ±Ù ÙØªØÙ
ÙÙ ÙÙÙ
ات Ø§ÙØ£Ø®Ø¨Ø§Ø±`,newsReady:`ÙÙÙ
ات Ø§ÙØ£Ø®Ø¨Ø§Ø± Ø¬Ø§ÙØ²Ø©`,newsLoading:`جار٠تØÙ
Ù٠اÙÙÙÙ
ات Ø§ÙØ£Ùثر ØªÙØ±Ø§Ø±Ùا Ù
Ù Ø§ÙØ£Ø®Ø¨Ø§Ø±`,newsFresh:`تÙ
Ø§ÙØªØÙ
ÙÙ Ù
Ù Google News RSS`,newsCached:`استخداÙ
Ø°Ø§ÙØ±Ø© Ø§ÙØ£Ø®Ø¨Ø§Ø± اÙÙÙÙ
ÙØ©`,newsErrorShort:`Ø§ÙØ£Ø®Ø¨Ø§Ø± ØºÙØ± Ù
ØªØ§ØØ©`,newsError:`تعذر تØÙ
ÙÙ ÙÙÙ
ات أخبار Ø§ÙØ¨Ùد`,newsEmpty:`ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙÙ ÙÙÙ
ات Ù
ØªÙØ±Ø±Ø©`,reloadNews:`إعادة تØÙ
ÙÙ ÙÙÙ
ات Ø§ÙØ£Ø®Ø¨Ø§Ø±`},canvas:{undo:`تراجع`,redo:`إعادة`,generate:`Ø¥ÙØ´Ø§Ø¡`,regenerate:`ØªØ¬Ø¯ÙØ¯`,fullscreen:`Ù
ÙØ¡ Ø§ÙØ´Ø§Ø´Ø©`,zoom:`ØªÙØ¨Ùر`,showGrid:`عرض Ø§ÙØ´Ø¨ÙØ©`,hideGrid:`Ø¥Ø®ÙØ§Ø¡ Ø§ÙØ´Ø¨ÙØ©`,openMenuHint:`Ø§ÙØªØ اÙÙØ§Ø¦Ù
Ø© ÙØ¥Ø¶Ø§ÙØ© ÙÙÙ
ات`,emptyTitle:`Ù
Ø³Ø§ØØ© Ø§ÙØ¹Ù
Ù ÙØ§Ø±ØºØ©`,emptyDesktopDescription:`Ø£Ø¶Ù ÙØµÙا Ù٠اÙÙÙØØ© اÙÙÙ
Ù٠أ٠استخدÙ
اÙÙÙ
ÙØ°Ø¬ ÙØ¥Ùشاء Ø³ØØ§Ø¨Ø© ÙÙÙ
ات.`,emptyMobileDescription:`Ø§ÙØªØ اÙÙØ§Ø¦Ù
Ø© ÙØ£Ø¶Ù ÙØµÙا ÙØ¥Ùشاء Ø³ØØ§Ø¨Ø© ÙÙÙ
ات.`,generating:`Ø¬Ø§Ø±Ù Ø§ÙØ¥Ùشاء...`,assigningFontsProgress:`تعÙÙÙ Ø§ÙØ®Ø·ÙØ·`,loadingFontsProgress:`تØÙ
ÙÙ Ø§ÙØ®Ø·ÙØ·`,prepareProgress:`ØªØØ¶Ùر`,preparingOutlineProgress:`Ø¥ÙØ´Ø§Ø¡ اÙÙ
سارات`,fillProgress:`Ù
ÙØ¡ Ø§ÙØ´ÙÙ`,shapeWordCountLabel:`اÙÙÙÙ
ات ÙÙ Ø§ÙØ´ÙÙ`,progressAssigningFonts:`Ø§Ø®ØªÙØ§Ø± Ø§ÙØØ±Ù٠اÙÙ
دعÙÙ
Ø©`,progressLoadingFonts:`تØÙ
ÙÙ Ù
ÙÙØ§Øª Ø§ÙØ®Ø·ÙØ· اÙÙ
ØØ¯Ø¯Ø©`,progressPreparing:`اÙÙÙØ§Ø¹ ÙØ§ÙØ®Ø·ÙØ· ÙØ§ÙØµÙØ± Ø§ÙØ±Ù
Ø²ÙØ©`,progressPreparingOutline:`تØÙÙ٠اÙÙÙÙ
ات Ø¥ÙÙ Ù
سارات`,progressWords:`{{placed}} / {{target}} اÙÙÙÙ
ات`,progressPlaced:`{{placed}} اÙÙÙÙ
ات`,selectedWord:`اÙÙÙÙ
Ø© اÙÙ
ختارة`,selectWord:`اختر اÙÙÙÙ
Ø© {{word}}`,editWord:`تعدÙ٠اÙÙÙÙ
Ø© {{word}}`,wordColor:`ÙÙÙ`,wordFont:`Ø§ÙØ®Ø·`,wordSize:`Ù
ÙØ§Ø³`,wordRotation:`ØªÙØ§Ùب`,wordCurve:`Ù
ÙØÙÙ`,pinWord:`Ù
ÙØ¶Ø¹ Ø§ÙØ¯Ø¨Ùس`,unpinWord:`Ø¥Ø²Ø§ÙØ© ØªØ«Ø¨ÙØª اÙÙ
ÙØ¶Ø¹`,protectPinnedArea:`ØÙ
Ø§ÙØ© Ù
Ø³Ø§ØØ© Ø§ÙØ¹Ø¨Ø§Ø±Ø© باÙÙØ§Ù
Ù`,unprotectPinnedArea:`Ø¥Ø²Ø§ÙØ© ØÙ
Ø§ÙØ© Ù
Ø³Ø§ØØ© Ø§ÙØ¹Ø¨Ø§Ø±Ø©`,pinConflict:`تÙ
ØªØ«Ø¨ÙØª اÙÙ
ÙØ¶Ø¹Ø ÙÙ٠اÙÙÙÙ
Ø© تتعارض جزئÙÙØ§ Ù
ع Ø§ÙØ´Ù٠أ٠Ù
ع ÙÙÙ
Ø© Ù
ثبتة أخرÙ.`,deleteWord:`ØØ°Ù ÙÙÙ
Ø©`,mainAccentTitle:`ÙÙ ØªØ±ÙØ¯ Ø¥Ø¶Ø§ÙØ© ÙÙØ·Ø© ترÙÙØ²Ø`,mainAccentDescription:`ÙÙ
ÙÙ Ø£Ù ØªØµØ¨Ø Â«{{word}}» Ù
Ø±ÙØ² Ø§ÙØªØµÙ
ÙÙ
بصرÙÙØ§. Ø³ÙØ®ØªØ§Ø± Ø®Ø·ÙØ§ Ù
Ù
ÙØ²Ùا ÙÙÙÙÙÙ Ø§ÙØØ¬Ù
Ø£Ù Ø§ÙØ¯ÙØ±Ø§Ù Ø£Ù Ø§ÙØ§ÙØÙاء Ù
ع Ø§ÙØ´ÙÙ. ستÙ
ÙØ£ اÙÙÙÙ
ات اÙÙ
Ø³Ø§ØØ© اÙÙ
ØÙطة Ø¨ÙØ§.`,mainAccentProcessing:`Ø¬Ø§Ø±Ù Ø§Ø®ØªÙØ§Ø± Ø§ÙØ®Ø·â¦`,mainAccentFontError:`تعذر تØÙ
Ù٠خط ÙØ¥Ø¨Ø±Ø§Ø² Ø§ÙØ¹Ø¨Ø§Ø±Ø©. ØØ§ÙÙ Ù
رة أخرÙ.`,mainAccentAction:`اجعÙÙØ§ Ø§ÙØ¹Ùصر Ø§ÙØ±Ø¦ÙسÙ`,mainAccentDismiss:`Ø¥Ø®ÙØ§Ø¡ Ø§ÙØ§ÙتراØ`,sparseFillTitle:`Ù
ا Ø²Ø§ÙØª ÙÙØ§Ù Ù
Ø³Ø§ØØ© ÙØ§Ø±ØºØ© ÙÙ Ø§ÙØ´ÙÙ`,sparseFillDescription:`Ø§ÙØªÙرار Ù
تÙÙÙØ ÙØ°ÙÙ ÙØ§ ØªÙØ¬Ø¯ Ø¹ÙØ§ØµØ± ÙØ§ÙÙØ© ÙÙ
ÙØ¡ Ø§ÙØ´ÙÙ Ø¨ÙØ«Ø§ÙØ©. ÙÙ
ÙÙ ÙÙØ°Ùاء Ø§ÙØ§ØµØ·ÙØ§Ø¹Ù Ø¥ÙØ¬Ø§Ø¯ Ù
Ø±Ø§Ø¯ÙØ§Øª Ø¬Ø¯ÙØ¯Ø© ÙØ¹Ø¨Ø§Ø±Ø§Øª ÙØµÙرة Ù
رتبطة باÙÙ
عÙÙ.`,sparseFillAction:`Ø§ÙØ¨ØØ« ع٠Ù
Ø±Ø§Ø¯ÙØ§Øª Ø¨Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·ÙاعÙ`,sparseFillProcessing:`ÙØ¨ØØ« Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·Ùاع٠ع٠ÙÙÙ
اتâ¦`,sparseFillDism
7iss:`Ø¥Ø®ÙØ§Ø¡ Ø§ÙØ§ÙتراØ`,sparseFillNoNewWords:`ÙÙ
ÙØ¬Ø¯ Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·Ùاع٠ÙÙÙ
ات أ٠عبارات Ø¬Ø¯ÙØ¯Ø© ÙÙØ±Ùدة. Ø¬Ø±ÙØ¨ تعدÙ٠اÙÙØ§Ø¦Ù
Ø© Ø§ÙØ£ØµÙÙØ©.`},tooltips:{help:`ÙØ³Ø§Ø¹Ø¯`,text:{title:`ÙÙØ¨Ù Smart Import اÙÙØµ Ø§ÙØ¹Ø§Ø¯ÙØ CSV/TSVØ Excel .xlsxØ ÙGoogle Sheets Ø§ÙØ¹Ø§Ù
. ÙØªÙ
Ø§Ø³ØªÙØ±Ø§Ø¯ Ø§ÙØ¬Ø¯Ø§ÙÙ Ø§ÙØªÙ ØªØØªÙ٠عÙ٠أعÙ
دة اÙÙÙÙ
ات ÙØ§ÙØªÙØ±Ø§Ø± Ù
باشرةÙ.`,languageProcessing:`ÙÙØ³ÙÙ
اÙÙØµ Ø¥ÙÙ ÙÙÙ
ات ÙÙÙÙØ§ ÙÙØºØªÙ ÙØ¨Ù ØØ³Ø§Ø¨ Ø§ÙØªÙرار. ÙÙÙÙ Ù
ÙØ¹ÙÙÙØ§ Ø§ÙØªØ±Ø§Ø¶ÙÙØ§Ø عطÙÙÙ ÙØ§Ø³ØªØ®Ø¯Ø§Ù
Ø§ÙØªÙسÙÙ
Ø§ÙØ£Ø³Ø§Ø³Ù.`,keepCase:`ÙØØªÙØ¸ بأÙÙ ØØ§ÙØ© تÙ
Ø§ÙØªØ´Ø§ÙÙØ§ ÙÙÙ ÙÙÙ
Ø©. Ø¹ÙØ¯ Ø¥ÙÙØ§Ù Ø§ÙØªØ´ØºÙÙØ ÙØªÙ
ØªØ·Ø¨ÙØ¹ اÙÙÙÙ
ات Ø¥ÙÙ Ø£ØØ±Ù ØµØºÙØ±Ø©.`,countFrequency:`Ø¹ÙØ¯ Ø§ÙØªØ´ØºÙÙØ تؤد٠اÙÙ
ØµØ·ÙØØ§Øª اÙÙ
ØªÙØ±Ø±Ø© Ø¥ÙÙ Ø²ÙØ§Ø¯Ø© ÙØ²Ù اÙÙÙÙ
Ø©. Ø¹ÙØ¯ Ø¥ÙÙØ§Ù Ø§ÙØªØ´ØºÙÙØ ØªØØµÙ ÙÙ ÙÙÙ
Ø© Ù
Ø³ØªÙØ±Ø¯Ø© عÙÙ ÙØ²Ù 1.`,removeStopWords:`ÙÙÙÙ
بتصÙÙØ© اÙÙÙÙ
ات اÙÙØ¸ÙÙÙØ© Ø§ÙØ´Ø§Ø¦Ø¹Ø© ÙÙØºØ© اÙÙ
ØØ¯Ø¯Ø© Ø£Ù ÙÙ٠اÙÙØºØ§Øª اÙÙ
دعÙÙ
Ø© Ø§ÙØªÙ ÙØªÙ
Ø§ÙØªØ´Ø§ÙÙØ§ Ù٠اÙÙØµØ Ø¨Ø§ÙØ¥Ø¶Ø§ÙØ© Ø¥ÙÙ ÙØ§Ø¦Ù
Ø© ÙÙÙ
ات Ø§ÙØªÙÙ٠اÙÙ
خصصة.`,detectDuplicates:`Ø¹ÙØ¯ Ø§ÙØªØ´ØºÙÙØ ÙØªÙ
دÙ
ج اÙÙÙÙ
ات اÙÙ
ØªØ·Ø§Ø¨ÙØ©. Ø¹ÙØ¯ Ø¥ÙÙØ§Ù Ø§ÙØªØ´ØºÙÙØ ÙØªÙ
Ø§ÙØÙØ§Ø¸ عÙÙ ØªØ³ÙØ³Ù اÙÙÙÙ
ات Ø§ÙØ£ØµÙÙ.`,lemmatizeWords:`Ø¹ÙØ¯ Ø§ÙØªÙ
ÙÙÙØ تتÙ
تسÙÙØ© Ø£Ø´ÙØ§Ù اÙÙÙÙ
ات Ø§ÙØ±ÙØ³ÙØ© ÙØ§ÙØ¥ÙØ¬ÙÙØ²ÙØ© ÙØ¨Ù ØØ³Ø§Ø¨ Ø§ÙØªÙØ±Ø§Ø±Ø Ø¨ØÙØ« ÙÙ
ÙÙ ÙÙØ³Ùارات ÙØ§ÙØ³ÙØ§Ø±Ø§Øª ÙØ§ÙØ¬Ø±Ù ÙØ§Ùجر٠Ù
Ø´Ø§Ø±ÙØ© Ù
جÙ
ÙØ¹Ø§ØªÙا Ø§ÙØ£Ø³Ø§Ø³ÙØ©.`,russianLemmatize:`ÙØ¬Ù
ع بشÙÙ Ù
تØÙظ ØµÙØº اÙÙÙÙ
ات Ø§ÙØ±ÙØ³ÙØ© اÙÙ
دعÙÙ
Ø©Ø ØªØ¨Ù٠اÙÙÙÙ
ات اÙÙ
ÙØªØ¨Ø³Ø© Ù
ÙÙØµÙØ© ÙØªÙØÙظ Ù
ÙØ§Ø¶Ø¹Ùا Ø§ÙØ£ØµÙÙØ©.`,englishLemmatize:`ÙØ¬Ù
ع Ø§ÙØªØµØ±ÙÙØ§Øª Ø§ÙØ¥ÙجÙÙØ²ÙØ© ÙÙ ØµÙØº اÙÙØ§Ù
ÙØ³ ÙØ¨Ù ØØ³Ø§Ø¨ Ø§ÙØªÙرار Ù
ع Ø§ÙØ§ØØªÙاظ بÙ
ÙØ§Ø¶Ø¹ اÙÙØµ Ø§ÙØ£ØµÙÙØ©.`,preserveStyles:`Ø¹ÙØ¯ Ø§ÙØªØ´ØºÙÙØ ÙØ¤Ø¯Ù Ø§ÙØ§Ø³ØªÙراد Ø¥Ù٠تغÙÙØ± Ø§ÙØ¨ÙØ§ÙØ§Øª ÙÙØ·. Ø¹ÙØ¯ Ø¥ÙÙØ§Ù Ø§ÙØªØ´ØºÙÙØ تتÙ
إعادة تعÙÙ٠إعدادات Ø§ÙØ®Ø· ÙÙÙØØ© Ø§ÙØ£ÙÙØ§Ù ÙØ§ÙÙØµ Ø§ÙØ£Ø³Ø§Ø³ÙØ© Ø¥ÙÙ Ø§ÙØ¥Ø¹Ø¯Ø§Ø¯Ø§Øª Ø§ÙØ§ÙØªØ±Ø§Ø¶ÙØ©.`,replaceWordsOnly:`Ø¹ÙØ¯ تشغÙÙÙØ ÙØ¤Ø¯Ù Ø§ÙØ§Ø³ØªÙراد Ø¥Ù٠استبدا٠جدÙ٠اÙÙÙÙ
ات Ù
باشرة٠دÙ٠إعادة Ù
Ø¹Ø§ÙØ¬Ø© اÙÙØµ Ø§ÙØ®Ø§Ù
. Ø¹ÙØ¯ Ø¥ÙÙØ§Ù Ø§ÙØªØ´ØºÙÙØ ÙÙ
ر اÙÙ
صدر اÙÙ
Ø³ØªÙØ±Ø¯ عبر Ù
Ø¹Ø§ÙØ¬ اÙÙØµ Ø§ÙØ¹Ø§Ø¯Ù.`,includePhrases:`Ø¹ÙØ¯ Ø§ÙØªÙ
ÙÙÙØ تتÙ
Ø¥Ø¶Ø§ÙØ© Ù
جÙ
ÙØ¹Ø§Øª Ù
ØªÙØ±Ø±Ø© Ù
Ù ÙÙÙ
تÙÙ ÙØ¹Ø¨Ø§Ø±Ø§Øª. Ø¹ÙØ¯ Ø§ÙØªØ¹Ø·ÙÙØ ÙØªÙ
استخداÙ
اÙÙÙÙ
ات اÙÙØ±Ø¯ÙØ© ÙÙØ·.`,includeEmoji:`Ø¹ÙØ¯ Ø§ÙØªÙ
ÙÙÙØ ÙØªÙ
استخراج Ø§ÙØ±Ù
ÙØ² Ø§ÙØªØ¹Ø¨ÙØ±ÙØ© ÙØ±Ù
ÙØ² Ù
Ù
ÙØ²Ø© Ù
ÙÙØµÙØ© ÙÙØªÙ
Ø¹Ø±Ø¶ÙØ§ باستخداÙ
أصÙÙ Twemoji SVG.`},words:{title:`ÙØ¹Ø±Ø¶ ÙØ³Ù
اÙÙÙÙ
ات Ø§ÙØ¥Ø¯Ø®Ø§Ù Ø§ÙØ³Ø±Ùع ÙØ§ÙØØ°Ù ÙØ§ÙتØÙÙ
ÙÙ Ø§ÙØªÙرار. Ø§ÙØªØ اÙÙ
Ø¯ÙØ± ÙÙÙØ±Ø² ÙØ§ÙتعدÙÙ Ø§ÙØ¬Ù
Ø§Ø¹Ù ÙØ®Ø· ÙÙ ÙÙÙ
Ø©.`,sidebar:`استخدÙ
Ø§ÙØ´Ø±ÙØ· Ø§ÙØ¬Ø§ÙØ¨Ù ÙØ¥Ø¯Ø§Ø±Ø© ÙØ§Ø¦Ù
Ø© اÙÙÙÙ
ات ÙØ§ÙØªÙØ±Ø§Ø±. Ø§ÙØªØ«Ø¨Ùت Ù
ØªØ§Ø ÙÙØ· ÙÙÙØ³Ø®Ø© اÙÙ
ØØ¯Ø¯Ø© عÙ٠اÙÙÙØØ©.`,manager:`ÙØ¯Ø¹Ù
اÙÙ
Ø¯ÙØ± اÙÙØ±Ø² ØØ³Ø¨ ÙÙ Ø§ÙØ£Ø¹Ù
Ø¯Ø©Ø ÙØ§Ùإجراءات Ø§ÙØ¬Ù
Ø§Ø¹ÙØ©Ø ÙØ§ÙتØÙÙ
ÙÙ Ø§ÙØ¹Ø¯Ø¯ ÙØ§ÙØØ¬Ù
ÙØ§ÙØªÙØ±Ø§Ø± ÙØ§Ùخط ÙÙÙ ÙÙÙ
Ø©.`},ai:{title:`ÙÙØ³Ø¹ Ù
ساعد Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·Ùاع٠اÙÙ
ÙØ¶Ùع اÙÙ
Ø¯Ø®Ù Ø£Ù ÙØªØ±Ø¬Ù
٠إÙ٠اÙÙØºØ§Øª اÙÙ
ØØ¯Ø¯Ø©.`},style:{font:`ÙØ¤Ø«Ø± Ø§ÙØ®Ø· عÙÙ ÙÙ Ù
Ù Ø§ÙØ´Ø®ØµÙØ© اÙÙ
Ø±Ø¦ÙØ© ÙÙ
ÙØ¶Ø¹ اÙÙÙÙ
Ø© اÙÙØ¹ÙÙ Ø¯Ø§Ø®Ù Ø§ÙØ£Ø´ÙاÙ.`,palette:`ØªØØ¯Ø¯ اÙÙÙØØ© Ø£ÙÙØ§Ù اÙÙÙÙ
ات اÙÙ
ØªØ§ØØ©. ÙØªØÙÙ
ÙØ¶Ø¹ Ø§ÙØ£ÙÙØ§Ù ÙÙ ÙÙÙÙØ© تعÙÙ٠تÙÙ Ø§ÙØ£ÙÙØ§Ù.`,colorMode:`ÙØªØ¨Ø¹ Ø§ÙØªØ³Ùس٠ÙÙØØ© Ø§ÙØ£ÙÙØ§ÙØ ÙÙØ®ÙØ· Ø§ÙØ£ÙÙØ§Ù بشÙÙ Ø¹Ø´ÙØ§Ø¦ÙØ ÙÙØ¤Ùد ØØ³Ø¨ Ø§ÙØªÙرار عÙ٠اÙÙÙÙ
ات Ø§ÙØ£Ùثر Ø£ÙÙ
ÙØ©.`,fontSize:`ÙØØ¯Ø¯ ÙØ·Ø§Ù Ø§ÙØØ¬Ù
Ø§ÙØ£Ø¯ÙÙ ÙØ§ÙØ£ÙØµÙ. Ø¹ÙØ¯ تعبئة Ø§ÙØ´ÙÙØ ÙÙØ§ØµÙ اÙÙ
ØØ±Ù تÙÙÙÙ Ø§ÙØ£ØØ¬Ø§Ù
Ø¯Ø§Ø®Ù ÙØ°Ø§ اÙÙØ·Ø§Ù Ø¨Ø¯ÙØ§Ù Ù
٠استخداÙ
ÙÙÙ
ثابتة.`},layout:{title:`تتØÙÙ
إعدادات Ø§ÙØªØ®Ø·ÙØ· ÙÙ Ø§ÙØ¨ØØ« ع٠اÙÙ
Ø³Ø§ØØ© Ø§ÙØØ±Ø©Ø ÙØ§ÙØ²ÙØ§Ùا اÙÙ
سÙ
ÙØ Ø¨ÙØ§Ø ÙØ§Ùتباعد بÙ٠اÙÙÙÙ
Ø§ØªØ ÙØØ¯ اÙÙÙÙ
ات اÙÙ
ستخدÙ
ÙÙ Ø§ÙØªØ®Ø·ÙØ·.`,spiral:`ÙØªØÙÙ
Ø§ÙØ´ÙÙ Ø§ÙØÙØ²ÙÙÙ ÙÙ ÙÙÙÙØ© Ø§ÙØ¨ØØ« ع٠اÙÙ
Ø³Ø§ØØ© Ø§ÙØØ±Ø© ÙÙ Ø§ÙØ³ØØ¨ Ø§ÙØ¹Ø§Ø¯ÙØ© بدÙÙ Ø´ÙÙ.`,rotation:`ÙØØ¯Ø¯ Ø§ÙØ§ØªØ¬Ø§Ù Ø§ÙØ²ÙØ§ÙØ§ اÙÙ
سÙ
ÙØ Ø¨ÙØ§. تعÙ
Ù Ø§ÙØ²ÙØ§ÙØ§ Ø§ÙØØ±Ø© بشÙÙ Ø£ÙØ¶Ù ÙÙ
ÙØ¡ Ø§ÙØ´Ù٠اÙÙØ«ÙÙ.`,padding:`ÙØªØÙÙ
ÙÙ Ø§ÙØØ¯ Ø§ÙØ£Ø¯ÙÙ ÙÙÙ
Ø³Ø§ÙØ© بÙ٠اÙÙÙÙ
ات اÙÙ
ÙØ¶Ùعة. اÙÙÙÙ
اÙÙ
ÙØ®Ùضة ØªØ¹Ø·Ù ÙØ«Ø§ÙØ© أعÙÙØ ÙØ§ÙÙÙÙ
Ø§ÙØ£Ø¹ÙÙ ØªØªØ±Ù ÙØ±Ø§ØºØ§Ù Ø£ÙØ¨Ø±.`,maxWords:`ÙØØ¯Ø¯ عدد اÙÙÙÙ
ات Ø§ÙØªÙ تدخ٠Ù٠تÙÙÙØ¯ Ø§ÙØªØ®Ø·ÙØ·. ÙÙØ·Ø¨Ù ذÙ٠عÙÙ Ø§ÙØ³ØØ¨ Ø§ÙØ¹Ø§Ø¯ÙØ© ÙØ¹Ù٠تعبئة Ø§ÙØ£Ø´ÙØ§ÙØ اÙÙÙÙ
Ø§ÙØ£Ø¹ÙÙ ÙØ¯ ØªØØ³Ù Ø§ÙØªØºØ·ÙØ© ÙÙÙÙØ§ ØªØ²ÙØ¯ زÙ
Ù Ø§ÙØªÙÙÙØ¯.`},shape:{title:`ÙØØ¯Ø¯ Ø§ÙØ´ÙÙ ÙÙØ§Ø¹Ùا ØÙØ« ÙØªÙ
ÙØ¶Ø¹ اÙÙÙÙ
ات Ø¨ÙØ§Ø³Ø·Ø© Ø®Ø·ÙØ· Ø§ÙØ¨Ùس٠دÙÙ ØªØ¬Ø§ÙØ² Ø§ÙØØ¯ÙØ¯. ÙØªÙ
عرض Ø§ÙØ£Ø´ÙØ§Ù Ø§ÙØ´Ø§Ø¦Ø¹Ø© سطرÙÙØ§Ø ÙÙØªÙ
ÙØªØ اÙÙØªØ§ÙÙØ¬ اÙÙØ§Ù
٠بشÙÙ Ù
ÙÙØµÙ.`,background:`تÙÙÙ
Ø§ÙØ®ÙÙÙØ© بتÙ
ÙÙØ² Ù
ÙØ·ÙØ© Ø§ÙØ´ÙÙ Ø®Ù٠اÙÙÙÙ
ات ÙÙØªÙ
تضÙ
ÙÙÙØ§ ÙÙ ØªØµØ¯ÙØ± PNGØ JPGØ
7 SVGØ ÙPDF.`},stopWords:{title:`تÙÙÙ ÙÙ٠ات Ø§ÙØªÙÙÙ Ø¨Ø¥Ø²Ø§ÙØ© اÙÙÙ٠ات اÙÙØ¸ÙÙÙØ© Ø§ÙØ´Ø§Ø¦Ø¹Ø© بØÙØ« ÙØ§ تÙÙÙ Ù ØØ±ÙÙ Ø§ÙØ¬Ø± ÙØØ±ÙÙ Ø§ÙØ¹Ø·Ù عÙÙ Ø§ÙØ³ØØ§Ø¨Ø©.`,enable:`Ø¹ÙØ¯ Ø§ÙØªÙ ÙÙÙØ ØªØªÙ Ø§ÙØªØµÙÙØ© ÙÙØºØ© اÙÙ ØØ¯Ø¯Ø© Ø£Ù ÙÙ٠اÙÙØºØ§Øª اÙ٠دعÙÙ Ø© Ø§ÙØªÙ ØªØ¸ÙØ± Ù٠اÙÙØµ اÙÙ Ø³ØªÙØ±Ø¯.`},export:{title:`ÙÙÙÙ Ø§ÙØªØµØ¯Ùر بØÙظ Ø§ÙØ³ØØ§Ø¨Ø© Ø§ÙØØ§ÙÙØ© Ø¨Ø§ÙØªÙسÙÙ ÙØ§ÙØ¬ÙØ¯Ø© ÙØ§ÙØ®ÙÙÙØ© اÙÙ ØØ¯Ø¯Ø©.`,format:`PNG/JPG ÙÙ Ø§ÙØ£Ùض٠ÙÙØµÙØ±Ø ÙSVG ØªØØªÙظ باÙÙØµ اÙÙ ØªØ¬ÙØ ÙPDF Ù ÙÙØ¯Ø© ÙÙØ·Ø¨Ø§Ø¹Ø© ÙØ§ÙÙ Ø³ØªÙØ¯Ø§Øª.`,quality:`ÙÙÙÙ SQ Ø¨ØªØµØ¯ÙØ± Ø§ÙØªÙسÙÙØ§Øª اÙÙÙØ·ÙØ© ب٠عد٠2xØ ÙHQ ب٠عد٠4x. ÙØ³ØªØ®Ø¯Ù PDF ضغط JPEG ÙØªØ¬Ùب اÙÙ ÙÙØ§Øª ذات Ø§ÙØØ¬Ù Ø§ÙÙØ¨Ùر دÙÙ ØªÙØ§ØµÙÙ Ù ÙÙØ¯Ø©.`,background:`تؤثر Ø§ÙØ®ÙÙÙØ© عÙ٠اÙÙ ÙÙ Ø§ÙØ°Ù ØªÙ ØªØµØ¯ÙØ±Ù ÙÙØ·Ø ÙÙÙØ³ عÙÙ Ù Ø³Ø§ØØ© ع٠٠اÙÙ ØØ±Ø±.`}},ai:{title:`٠ساعد Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·ÙاعÙ`,serverMode:`Ø§ÙØ®Ø§Ø¯Ù `,setupApi:`Ù٠بإعداد OpenRouter API`,actions:{topic:`ØªÙØ³Ùع اÙÙ ÙØ¶Ùع`,phrases:`Ø§ÙØ¹Ø¨Ø§Ø±Ø§Øª Ø§ÙØ±Ø¦ÙØ³ÙØ©`,style:`Ø§ÙØªØ±Ø§Ø أسÙÙØ¨`},actionPlaceholders:{topic:`اÙÙ ÙØ¶Ùع: Ø¹ÙØ¯ Ù ÙÙØ§Ø¯...`,translateOnly:`ÙÙÙ Ø© أ٠عبارة ÙÙØªØ±Ø¬Ù Ø©...`,style:`Ù ÙØ¶Ùع ÙÙØ£Ø³ÙÙØ¨ (Ø§Ø®ØªÙØ§Ø±Ù)`},actionPhrasesNote:`ÙØ³ØªØ®Ø±Ø¬ Ø§ÙØ¹Ø¨Ø§Ø±Ø§Øª Ø§ÙØ±Ø¦ÙØ³ÙØ© ٠٠اÙÙØµ اÙÙ Ø³ØªÙØ±Ø¯.`,processing:`Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·Ùاع٠ÙÙÙØ±...`,apiKeyTitle:`OpenRouter Ù ÙØªØ§Ø ÙØ§Ø¬ÙØ© بر٠جة Ø§ÙØªØ·Ø¨ÙÙØ§Øª`,apiKeyDescription:`ØªØªØ·ÙØ¨ Ù ÙØ²Ø§Øª Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·ÙØ§Ø¹Ù Ù ÙØªØ§Ø OpenRouter ٠جاÙÙ. ÙØªÙ تخزÙ٠اÙÙ ÙØªØ§Ø ÙÙØ· Ù٠اÙÙ ØªØµÙØ Ø§ÙØ®Ø§Øµ بÙ.`,getKey:`Ø§ØØµÙ عÙ٠اÙÙ ÙØªØ§Ø عÙÙ openrouter.ai`,save:`ÙØÙØ¸`,clear:`ÙØ²ÙÙ`,promptHints:{title:`إدراج Ø³Ø±ÙØ¹`,rotate:`عرض Ø§ÙØªØ±Ø§ØØ§Øª أخرÙ`},settings:{open:`إعدادات Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·ÙاعÙ`,action:`إجراء Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·ÙاعÙ`,actionHints:{topic:`ÙÙØ´Ø¦ Ø³ØØ§Ø¨Ø© ÙÙ٠ات ٠٠اÙÙ ÙØ¶Ùع Ø§ÙØ°Ù ØªÙØªØ¨Ù.`,phrases:`ÙØ³ØªØ®Ø±Ø¬ اÙÙÙ٠ات ÙØ§Ùعبارات Ø§ÙØ±Ø¦ÙØ³ÙØ© ٠٠اÙÙØµ اÙÙ Ø³ØªÙØ±Ø¯.`,style:`ÙØ®ØªØ§Ø± ÙÙØØ© Ø£ÙÙØ§Ù ÙØ®Ø·Ùا ÙØ´ÙÙÙØ§ ÙÙØ§Ø³Ø¨ Ù ÙØ¶ÙØ¹Ù Ø£Ù ÙØµÙ.`},title:`إعدادات Ø§ÙØ¬ÙÙ`,description:`Ø§ÙØªØÙÙ Ù٠اÙÙØºØ§Øª Ù٠ستÙÙ Ø§ÙØµÙت ÙØ§ÙÙØºÙ Ø© ÙÙØ«Ø§ÙØ© Ø§ÙØ¹Ø¨Ø§Ø±Ø© ÙØ¨Ù Ø§ÙØ§ØªØµØ§Ù Ø¨Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·ÙاعÙ.`,summary:`{{mode}} · {{languages}} · {{count}} · {{tone}}`,languagesCount:`{{count}} اÙÙØºØ§Øª`,translationCount:`{{count}} Ø§ÙØªØ±Ø¬Ù ات`,generationMode:`ÙØ¶Ø¹`,generationModes:{expand:`ÙÙ Ø¨ØªÙØ³Ùع اÙÙ ÙØ¶Ùع`,translateOnly:`Ø§ÙØªØ±Ø¬Ù ات ÙÙØ·`},generationModeHints:{expand:`Ø³ÙØ¶ÙÙ Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·Ùاع٠اÙÙÙ٠ات ÙØ§Ùعبارات ÙØ§ÙÙ ØªØºÙØ±Ø§Øª ØÙ٠اÙÙ ÙØ¶Ùع اÙ٠صدر Ø¨Ø§Ø³ØªØ®Ø¯Ø§Ù Ø§ÙØ¹Ø¯Ø¯ اÙÙ ØØ¯Ø¯.`,translateOnly:`Ø³ÙØ¹Ùد Ø§ÙØ°Ùاء Ø§ÙØ§ØµØ·Ùاع٠ترج٠ة ÙØ§ØØ¯Ø© Ø¨Ø§ÙØ¶Ø¨Ø· ÙÙÙÙÙ Ø© Ø£Ù Ø§ÙØ¹Ø¨Ø§Ø±Ø© اÙ٠صدر ÙÙÙ ÙØºØ© Ù ØØ¯Ø¯Ø©.`},languages:`اÙÙØºØ© أ٠اÙÙØºØ§Øª`,languageLimit:`٠ا ÙØµÙ Ø¥ÙÙ 30`,languagesPlaceholder:`Ø§ÙØ±ÙØ³ÙØ©Ø Ø§ÙØ¥ÙجÙÙØ²ÙØ©Ø Ø§ÙØ¥Ø³Ø¨Ø§ÙÙØ©... 8Ø§ÙØµÙ بÙÙØ§ØµÙ أ٠أسطر Ø¬Ø¯ÙØ¯Ø©.`,currentLanguage:`ØØ§Ø¶Ùر`,twoLanguages:`ر٠+ Ø¥Ù`,languagePresets:{ten:`10 اÙÙØºØ§Øª`,twenty:`20 اÙÙØºØ§Øª`,thirty:`30 اÙÙØºØ§Øª`},wordCount:`Ø§ÙØØ¯ Ø§ÙØ£Ø¯Ù٠٠٠اÙÙÙ٠ات`,wordCountHint:`استخد٠أ٠ÙÙÙ Ø© Ù Ù 1 Ø¥ÙÙ 80. ÙÙ ÙØ¶Ø¹ Ø§ÙØªØ±Ø¬Ù ات ÙÙØ·Ø ÙØ³Ø§ÙÙ Ø§ÙØ¹Ø¯Ø¯ اÙÙÙØ§Ø¦Ù عدد اÙÙØºØ© اÙÙ ØØ¯Ø¯Ø©.`,tone:`ÙØºÙ Ø©`,phraseMode:`عبارات`,creativity:`٠تÙÙØ¹`,preserveProperNouns:`Ø§ØØªÙظ Ø¨Ø§ÙØ£Ø³Ù اء ÙØ§ÙØ¹ÙØ§Ù ات Ø§ÙØªØ¬Ø§Ø±ÙØ©`,balancedLanguages:`ØªÙØ§Ø²Ù اÙÙØºØ§Øª Ø¨Ø§ÙØªØ³Ø§ÙÙ`,reset:`إعادة Ø
8¶Ø¨Ø·`,done:`Ù
ÙØªÙÙ`,tones:{neutral:`ØÙادÙ`,festive:`Ø§ØØªÙاÙÙ`,professional:`Ø§ØØªØ±Ø§ÙÙ`,playful:`ÙØ¹Ùب`,poetic:`شعرÙ`,minimal:`Ø§ÙØØ¯ Ø§ÙØ£Ø¯ÙÙ`},phraseModes:{mixed:`Ù
Ø®ØªÙØ·`,words:`ÙÙÙ
ات`,phrases:`عبارات ÙØµÙرة`}}},footer:{free:`Ù
جاÙÙ ÙÙØ§ ÙØªØ·Ùب Ø§ÙØªØ³Ø¬ÙÙ`,description:`ÙÙ
Ø¨Ø¥ÙØ´Ø§Ø¡ Ø³ØØ¨ ÙÙÙ
ات عÙÙ Ø´ÙÙ Ù
٠اÙÙØµØ CSVØ ExcelØ ÙGoogle Sheets.`,github:`Ø¬ÙØ«Ø¨`,live:`Ø³ØØ§Ø¨Ø© ØÙØ©`,templates:`ÙÙØ§Ùب`,wordMap:`Ø®Ø±ÙØ·Ø© اÙÙÙÙ
ات`,chromeExtension:`Ø¥Ø¶Ø§ÙØ© Chrome`,privacy:`Ø®ØµÙØµÙØ©`}},Wa={templateCommunity:{about:`About this template`,author:`Public author name`,noAuthor:`Author not specified`,authorProfile:`Public templates by this author`,uses:`Uses`,usesNote:`Editor opens, counted at most once per visitor per day. Not a download count.`,favorite:`Save favorite`,saved:`Saved`,loginHint:`Sign in to save favorites`,actionError:`Could not save. Please try again.`,license:`Reuse terms`,unspecified:`Not specified`,licenseUnknown:`No license was provided. Publication alone does not grant permission for every use; contact the rights holder when needed.`,licenseScope:`Selected by the author, covering only materials they have rights to. Fonts and other third-party elements may have separate terms.`,licenseTerms:`Read license terms`,versions:`Version history`,versionsNote:`Separate publications in the same series. Saved versions are never overwritten.`,versionHow:`Open in the editor, make changes, then select âNew versionâ when publishing.`,contrast:`Contrast check`,contrastNote:`Guidance: 4.5:1 for regular text, 3:1 for large text (24 px, or about 19 px bold). This tests colors, not the whole image: scaling and overlaps affect readability.`,backdrop:`Backdrop for transparency`,white:`White`,dark:`Dark`,shapeBackground:`Shape background`,notMeasured:`Color not supported for calculation`,normalText:`Regular and large text`,largeText:`Large text only`,lowContrast:`Contrast below 3:1`,related:`Related templates`,relatedNote:`Matched by tags, shape and language among recent publications.`,relatedError:`Related templates are temporarily unavailable.`,publicationDetails:`Publication details`,description:`Description`,tags:`Tags`,tagsHint:`Up to 8 comma-separated tags, 32 characters each.`,useCases:`Good for`,authorHint:`Optional. This name and profile will be public. A new name updates your profile across publications.`,authorLogin:`A public name requires sign-in and a public publication.`,licenseConsent:`Only license materials you have rights to. Read the terms: open licenses may be irrevocable.`,publishVersion:`New version of â{{title}}â`,myFavorites:`My favorites`,allTemplates:`All templates`,cases:{education:`Education`,gift:`Gift`,presentation:`Presentation`,social:`Social media`,research:`Research`,decor:`Decoration`}},app:{title:`shapewords`,subtitle:`Word Cloud Generator`,settings:`Settings`,openSettings:`Open settings`,closeSettings:`Close settings`,account:`Account`,openAccount:`Open account`,signIn:`Sign in`,templates:`Templates`,openTemplates:`Open ready-made templates`,wordMap:`Word map`,openWordMap:`Open 3D word map`,live:`Live`,openLive:`Open live rooms`,chromeExtension:`Chrome`,openChromeExtension:`Open Chrome extension`,chromeExtensionBadgeAlt:`Chrome extension`,dismissChromeExtension:`Dismiss Chrome extension prompt`,language:`Language`},common:{loading:`Loading...`,on:`On`,off:`Off`},account:{title:`Account`,subtitle:`Generation history, templates, and styles are saved to your account.`,signInTitle:`Sign in to save your work`,signInSubtitle:`Use an account for generation history, templates, and personal styles.`,login:`Sign in`,register:`Register`,name:`Name`,email:`Email`,password:`Password`,confirmPassword:`Confirm password`,passwordHint:`Password requirements`,passwordMismatch:`Passwords do not match.`,passwordMinLength:`At least 8 characters`,passwordLetter:`At least one letter`,passwordNumber:`At least one number`,socialTitle:`Sign in with a service`,socialSubtitle:`Use Google, Yandex, Facebook, or X to sign in without a separate password.`,socialDivider:`or`,socialGoogle:`Google`,socialFacebook:`Facebook`,socialX:`X`,socialYandex:`Yandex`,noAccount:`Create account`,hasAccount:`Already have an account`,history:`History`,templates:`Templates`,styles:`Styles`,account:`Account`,saveHistory:`Save`,saveTemplate:`Template`,saveStyle:`Style`,saveCurrentHistory:`Save generation`,saveCurrentTemplate:`Save template`,saveCurrentStyle:`Save style`,saveHistoryHint:`Saves the current text, shape, style, and layout settings as a history item.`,saveTemplateHint:`Saves the current project as a reusable template for new w
8ord clouds.`,saveStyleHint:`Saves only visual settings: font, palette, background, orientation, and display options.`,saveName:`Name`,cancel:`Cancel`,save:`Save`,close:`Close account`,backToEditor:`Back to editor`,open:`Open`,apply:`Apply`,delete:`Delete`,emptyHistory:`No saved generations yet.`,emptyTemplates:`No templates yet.`,emptyStyles:`No styles yet.`,words:`words`,placed:`placed`,logout:`Sign out`,signedInAs:`Signed in as`,palette:`palette`,libraryActions:`Save current work`,libraryHint:`History keeps the full project, a template keeps a reusable project, and a style stores only visual settings.`,oauthCancelled:`Sign-in with the external service was cancelled.`,oauthEmailRequired:`The provider did not return an email address. Use another sign-in method.`,oauthEmailUnverified:`The provider did not confirm the email address. Use another sign-in method.`,oauthProviderDisabled:`This sign-in method is not configured yet.`,oauthStateInvalid:`The sign-in session expired. Try again.`,oauthFailed:`Could not complete sign-in with the external service.`},templates:{metaTitle:`Public word cloud templates | shapewords`,metaDescription:`Explore word cloud templates published by the shapewords community and open any design in the editor.`,badge:`Open collection`,title:`Public templates`,description:`Explore word clouds published by the shapewords community. Open any work as a template, replace its words, and keep editing.`,searchPlaceholder:`Search titles and words...`,languageFilter:`Template language`,allLanguages:`All languages`,resultCount:`{{count}} publications`,resetSearch:`Reset search`,loadError:`Could not load public templates`,loadMore:`Show more`,emptyTitle:`Nothing found`,emptyDescription:`Try another search, select all languages, or publish the first word cloud in this section.`,noPreview:`Preview unavailable`,wordsCount:`{{count}} words`},text:{title:`Text`,smartImport:`Smart Import`,smartImportDescription:`Text, CSV/TSV, Excel .xlsx, Google Sheets, and posts from X, Reddit, Hacker News, YouTube, Telegram, and RSS feeds`,closeSmartImport:`Close Smart Import`,smartImportPlaceholder:`Paste text, CSV/TSV, or drag and drop a file...`,placeholder:`Paste text here...`,sample:`Try a sample`,voiceInput:`Voice`,voiceStart:`Start voice input`,voiceStop:`Stop voice input`,voiceStopShort:`Stop`,voiceListening:`Listening to your microphone`,voiceUnsupported:`Voice input is not supported in this browser`,voicePermissionDenied:`Microphone access was blocked. Allow microphone access and try again.`,voiceNoSpeech:`No speech detected. Try again and speak a little closer to the microphone.`,voiceNoMicrophone:`No microphone input was found on this device.`,voiceError:`Could not start voice input`,emoji:`Emoji`,emojiSearchPlaceholder:`Search emoji: laugh, fire, heart...`,emojiSearchLoading:`Loading emoji`,emojiSearchNoResults:`No emoji found`,addEmojiAria:`Add {{emoji}}`,dropHint:`Drop .txt, .csv, .tsv, or .xlsx file`,clear:`Clear`,importFile:`File`,importText:`Import text`,googleSheets:`Google Sheets`,googleSheetsPlaceholder:`Sheet link or published CSV`,googleFileSharingHelp:`How to share a Google file`,import:`Import`,xImport:`X (Twitter)`,xImportPlaceholder:`Paste a post link from x.com`,xImportHint:`Public posts only. Paste one or more links â we import the post text.`,redditImport:`Reddit`,redditImportPlaceholder:`Paste a Reddit post or subreddit link`,redditImportHint:`Public threads and subreddits. We import titles and comments.`,hnImport:`Hacker News`,hnImportPlaceholder:`Paste a Hacker News item link`,hnImportHint:`We import the story and its comments.`,youtubeImport:`YouTube`,youtubeImportPlaceholder:`Paste a YouTube video link`,youtubeImportHint:`We import the title, description, tags, and top comments.`,telegramImport:`Telegram`,telegramImportPlaceholder:`Paste a public channel link or @name`,telegramImportHint:`Public channels only. We import recent posts.`,rssImport:`RSS`,rssImportPlaceholder:`Paste any RSS or Atom feed URL`,rssImportHint:`Any blog or news feed. We import item titles and summaries.`,importOptions:`Import rules`,keepCase:`Keep case`,countFrequency:`Count frequency`,removeStopWords:`Remove stop words`,detectDuplicates:`Detect duplicates`,lemmatizeWords:`Lemmatize`,languageProcessing:`Language processing`,languageProcessingStatus:`Processing: {{language}}`,languageProcessingSection:`Language processing`,processingLanguage:`Text language`,autoLanguage:`Detect automatically`,chineseLanguage:`Chinese`,chineseScript:`Chinese script`,chineseScriptAuto:`Detect automatically`,chineseSimplified:`Simplified Chinese`,chineseTraditional:`Traditional Chinese`,chineseMode:`Chinese processing mode`,chineseFast:`Fast`,chinesePrecise:`Precise`,keepSingleHan:`Keep single Chinese characters`,includeNumbers:`Include numbers`,normalizeChineseVariants:`Merge Traditional and Simplified forms`,minTokenLength:`Minimum term length`,chineseStopWordsProfile:`Stop words`,chineseStopWordsCore:`Safe`,chineseStopWordsExtended:`Extended`,chinesePosFilter:`Parts of speech`,chinesePosAll:`All`,chinesePosContent:`Content`,chinesePosNouns:`Nouns`,chineseKeywordRanking:`Term weighting`,chineseKeywordSmart:`Smart`,chineseKeywordFrequency:`Frequency`,chineseKeywordRankingHint:`Smart weighting combines frequency, TF-IDF, TextRank, position, and part of speech; raw frequency remains available in metadata.`,englishLanguage:`English`,englishProcessingHint:`English text is analyzed locally in this browser with part-of-speech tagging and lemmatization.`,englishPosFilter:`Parts of speech`,englishPosAll:`All terms`,englishPosContent:`Content words`,englishPosNouns:`Nouns`,englishLemmatize:`Lemmatize English words`,englishStopWordsProfile:`Stop words`,englishStopWordsCore:`Core`,englishStopWordsExtended:`Extended`,englishStopWordsHint:`Core removes common function words; Extended also filters frequent filler words.`,russianLanguage:`Russian`,russianLocale:`Russian locale`,russianMode:`Russian processing mode`,russianFast:`Fast`,russianPrecise:`OpenCorpora`,russianPreciseHint:`Precise Smart Import loads only the needed local dictionary fragments. Ambiguous forms are never guessed.`,russianPosFilter:`Parts of speech`,russianPosAll:`All`,russianPosContent:`Content words`,russianPosNouns:`Nouns`,russianLemmatize:`Lemmatize Russian words`,russianYoNormalization:`Ð/Ð normalization`,russianYoPreserve:`Keep Ð and Ð distinct`,russianYoFold:`Merge Ð with Ð`,russianYoHint:`Merging improves frequency grouping; original spelling is preserved where possible.`,russianStopWordsProfile:`Stop words`,russianStopWordsCore:`Core`,russianStopWordsExtended:`Extended`,russianStopWordsHint:`Core removes only high-confidence function words; Extended filters more common filler words.`,genericLanguageProcessingHint:`Basic local tokenization is active for this language. Select Chinese, Russian, or English to configure a detailed processor.`,customDictionary:`Custom dictionary`,customDictionaryPlaceholder:`One term per line. Longer terms take priority.`,synonyms:`Synonyms`,synonymsPlaceholder:`One group per line: main term: synonym 1, synonym 2`,processingPrivacyLocal:`Processing runs locally in your browser.`,preciseProcessingHint:`Precise mode improves Chinese word boundaries and may take a little longer.`,preserveStyles:`Preserve styles`,replaceWordsOnly:`Replace words only`,includeEmoji:`Emoji`,customStopWordsPlaceholder:`Custom stop-word list: one word per line, comma, or ;`,importResult:`{{source}}: {{count}} words, {{rows}} rows, {{mode}} mode`,includePhrases:`Phrases`,importMode:{text:`text`,table:`table`}
8,errors:{xlsUnsupported:`Legacy .xls is not supported yet. Save the file as .xlsx or CSV.`,googleSheetsFailed:`Could not load Google Sheets. Use a public link or published CSV.`,googleSheetsInvalidUrl:`This is not a valid Google Sheets or published CSV link. Paste the full sheet link or a public HTTPS CSV URL.`,googleFileAccessDenied:`The Google document is not publicly accessible. In Google Docs or Google Drive, open Share and set General access to Anyone with the link.`,importFailed:`Could not import data`,xImportFailed:`Could not load the X post. Use a public post link.`,redditImportFailed:`Could not load this Reddit link. Use a public post or subreddit.`,hnImportFailed:`Could not load this Hacker News item. Use a public item link.`,youtubeImportFailed:`Could not load this YouTube video. It may be unavailable, or import is not configured.`,telegramImportFailed:`Could not load this Telegram channel. Use a public channel link.`,rssImportFailed:`Could not load this feed. Use a valid RSS or Atom URL.`}},words:{title:`Words`,exportCsv:`Export to CSV`,word:`Word`,editWord:`Edit word`,delete:`Delete word`,clearList:`Clear word list`,count:`Frequency`,size:`Size`,sizeTitle:`Word or emoji scale relative to frequency`,sizeWord:`Size of {{word}}`,resetSize:`Reset size`,resetSizeShort:`100`,empty:`Enter text to analyze`,total:`{{count}} words`,filteredTotal:`{{count}} of {{total}}`,searchPlaceholder:`Search word or emoji`,noMatches:`No matches`,showing:`Showing {{shown}} of {{count}}`,emoji:`emoji`,repeatShort:`rep.`,repeatTitle:`Repeat word while filling`,repeatWord:`Repeat {{word}} while filling`,enableRepeatWord:`Enable repeat for {{word}}`,disableRepeatWord:`Disable repeat for {{word}}`,managerTitle:`Word manager`,managerApply:`Apply`,managerDescription:`{{count}} items with sorting, bulk actions, and per-word settings.`,openManager:`Manage words`,selected:`Selected: {{count}}`,selectAll:`Select all visible words`,kind:`Type`,frequencyValue:`Weight {{count}}`,bulkActions:`Bulk actions`,bulkDescription:`Apply one change to the selected words at once.`,bulkFont:`Bulk font`,fontAutoAll:`Auto for selected`,repeatOn:`Repeat on`,repeatOff:`Repeat off`,repeatAll:`Repeat all`,deleteSelected:`Delete selected`,wordFont:`Word font`,addWord:`Add word`,addPlaceholder:`Add anotherâ¦`,addPlaceholderEmpty:`Type a word and press Enter`,emptyListTitle:`The word list is empty`,emptyListDescription:`Add words in the form above: type a word and press Enter.`,sourceTitle:`Source text`,sourceDescription:`Paste or import text to turn it into words.`},style:{title:`Style`,font:`Font`,uploadFont:`Upload font`,customFonts:`Custom {{count}}`,customFontsBadge:`{{count}}`,fontLoading:`Loading`,deleteCustomFont:`Delete custom font`,scriptFonts:`Language fonts`,autoFont:`Auto`,fontUpload:{title:`Upload a custom font`,description:`Add a font file that can be used by the word cloud generator.`,formatsTitle:`Supported formats`,formatsBody:`WOFF2 is recommended. WOFF, TTF, and OTF files up to 6 MB are also accepted. TTC collections, archives, SVG fonts, and color/variable fonts may not work reliably.`,licenseTitle:`Usage conditions`,licenseOwn:`Upload only fonts that you have the right to use.`,licenseAllowed:`Free and open-source fonts, for example SIL OFL, Apache, or similar licenses, are suitable. Commercial fonts are suitable only when your license allows web/desktop use and image generation.`,licenseRestricted:`Do not upload fonts whose license forbids embedding, web use, image creation, or use in generation services.`,storageTitle:`Where the file is stored`,storageBody:`The file is stored locally in this browser using IndexedDB and is not sent to the server during upload. Exports from this browser will use the font, but public links and another browser may fall back if the same file is not available there.`,warning:`One file is treated as one style. Upload separate files if you need Regular, Bold, or Italic styles.`,chooseFile:`Choose font file`},palette:`Palette`,customPalette:`Custom`,customPaletteTitle:`Custom palette`,customPaletteHint:`Build a word color set. Changes are applied to the current cloud immediately.`,addCustomColor:`Add color`,removeCustomColor:`Remove c
8olor`,resetCustomPalette:`Reset palette`,customColorNumber:`Color {{number}}`,colorMode:`Color mode`,sequential:`Sequential`,random:`Random`,byFrequency:`By frequency`,fontSize:`Size range`,min:`Min`,max:`Max`,morePalettes:`All palettes`,paletteDialogTitle:`Color palette`,paletteDialogCount:`{{count}} palettes`,closePalettes:`Close palettes`},layout:{title:`Layout`,spiral:`Spiral`,archimedean:`Archimedean`,rectangular:`Rectangular`,rotation:`Orientation`,horizontal:`Horizontal`,mixed:`Mixed`,vertical:`Vertical`,orthogonal:`Horizontal Vertical`,crossing:`Crossing Horizontal Vertical`,crossingVoids:`Crossing Voids`,dancing:`Dancing Words`,positiveSlope:`Upward Diagonal`,negativeSlope:`Downward Diagonal`,random:`Random`,custom:`Custom`,moreOrientations:`All orientations`,orientationDialogTitle:`Word orientation`,orientationDialogCount:`{{count}} modes`,closeOrientations:`Close orientations`,crossingPreview:`Crossing`,voidsPreview:`Voids`,dancingPreview:`Dancing`,wordsPreview:`Words`,positivePreview:`Upward`,negativePreview:`Downward`,slopePreview:`Diagonal`,customAngles:`Angles`,customAnglesPlaceholder:`0, -30, 30, 90`,angled:`Angled`,free:`Free angles`,padding:`Word spacing`,maxWords:`Word limit`},shape:{title:`Shape`,popular:`Popular`,selected:`Selected`,openCatalog:`Catalog`,catalogTitle:`Shape catalog`,catalogCount:`{{count}} shapes`,closeCatalog:`Close shape catalog`,catalogCustomize:`Customize shape`,catalogColor:`Shape color`,catalogInvert:`Invert shape`,catalogInvertHint:`Fill the area around this contour instead of the contour itself.`,catalogBack:`Back`,catalogEditFree:`Edit`,catalogApply:`Apply`,searchPlaceholder:`Search shapes and tags`,catalogEmpty:`No shapes found`,deleteShape:`Delete shape "{{name}}"`,deleteShapeConfirm:`Delete shape "{{name}}" from your shapes?`,customTitle:`Custom shape`,customDescription:`Draw a contour in the builder or import an image`,builderOpen:`Builder`,builderTitle:`Shape builder`,builderDescription:`Build a point contour or turn letters and digits into a vector mask.`,builderDrawMode:`Contour`,builderTextMode:`Letters and digits`,builderControls:`How to draw`,builderHintAdd:`Click or tap the grid to add a new point.`,builderHintDrag:`Drag nodes to reshape the contour. The shape closes automatically.`,builderHintSnap:`A light magnet snaps points to the grid. Hold Alt to bypass snapping.`,builderTextInput:`Characters`,builderTextPlaceholder:`A 2026`,builderTextFont:`Font`,builderTextFontSearch:`Search font`,builderTextFontSearchClear:`Clear font search`,builderTextFontSearchEmpty:`No fonts found`,builderTextStyle:`Style`,builderTextInvert:`Invert`,builderTextInvertHint:`By default the letters are filled. When inverted, the area around them is filled.`,builderTextLoading:`Preparing outline`,builderTextPreviewEmpty:`Enter letters or digits`,builderTextError:`Could not build a text shape`,builderUndo:`Undo`,builderClear:`Clear`,builderReset:`Sample`,builderApply:`Use shape`,builderStats:`{{count}} points, area {{area}}`,builderShapeName:`Vector shape`,builderEditedSuffix:`edited`,closeBuilder:`Close builder`,editShape:`Edit shape`,customUpload:`Upload`,customThreshold:`Mask threshold`,customReady:`Shape "{{name}}" is ready`,customError:`Could not create a shape from the image`,customModes:{auto:`Auto`,alpha:`Alpha`,contrast:`Contrast`},categories:{all:`All`,basic:`Basic`,nature:`Nature`,animals:`Animals`,kids:`Kids`,numbers:`Numbers`,objects:`Objects`,symbols:`Symbols`,travel:`Travel`,brands:`Brands`,custom:`Custom`},mode:`Mode`,frequency:`By frequency`,fill:`Fill shape`,background:`Shape background`,backgroundNone:`No background`,backgroundWhite:`Light background`,backgroundSky:`Sky background`,backgroundMint:`Mint background`,backgroundWarm:`Warm background`,backgroundRose:`Rose background`,backgroundCustom:`Choose shape background color`},stopWords:{title:`Stop words`,enable:`Filter stop words`,language:`Language`,auto:`Auto`,ru:`Russian`,en:`English`,es:`Spanish`,fr:`French`,ar:`Arabic`,zh:`Chinese`},export:{title:`Export`,format:`Format`,quality:`Quality`,background:`Background`,transparent:`Transparent`,white:`White`,dark:`Dark`,save:`Save`,download:`Download`,toggleOptions:`Export options`,close:`Close`,printReady:`Print-ready PDF`,printReadyDescription:`Fixed sheet, margins, and print marks`,page:`Page`,margin:`Margin`,bleed:`Bleed`,safeZone:`Safe zone`,cropMarks:`Crop marks`,downloading:`Downloading...`,watermark:`source: {{site}}`,hideWatermark:`Without service copyright`,hideWatermarkDescription:`Remove the source signature from exports`},publish:{button:`Share`,creating:`Publishing...`,title:`Publish cloud`,description:`Creates a link to this cloud with its current layout, shape, and style.`,publicLifetime:`A public template is kept indefinitely and filed under the current interface language.`,privateLifetime:`A private link works for 90 days and is not listed in the catalog.`,defaultTitle:`My word cloud`,nameLabel:`Publication title`,namePlaceholder:`For example, Project idea map`,publicNotice:`The title, words, and image will be visible to everyone browsing the public catalog.`,privateToggle:`Keep a private link`,privateDescription:`Do not list this work in the public catalog`,privateNotice:`The template is available only to people with the link. The link stops working after 90 days.`,create:`Publish template`,createPrivate:`Create private link`,publicResult:`The template is published in the catalog and stored indefinitely.`,privateResult:`The private link is active for 90 days. The template is not listed in the catalog.`,newPublication:`New`,link:`Link`,copy:`Copy`,copied:`Copied`,open:`Open`,close:`Close`,native:`Share`,nativeTitle:`shapewords word cloud`,socialTitle:`Share publication`,socialOpen:`Share to {{name}}`,socialPreviewNote:`The image is served through Open Graph when the network fetches the link preview.`,qrAlt:`Link QR code`,empty:`Generate a cloud first`,error:`Could not publish the template`,previewError:`Could not prepare the publication preview`},templatePage:{badge:`Public template`,description:`Explore the words, shape, palette, and layout of this published word cloud template.`,back:`Template catalog`,loading:`Loading template...`,notFoundTitle:`Template not found`,expiredTitle:`Template unavailable`,expiredDescription:`This legacy link is no longer active. Choose another template from the catalog.`,loadError:`Could not load the template`,applyError:`Could not open the template in the editor`,copyError:`Could not copy the link`,templateNumber:`Template · {{id}}`,copyLink:`Copy link`,copied:`Link copied`,useTemplate:`Use this template`,opening:`Opening...`,language:`Language`,shape:`Shape`,shapeCaption:`Selected cloud outline`,font:`Typeface`,orientation:`Orientation`,fontSize:`Type scale`,published:`Published`,details:`Template details`,contents:`Contents`,preview:`Preview`,usedWords:`Words used`,wordWeight:`Word weight`,colorScheme:`Color scheme`,customPalette:`Custom palette`,technicalDetails:`Layout details`,spiral:`Spiral`,wordSpacing:`Word spacing`,colorMode:`Color order`,wordLimit:`Word limit`,placedWords:`Placed words`,canvasSize:`Canvas`,viewMode:`View`,readyBadge:`Make it yours`,readyTitle:`Keep the composition. Change the story.`,readyDescription:`Open the template in the editor to replace words, adju
8st the shape and colors, or export the result.`},view3d:{modeLabel:`View mode`,sphere:`Sphere`,cube:`Cube`,autoRotate:`Auto-rotate`,depth:`Depth`,reset:`Reset`,fullscreen:`Fullscreen`,exportPng:`PNG`,empty:`Generate a word cloud to see it in 3D.`,hint:`Drag to rotate · scroll to zoom · hover for details`},wordMap:{metaTitle:`Interactive 3D word map of the world | shapewords`,metaDescription:`Explore frequent words from the latest Google News RSS results for countries on an interactive 3D globe, with daily cached news word clusters by map scale.`,title:`World word map`,search:`Search place`,searchPlaceholder:`Search country`,placePicker:`Place picker`,country:`Country`,results:`Results`,noResults:`No places found`,world:`World`,toggleOrbit:`Toggle globe rotation`,hidePanel:`Collapse map panel`,showPanel:`Show map panel`,words:`Words`,empty:`Select a country`,scale:{world:`world`,country:`country`},newsSource:`Google News RSS`,newsSelectCountry:`Search and select a country to load news words`,newsReady:`News words ready`,newsLoading:`Loading latest news words`,newsFresh:`Loaded from Google News RSS`,newsCached:`Using today's cached news words`,newsErrorShort:`News unavailable`,newsError:`Could not load country news words`,newsEmpty:`No frequent news words found`,reloadNews:`Reload news words`},canvas:{undo:`Undo`,redo:`Redo`,generate:`Generate`,regenerate:`Regenerate`,fullscreen:`Fullscreen`,zoom:`Zoom`,showGrid:`Show grid`,hideGrid:`Hide grid`,openMenuHint:`Open the menu to add words`,emptyTitle:`The workspace is empty`,emptyDesktopDescription:`Add text in the left panel or use the sample to build a word cloud.`,emptyMobileDescription:`Open the menu and add text to build a word cloud.`,generating:`Generating...`,assigningFontsProgress:`Assigning fonts`,loadingFontsProgress:`Loading fonts`,prepareProgress:`Preparing`,preparingOutlineProgress:`Building outlines`,fillProgress:`Filling shape`,shapeWordCountLabel:`Words in shape`,progressAssigningFonts:`Choosing valid glyph coverage`,progressLoadingFonts:`Fetching selected font files`,progressPreparing:`Mask, fonts, and glyphs`,progressPreparingOutline:`Converting words to outlines`,progressWords:`{{placed}} / {{target}} words`,progressPlaced:`{{placed}} words`,selectedWord:`Selected word`,selectWord:`Select word {{word}}`,editWord:`Edit word {{word}}`,wordColor:`Color`,wordFont:`Font`,wordSize:`Size`,wordRotation:`Rotation`,wordCurve:`Curve`,pinWord:`Pin position`,unpinWord:`Unpin position`,protectPinnedArea:`Protect the whole phrase area`,unprotectPinnedArea:`Remove phrase area protection`,pinConflict:`The position is pinned, but the word partially conflicts with the shape or another pinned word.`,deleteWord:`Delete word`,mainAccentTitle:`Add a focal point?`,mainAccentDescription:`â{{word}}â can become the visual focus. Weâll choose an expressive font and adapt its size, rotation or curve to the shape. Words will fill the space around it.`,mainAccentProcessing:`Choosing a fontâ¦`,mainAccentFontError:`Could not load an accent font. Please try again.`,mainAccentAction:`Make it the focus`,mainAccentDismiss:`Dismiss suggestion`,sparseFillTitle:`The shape still has open space`,sparseFillDescription:`Repeats are off, so there are not enough entries for a dense fill. AI can find new synonyms and short meaningful phrases.`,sparseFillAction:`Find synonyms with AI`,sparseFillProcessing:`AI is finding wordsâ¦`,sparseFillDismiss:`Dismiss suggestion`,sparseFillNoNewWords:`AI found no new unique words or phrases. Try changing the source list.`},tooltips:{help:`Help`,text:{title:`Smart Import accepts plain text, CSV/TSV, Excel .xlsx, and public Google Sheets. Tables with word and frequency columns are imported directly.`,languageProcessing:`Segments text according to its language before counting words. It is enabled by default; turn it off to use basic tokenization.`,keepCase:`Keeps the first detected casing for each word. When off, words are normalized to lowercase.`,countFrequency:`When on, repeated terms increase word weight. When off, every imported word receives weight 1.`,removeStopWords:`Filters common function words for the selected or auto-detected text languages plus the custom stop-word list.`,detectDuplicates:`When on, identical words are merged. When off, the original word sequence is preserved.`,lemmatizeWords:`When enabled, Russian and English word forms are normalized before frequency counting, so cars, c
8ar, running, and runs can share their base groups.`,russianLemmatize:`Conservatively groups supported Russian forms; ambiguous words stay separate and original spans are retained.`,englishLemmatize:`Groups English inflections into their dictionary forms before frequency counting, while retaining the original text spans.`,preserveStyles:`When on, import changes only the data. When off, font, palette, and basic text settings reset to defaults.`,replaceWordsOnly:`When on, import replaces the word table directly without reprocessing raw text. When off, the imported source goes through the normal text processor.`,includePhrases:`When enabled, repeated two-word combinations are added as phrases. When disabled, only individual words are used.`,includeEmoji:`When enabled, emoji are extracted as separate tokens and rendered with Twemoji SVG assets.`},words:{title:`The words section keeps quick entry, deletion, and repeat controls. Open the manager for sorting, bulk changes, and per-word font settings.`,sidebar:`Use the sidebar for word list and repeat controls. Pinning is only available for the selected canvas instance.`,manager:`The manager supports sorting by every column, bulk actions, and per-word controls for count, size, repeat, and font.`},ai:{title:`The AI assistant expands the entered topic or translates it into selected languages.`},style:{font:`The font affects both visual character and the actual word placement inside shapes.`,palette:`The palette defines available word colors. Color mode controls how those colors are assigned.`,colorMode:`Sequential follows the palette, random shuffles colors, and by frequency emphasizes more important words.`,fontSize:`Sets the minimum and maximum size range. In shape fill, the engine still adapts sizes inside this range instead of using fixed values.`},layout:{title:`Layout settings control free-space search, allowed angles, spacing between words, and the layout word limit.`,spiral:`The spiral controls how free space is searched in regular clouds without a shape.`,rotation:`Orientation defines allowed angles. Free angles work best for dense shape filling.`,padding:`Controls the minimum spacing between placed words. Lower values pack tighter; higher values leave more air.`,maxWords:`Caps how many words participate in layout generation. Applies to both regular clouds and shape filling; higher values can improve coverage but increase generation time.`},shape:{title:`The shape defines a mask where words are placed by pixel contours without crossing the boundary. Popular shapes are shown inline, and the full catalog opens separately.`,background:`The background highlights the shape area behind words and is included in PNG, JPG, SVG, and PDF export.`},stopWords:{title:`Stop words remove common function words so the cloud is not dominated by prepositions and conjunctions.`,enable:`When enabled, common function words are filtered for the selected language or for every supported language detected in the imported text.`},export:{title:`Export saves the current cloud with the selected format, quality, and background.`,format:`PNG/JPG are best for images, SVG keeps vector text, and PDF is useful for print and documents.`,quality:`SQ exports raster formats at 2x, HQ at 4x. PDF uses JPEG compression to avoid oversized files without useful detail.`,background:`Background affects only the exported file, not the editor workspace.`}},ai:{title:`AI Assistant`,serverMode:`Server`,setupApi:`Set up OpenRouter API`,actions:{topic:`Expand topic`,phrases:`Key phrases`,style:`Suggest style`},actionPlaceholders:{topic:`Topic: birthday, space...`,translateOnly:`Word or phrase to translate...`,style:`Topic for style (optional)`},actionPhrasesNote:`Extracts key phrases from your imported text.`,processing:`AI is thinking...`,apiKeyTitle:`OpenRouter API Key`,apiKeyDescription:`AI features require a free OpenRouter key. The key is stored only in your browser.`,getKey:`Get key at openrouter.ai`,save:`Save`,clear:`Remove`,promptHints:{title:`Quick fill`,rotate:`Show other prompts`},settings:{open:`AI settings`,action:`AI action`,actionHints:{topic:`Generates a word cloud from the topic you type.`,phrases:`Pulls key words and phrases from your imported text.`,style:`Picks a palette, font and shape to match your topic or text.`},title:`Generation settings`,description:`Control languages, volume, tone, and phrase density before calling AI.`,summary:`{{mode}} · {{languages}} · {{count}} · {{tone}}`,languagesCount:`{{count}} languages`,translationCount:`{{count}} translations`,generationMode:`Mode`,generationModes:{expand:`Expand topic`,translateOnly:`Translations only`}
8,generationModeHints:{expand:`AI will add words, phrases, and variants around the source topic using the selected count.`,translateOnly:`AI will return exactly one translation of the source word or phrase for each selected language.`},languages:`Language or languages`,languageLimit:`up to 30`,languagesPlaceholder:`Russian, English, Spanish... 9Separate with commas or new lines.`,currentLanguage:`Current`,twoLanguages:`RU + EN`,languagePresets:{ten:`10 languages`,twenty:`20 languages`,thirty:`30 languages`},wordCount:`Minimum words`,wordCountHint:`Use any value from 1 to 80. In translations-only mode, the final count equals the selected language count.`,tone:`Tone`,phraseMode:`Phrases`,creativity:`Variety`,preserveProperNouns:`Keep names and brands`,balancedLanguages:`Balance languages evenly`,reset:`Reset`,done:`Done`,tones:{neutral:`Neutral`,festive:`Festive`,professional:`Professional`,playful:`Playful`,poetic:`Poetic`,minimal:`Minimal`},phraseModes:{mixed:`Mixed`,words:`Words`,phrases:`Short phrases`}}},footer:{free:`Free and no registration required`,description:`Create shaped word clouds from text, CSV, Excel, and Google Sheets.`,github:`GitHub`,live:`Live cloud`,templates:`Templates`,wordMap:`Word map`,chromeExtension:`Chrome extension`,privacy:`Privacy`}},Ga={templateCommunity:{about:`Acerca de la plantilla`,author:`Nombre público del autor`,noAuthor:`Autor no indicado`,authorProfile:`Plantillas públicas de este autor`,uses:`Usos`,usesNote:`Aperturas en el editor, como máximo una por visitante al dÃa. No son descargas.`,favorite:`Guardar favorito`,saved:`Guardado`,loginHint:`Inicia sesión para guardar favoritos`,actionError:`No se pudo guardar. Inténtalo de nuevo.`,license:`Condiciones de uso`,unspecified:`No indicadas`,licenseUnknown:`No se indicó una licencia. Publicar no concede permiso para cualquier uso; consulta al titular de los derechos si es necesario.`,licenseScope:`La eligió el autor y solo cubre materiales cuyos derechos posee. Las fuentes y otros elementos pueden tener condiciones propias.`,licenseTerms:`Leer la licencia`,versions:`Historial de versiones`,versionsNote:`Publicaciones de la misma serie. Las versiones guardadas no se sobrescriben.`,versionHow:`Abre el editor, modifica la plantilla y selecciona «Nueva versión» al publicar.`,contrast:`Comprobar contraste`,contrastNote:`Referencia: 4,5:1 para texto normal; 3:1 para texto grande (24 px o unos 19 px en negrita). Solo se evalúan los colores: la escala y las superposiciones afectan la lectura.`,backdrop:`Fondo para transparencia`,white:`Blanco`,dark:`Oscuro`,shapeBackground:`Fondo de la forma`,notMeasured:`Color no compatible con el cálculo`,normalText:`Texto normal y grande`,largeText:`Solo texto grande`,lowContrast:`Contraste inferior a 3:1`,related:`Plantillas similares`,relatedNote:`Por etiquetas, forma e idioma entre publicaciones recientes.`,relatedError:`Las plantillas similares no están disponibles.`,publicationDetails:`Detalles de publicación`,description:`Descripción`,tags:`Etiquetas`,tagsHint:`Hasta 8 etiquetas separadas por comas, de 32 caracteres.`,useCases:`Ideal para`,authorHint:`Opcional. El nombre y el perfil serán públicos. Un nombre nuevo actualiza tu perfil en todas las publicaciones.`,authorLogin:`El nombre público requiere iniciar sesión y una publicación pública.`,licenseConsent:`Elige una licencia solo para materiales cuyos derechos posees. Lee las condiciones: puede ser irrevocable.`,publishVersion:`Nueva versión de «{{title}}»`,myFavorites:`Mis favoritos`,allTemplates:`Todas las plantillas`,cases:{education:`Educación`,gift:`Regalo`,presentation:`Presentación`,social:`Redes sociales`,research:`Investigación`,decor:`Decoración`}},app:{title:`shapewords`,subtitle:`Generador de nube de palabras`,settings:`Ajustes`,openSettings:`Abrir configuración`,closeSettings:`Cerrar configuración`,account:`Cuenta`,openAccount:`Abrir cuenta`,signIn:`Iniciar sesión`,templates:`Plantillas`,openTemplates:`Abrir plantillas listas para usar`,wordMap:`Mapa de palabras`,openWordMap:`Abrir mapa 3D de palabras`,live:`En vivo`,openLive:`Abrir salas en vivo`,chromeExtension:`Chrome`,openChromeExtension:`Abrir extensión de Chrome`,chromeExtensionBadgeAlt:`Extensión de Chrome`,dismissChromeExtension:`Ocultar sugerencia de extensión de Chrome`,language:`Idioma`},common:{loading:`Cargando...`,on:`Activado`,off:`Desactivado`},account:{title:`Cuenta`,subtitle:`El historial de generación, las plantillas y los estilos se guardan en su cuenta.`,signInTitle:`Inicia sesión para guardar tu trabajo`,signInSubtitle:`Utilice una cuenta para el historial de generación, las plantillas y los estilos personales.`,login:`Iniciar sesión`,register:`Registro`,name:`Nombre`,email:`Correo electrónico`,password:`Contraseña`,confirmPassword:`Confirmar Contraseña`,passwordHint:`Requisitos de contraseña`,passwordMismatch:`Las contraseñas no coinciden.`,passwordMinLength:`Al menos 8 caracteres`,passwordLetter:`Al menos una letra`,passwordNumber:`Al menos un numero`,socialTitle:`Iniciar sesión con un servicio`,socialSubtitle:`Usa Google, Yandex, Facebook o X para iniciar sesión sin una contraseña aparte.`,socialDivider:`o`,socialGoogle:`Google`,socialFacebook:`Facebook`,socialX:`X`,socialYandex:`Yandex`,noAccount:`Crear una cuenta`,hasAccount:`Ya tienes una cuenta`,history:`Historia`,templates:`Plantillas`,styles:`Estilos`,account:`Cuenta`,saveHistory:`Ahorrar`,saveTemplate:`Plantilla`,saveStyle:`Estilo`,saveCurrentHistory:`Guardar generación`,saveCurrentTemplate:`Guardar plantilla`,saveCurrentStyle:`Guardar estilo`,saveHistoryHint:`Guarda la configuración actual de texto, forma, estilo y diseño como un elemento del historial.`,saveTemplateHint:`Guarda el proyecto actual como una plantilla reutilizable para nuevas nubes de palabras.`,saveStyleHint:`Guarda solo configuraciones visuales: fuente, paleta, fondo, orientación y opciones de visualización.`,
9saveName:`Nombre`,cancel:`Cancelar`,save:`Ahorrar`,close:`Cerrar cuenta`,backToEditor:`Volver al editor`,open:`Abierto`,apply:`Aplicar`,delete:`Borrar`,emptyHistory:`Aún no hay generaciones salvadas.`,emptyTemplates:`Aún no hay plantillas.`,emptyStyles:`Aún no hay estilos.`,words:`palabras`,placed:`metido`,logout:`desconectar`,signedInAs:`Iniciado sesión como`,palette:`paleta`,libraryActions:`Guardar trabajo actual`,libraryHint:`El historial guarda el proyecto completo, una plantilla mantiene un proyecto reutilizable y un estilo almacena solo configuraciones visuales.`,oauthCancelled:`Se canceló el inicio de sesión con el servicio externo.`,oauthEmailRequired:`El proveedor no devolvió un correo electrónico. Usa otro método de inicio de sesión.`,oauthEmailUnverified:`El proveedor no confirmó el correo electrónico. Usa otro método de inicio de sesión.`,oauthProviderDisabled:`Este método de inicio de sesión aún no está configurado.`,oauthStateInvalid:`La sesión de inicio de sesión expiró. Inténtalo de nuevo.`,oauthFailed:`No se pudo completar el inicio de sesión con el servicio externo.`},templates:{metaTitle:`Plantillas públicas de nubes de palabras | shapewords`,metaDescription:`Explora plantillas publicadas por la comunidad de shapewords y abre cualquier diseño en el editor.`,badge:`Colección abierta`,title:`Plantillas públicas`,description:`Explora nubes de palabras publicadas por la comunidad. Abre cualquier obra como plantilla y continúa editándola.`,searchPlaceholder:`Buscar tÃtulos y palabras...`,languageFilter:`Idioma de la plantilla`,allLanguages:`Todos los idiomas`,resultCount:`{{count}} publicaciones`,resetSearch:`Restablecer búsqueda`,loadError:`No se pudieron cargar las plantillas públicas`,loadMore:`Mostrar más`,emptyTitle:`No se encontró nada`,emptyDescription:`Prueba otra búsqueda, elige todos los idiomas o publica la primera nube de esta sección.`,noPreview:`Vista previa no disponible`,wordsCount:`{{count}} palabras`,open:`Abierto`,backToList:`Todas las plantillas`,notFoundTitle:`Plantilla no encontrada`,notFoundDescription:`Esta tarjeta de plantilla pública no existe. Vuelva al catálogo y elija una de las plantillas ya preparadas.`,includesTitle:`que hay dentro`,shape:`Forma`,palette:`Paleta`,words:`Palabras`,useTemplate:`Usar plantilla`,useHint:`La plantilla carga texto, palabras, formas y estilos en el espacio de trabajo.`},text:{title:`Texto`,smartImport:`Importación inteligente`,smartImportDescription:`Texto, CSV/TSV, Excel .xlsx, Google Sheets y publicaciones de X, Reddit, Hacker News, YouTube, Telegram y feeds RSS`,closeSmartImport:`Cerrar importación inteligente`,smartImportPlaceholder:`Pegue texto, CSV/TSV, o arrastre y suelte un archivo...`,placeholder:`Pegue el texto aquÃ...`,sample:`Pruebe una muestra`,voiceInput:`Voz`,voiceStart:`Iniciar entrada por voz`,voiceStop:`Detener entrada por voz`,voiceStopShort:`Detener`,voiceListening:`Escuchando el micrófono`,voiceUnsupported:`La entrada por voz no es compatible con este navegador`,voicePermissionDenied:`El acceso al micrófono fue bloqueado. PermÃtelo e inténtalo de nuevo.`,voiceNoSpeech:`No se detectó voz. Inténtalo de nuevo y habla un poco más cerca del micrófono.`,voiceNoMicrophone:`No se encontró ninguna entrada de micrófono en este dispositivo.`,voiceError:`No se pudo iniciar la entrada por voz`,emoji:`emojis`,emojiSearchPlaceholder:`Buscar emoji: risa, fuego, corazón...`,emojiSearchLoading:`Cargando emojis`,emojiSearchNoResults:`No se encontraron emojis`,addEmojiAria:`Agregar {{emoji}}`,dropHint:`Suelte el archivo .txt, .csv, .tsv o .xlsx`,clear:`Claro`,importFile:`Archivo`,importText:`Importar texto`,googleSheets:`Google Sheets`,googleSheetsPlaceholder:`Enlace de hoja o publicado CSV`,googleFileSharingHelp:`Cómo compartir un archivo de Google`,import:`Importar`,xImport:`X (Twitter)`,xImportPlaceholder:`Pega un enlace de una publicación de x.com`,xImportHint:`Solo publicaciones públicas. Pega uno o varios enlaces: importamos el texto de la publicación.`,redditImport:`Reddit`,redditImportPlaceholder:`Pega un enlace de una publicación o subreddit de Reddit`,redditImportHint:`Solo hilos y subreddits públicos. Importamos tÃtulos y comentarios.`,hnImport:`Hacker News`,hnImportPlaceholder:`Pega un enlace de un elemento de Hacker News`,hnImportHint:`Importamos la historia y sus comentarios.`,youtubeImport:`YouTube`,youtubeImportPlaceholder:`Pega un enlace de un vÃdeo de YouTube`,youtubeImportHint:`Importamos el tÃtulo, la descripción, las etiquetas y los comentarios destacados.`,telegramImport:`Telegram`,telegramImportPlaceholder:`Pega un enlace de canal público o @nombre`,telegramImportHint:`Solo canales públicos. Importamos las publicaciones recientes.`,rssImport:`RSS`,rssImportPlaceholder:`Pega la URL de cualquier feed RSS o Atom`,rssImportHint:`Cualquier blog o feed de noticias. Importamos tÃtulos y resúmenes de las entradas.`,importOptions:`Reglas de importación`,keepCase:`mantener el c
9aso`,countFrequency:`Frecuencia de conteo`,removeStopWords:`Eliminar palabras vacÃas`,detectDuplicates:`Detectar duplicados`,lemmatizeWords:`Lematizar`,languageProcessing:`Procesamiento lingüÃstico`,languageProcessingStatus:`Procesamiento: {{language}}`,languageProcessingSection:`Procesamiento lingüÃstico`,processingLanguage:`Idioma del texto`,autoLanguage:`Detectar automáticamente`,chineseLanguage:`Chino`,chineseScript:`Sistema de escritura chino`,chineseScriptAuto:`Detectar automáticamente`,chineseSimplified:`Chino simplificado`,chineseTraditional:`Chino tradicional`,chineseMode:`Modo de procesamiento del chino`,chineseFast:`Rápido`,chinesePrecise:`Preciso`,keepSingleHan:`Conservar caracteres han individuales`,includeNumbers:`Incluir números`,normalizeChineseVariants:`Unificar formas tradicionales y simplificadas`,minTokenLength:`Longitud mÃnima del término`,chineseStopWordsProfile:`Palabras vacÃas`,chineseStopWordsCore:`Seguras`,chineseStopWordsExtended:`Ampliadas`,chinesePosFilter:`CategorÃas gramaticales`,chinesePosAll:`Todas`,chinesePosContent:`Contenido`,chinesePosNouns:`Sustantivos`,chineseKeywordRanking:`Peso de términos`,chineseKeywordSmart:`Inteligente`,chineseKeywordFrequency:`Frecuencia`,chineseKeywordRankingHint:`El modo inteligente combina frecuencia, TF-IDF, TextRank, posición y categorÃa gramatical; la frecuencia original se conserva en los metadatos.`,englishLanguage:`Inglés`,englishProcessingHint:`El texto en inglés se analiza localmente en este navegador con etiquetado gramatical y lematización.`,englishPosFilter:`CategorÃas gramaticales`,englishPosAll:`Todos los términos`,englishPosContent:`Palabras léxicas`,englishPosNouns:`Sustantivos`,englishLemmatize:`Lematizar palabras inglesas`,englishStopWordsProfile:`Palabras vacÃas`,englishStopWordsCore:`Básicas`,englishStopWordsExtended:`Ampliadas`,englishStopWordsHint:`La lista básica elimina palabras funcionales comunes; la ampliada también filtra muletillas frecuentes.`,russianLanguage:`Ruso`,russianLocale:`Variante de ruso`,russianMode:`Modo de procesamiento del ruso`,russianFast:`Rápido`,russianPrecise:`OpenCorpora`,russianPreciseHint:`La importación precisa carga localmente solo los fragmentos necesarios del diccionario y no adivina formas ambiguas.`,russianPosFilter:`Partes de la oración`,russianPosAll:`Todas`,russianPosContent:`Palabras léxicas`,russianPosNouns:`Sustantivos`,russianLemmatize:`Lematizar palabras rusas`,russianYoNormalization:`Normalización Ð/Ð`,russianYoPreserve:`Mantener Ð y Ð por separado`,russianYoFold:`Unir Ð con Ð`,russianYoHint:`La unión mejora la agrupación de frecuencias; la grafÃa original se conserva cuando es posible.`,russianStopWordsProfile:`Palabras vacÃas`,russianStopWordsCore:`Básicas`,russianStopWordsExtended:`Ampliadas`,russianStopWordsHint:`La lista básica elimina solo palabras funcionales seguras; la ampliada filtra más palabras de relleno frecuentes.`,genericLanguageProcessingHint:`La tokenización local básica está activa para este idioma. Seleccione chino, ruso o inglés para configurar un procesador detallado.`,customDictionary:`Diccionario personalizado`,customDictionaryPlaceholder:`Un término por lÃnea. Los términos más largos tienen prioridad.`,synonyms:`Sinónimos`,synonymsPlaceholder:`Un grupo por lÃnea: término principal: sinónimo 1, sinónimo 2`,processingPrivacyLocal:`El procesamiento se realiza localmente en tu navegador.`,preciseProcessingHint:`El modo preciso mejora la segmentación de palabras chinas y puede tardar un poco más.`,preserveStyles:`Preservar estilos`,replaceWordsOnly:`Reemplazar solo palabras`,includeEmoji:`emojis`,customStopWordsPlaceholder:`Lista personalizada de palabras vacÃas: una palabra por lÃnea, coma o ;`,importResult:`{{source}}: {{count}} palabras, {{rows}} filas, {{mode}} modo`,includePhrases:`Frases`,importMode:{text:`texto`,table:`mesa`},errors:{xlsUnsupported:`El archivo .xls heredado aún no es compatible. Guarde el archivo como .xlsx o CSV.`,googleSheetsFailed:`No se pudo cargar Google Sheets. Utilice un enlace público o publicado CSV.`,googleSheetsInvalidUrl:`No parece un enlace válido de Google Sheets ni un CSV publicado. Pegue el enlace completo de la hoja o una URL CSV pública HTTPS.`,googleFileAccessDenied:`El documento de Google no es público. En Google Docs o Google Drive, abra Compartir y configure Acceso general como Cualquier persona con el enlace.`,importFailed:`No se pudieron importar datos`,xImportFailed:`No se pudo cargar la publicación de X. Usa un enlace público.`,redditImportFailed:`No se pudo cargar este enlace de Reddit. Usa una publicación o subreddit público.`,hnImportFailed:`No se pudo cargar este elemento de Hacker News. Usa un enlace público.`,youtubeImportFailed:`No se pudo cargar este vÃdeo de YouTube. Puede no estar disponible o la importación no está configurada.`,telegramImportFailed:`No se pudo cargar este canal de Telegram. Usa un enlace de canal público.`,rssImportFailed:`No se pudo cargar este feed. Usa una URL de RSS o Atom válida.`}},words:{title:`Palabras`,word:`Palabra`,editWord:`Editar palabra`,delete:`Eliminar palabra`,clearList:`Borrar lista de palabras`,count:`Frecuencia`,size:`Tamaño`,sizeTitle:`Escala de palabras o emojis relativa a la frecuencia`,sizeWord:`Tamaño de {{word}}`,resetSize:`Restablecer tamaño`,resetSizeShort:`100`,empty:`Introduce texto a analizar`,total:`{{count}} palabras`,filteredTotal:`{{count}} de {{total}}
9`,searchPlaceholder:`Buscar palabra o emoji`,noMatches:`No hay coincidencias`,showing:`Mostrando {{shown}} de {{count}}`,emoji:`emojis`,repeatShort:`reps.`,repeatTitle:`Repita la palabra mientras completa`,repeatWord:`Repita {{word}} mientras llena`,enableRepeatWord:`Activar repetición de {{word}}`,disableRepeatWord:`Desactivar repetición de {{word}}`,managerTitle:`Gestor de palabras`,managerApply:`Aplicar`,managerDescription:`{{count}} elementos con ordenación, acciones masivas y ajustes por palabra.`,openManager:`Gestionar palabras`,selected:`Seleccionadas: {{count}}`,selectAll:`Seleccionar todas las palabras visibles`,kind:`Tipo`,frequencyValue:`Peso {{count}}`,bulkActions:`Acciones masivas`,bulkDescription:`Aplica un cambio a todas las palabras seleccionadas a la vez.`,bulkFont:`Fuente masiva`,fontAutoAll:`Auto para las seleccionadas`,repeatOn:`Repetición activada`,repeatOff:`Repetición desactivada`,repeatAll:`Repetir todo`,deleteSelected:`Eliminar seleccionadas`,wordFont:`Fuente de la palabra`,addWord:`Añadir palabra`,addPlaceholder:`Añadir otraâ¦`,addPlaceholderEmpty:`Escribe una palabra y pulsa Enter`,emptyListTitle:`La lista de palabras está vacÃa`,emptyListDescription:`Añade palabras en el formulario de arriba: escribe una palabra y pulsa Enter.`,sourceTitle:`Texto de origen`,sourceDescription:`Pega o importa texto para convertirlo en palabras.`},style:{title:`Estilo`,font:`Fuente`,uploadFont:`Subir fuente`,customFonts:`Personalizado {{count}}`,customFontsBadge:`{{count}}`,fontLoading:`Cargando`,deleteCustomFont:`Eliminar fuente personalizada`,scriptFonts:`Fuentes de idioma`,autoFont:`Auto`,fontUpload:{title:`Sube una fuente personalizada`,description:`Agregue un archivo de fuente que pueda ser utilizado por el generador de nube de palabras.`,formatsTitle:`Formatos soportados`,formatsBody:`Se recomienda WOFF2. También se aceptan archivos WOFF, TTF y OTF de hasta 6 MB. Es posible que las colecciones, archivos, fuentes SVG y fuentes de color/variables de TTC no funcionen de manera confiable.`,licenseTitle:`Condiciones de uso`,licenseOwn:`Cargue únicamente fuentes que tenga derecho a utilizar.`,licenseAllowed:`Son adecuadas las fuentes gratuitas y de código abierto, como por ejemplo SIL OFL, Apache o licencias similares. Las fuentes comerciales son adecuadas sólo cuando su licencia permite el uso web/escritorio y la generación de imágenes.`,licenseRestricted:`No cargue fuentes cuya licencia prohÃba la incrustación, el uso web, la creación de imágenes o el uso en servicios de generación.`,storageTitle:`Donde se almacena el archivo`,storageBody:`El archivo se almacena localmente en este navegador usando IndexedDB y no se envÃa al servidor durante la carga. Las exportaciones desde este navegador utilizarán la fuente, pero los enlaces públicos y otro navegador pueden recurrir si el mismo archivo no está disponible allÃ.`,warning:`Un archivo se trata como un estilo. Cargue archivos separados si necesita estilos Regular, Negrita o Cursiva.`,chooseFile:`Elija el archivo de fuente`},palette:`Paleta`,customPalette:`Costumbre`,customPaletteTitle:`paleta personalizada`,customPaletteHint:`Crea un conjunto de colores de palabras. Los cambios se aplican a la nube actual inmediatamente.`,addCustomColor:`agregar color`,removeCustomColor:`Quitar color`,resetCustomPalette:`Restablecer paleta`,customColorNumber:`Color {{number}}`,colorMode:`Modo de color`,sequential:`Secuencial`,random:`Aleatorio`,byFrequency:`Por frecuencia`,fontSize:`Rango de tamaño`,min:`mÃn.`,max:`máx.`,morePalettes:`Todas las paletas`,paletteDialogTitle:`Paleta de colores`,paletteDialogCount:`{{count}} paletas`,closePalettes:`Cerrar paletas`},layout:{title:`Disposición`,spiral:`Espiral`,archimedean:`ArquÃmedes`,rectangular:`Rectangular`,rotation:`Orientación`,horizontal:`Horizontal`,mixed:`Mezclado`,vertical:`Vertical`,orthogonal:`horizontales verticales`,crossing:`Cruzando Horizontal Vertical`,crossingVoids:`Cruzando vacÃos`,dancing:`palabras bailando`,positiveSlope:`Diagonal ascendente`,negativeSlope:`Diagonal descendente`,random:`Aleatorio`,custom:`Costumbre`,moreOrientations:`Todas las orientaciones`,orientationDialogTitle:`orientación de la palabra`,orientationDialogCount:`{{count}} modos`,closeOrientations:`Cerrar orientaciones`,crossingPreview:`Cruce`,voidsPreview:`vacÃos`,dancingPreview:`Baile`,wordsPreview:`Palabras`,positivePreview:`Ascendente`,negativePreview:`Descendente`,slopePreview:`Diagonal`,customAngles:`Anglos`,customAnglesPlaceholder:`0, -30, 30, 90`,angled:`Angular`,free:`ángulos libres`,padding:`Espaciado`,maxWords:`LÃmite de palabras`},shape:{title:`Forma`,popular:`Popular`,selected:`Seleccionado`,openCatalog:`Catalogar`,catalogTitle:`Catálogo de formas`,catalogCount:`{{count}} formas`,closeCatalog:`Cerrar catálogo de formas`,catalogCustomize:`Personalizar forma`,catalogColor:`Color de forma`,catalogInvert:`Invertir forma`,catalogInvertHint:`Rellenar el área alrededor de este contorno en lugar del c
9ontorno.`,catalogBack:`Atrás`,catalogEditFree:`Editar`,catalogApply:`Aplicar`,searchPlaceholder:`Buscar formas y etiquetas`,catalogEmpty:`No se encontraron formas`,deleteShape:`Eliminar forma "{{name}}"`,deleteShapeConfirm:`¿Eliminar la forma "{{name}}" de tus formas?`,customTitle:`Forma personalizada`,customDescription:`Dibuja un contorno en el constructor o importa una imagen.`,builderOpen:`Constructor`,builderTitle:`Constructor de formas`,builderDescription:`Construya un contorno de puntos o convierta letras y dÃgitos en una máscara vectorial.`,builderDrawMode:`Contorno`,builderTextMode:`Letras y dÃgitos`,builderControls:`como dibujar`,builderHintAdd:`Haga clic o toque la cuadrÃcula para agregar un nuevo punto.`,builderHintDrag:`Arrastre los nodos para remodelar el contorno. La forma se cierra automáticamente.`,builderHintSnap:`Un imán ligero apunta a la rejilla. Mantenga presionada la tecla Alt para evitar el ajuste.`,builderTextInput:`Personajes`,builderTextPlaceholder:`Un 2026`,builderTextFont:`Fuente`,builderTextFontSearch:`Fuente de búsqueda`,builderTextFontSearchClear:`Borrar búsqueda de fuentes`,builderTextFontSearchEmpty:`No se encontraron fuentes`,builderTextStyle:`Estilo`,builderTextInvert:`Invertir`,builderTextInvertHint:`Por defecto las letras están rellenas. Cuando se invierte, se llena el área que los rodea.`,builderTextLoading:`Preparando el esquema`,builderTextPreviewEmpty:`Ingrese letras o dÃgitos`,builderTextError:`No se pudo crear una forma de texto`,builderUndo:`Deshacer`,builderClear:`Claro`,builderReset:`Muestra`,builderApply:`Usar forma`,builderStats:`{{count}} puntos, área {{area}}`,builderShapeName:`forma vectorial`,builderEditedSuffix:`editado`,closeBuilder:`Cerrar constructor`,editShape:`Editar forma`,customUpload:`Subir`,customThreshold:`Umbral de máscara`,customReady:`La forma "{{name}}" está lista`,customError:`No se pudo crear una forma a partir de la imagen.`,customModes:{auto:`Auto`,alpha:`Alfa`,contrast:`Contraste`},categories:{all:`Todo`,basic:`Básico`,nature:`Naturaleza`,animals:`animales`,kids:`Niños`,numbers:`Números`,objects:`Objetos`,symbols:`SÃmbolos`,travel:`Viajar`,brands:`Marcas`,custom:`Costumbre`},mode:`Modo`,frequency:`Por frecuencia`,fill:`Rellenar forma`,background:`Fondo de forma`,backgroundNone:`Sin antecedentes`,backgroundWhite:`fondo claro`,backgroundSky:`Fondo del cielo`,backgroundMint:`Fondo de menta`,backgroundWarm:`Fondo cálido`,backgroundRose:`Fondo rosa`,backgroundCustom:`Elija el color de fondo de la forma`},stopWords:{title:`detener las palabras`,enable:`Filtrar palabras vacÃas`,language:`Idioma`,auto:`Auto`,ru:`ruso`,en:`Inglés`,es:`Español`,fr:`Francés`,ar:`Ãrabe`,zh:`Chino`},export:{title:`Exportar`,format:`Formato`,quality:`Calidad`,background:`Fondo`,transparent:`Transparente`,white:`Blanco`,dark:`Oscuro`,save:`Ahorrar`,download:`Descargar`,toggleOptions:`Opciones de exportación`,close:`Cerrar`,printReady:`Listo para imprimir PDF`,printReadyDescription:`Hoja fija, márgenes y marcas de impresión.`,page:`Página`,margin:`Margen`,bleed:`Sangrar`,safeZone:`Zona segura`,cropMarks:`Marcas de recorte`,downloading:`Descargando...`,watermark:`fuente: {{site}}`,hideWatermark:`Sin copyright del servicio`,hideWatermarkDescription:`Quitar la firma con la dirección del sitio de la exportación`},publish:{button:`Compartir`,creating:`Publicando...`,title:`Publicar nube`,description:`Crea un enlace a esta nube con su diseño, forma y estilo actuales.`,publicLifetime:`La plantilla pública se conserva indefinidamente y se clasifica en el idioma actual.`,privateLifetime:`El enlace privado funciona durante 90 dÃas y no aparece en el catálogo.`,defaultTitle:`Mi nube de palabras`,nameLabel:`TÃtulo de la publicación`,namePlaceholder:`Por ejemplo, Mapa de ideas`,publicNotice:`El tÃtulo, las palabras y la imagen serán visibles para todos en el catálogo público.`,privateToggle:`Mantener un enlace privado`,privateDescription:`No mostrar este trabajo en el catálogo público`,privateNotice:`La plantilla solo estará disponible para quienes tengan el enlace. El enlace dejará de funcionar después de 90 dÃas.`,create:`Publicar plantilla`,createPrivate:`Crear enlace privado`,publicResult:`La plantilla se publicó en el catálogo y se conservará indefinidamente.`,privateResult:`El enlace privado estará activo durante 90 dÃas. La plantilla no aparece en el catálogo.`,newPublication:`Nueva`,link:`Enlace`,copy:`Copiar`,copied:`Copiado`,open:`Abierto`,close:`Cerca`,native:`Compartir`,nativeTitle:`shapewords nube de palabras`,socialTitle:`Publicar`,socialOpen:`Publicar en {{name}}`,socialPreviewNote:`La imagen se muestra mediante Open Graph cuando la red obtiene la vista previa del enlace.`,qrAlt:`Código QR del enlace`,empty:`Genera una nube primero`,error:`No se pudo publicar la plantilla`,previewError:`No se pudo preparar la vista previa`},templatePage:{badge:`Plantilla pública`,description:`Explora las palabras, la forma, la paleta y la composición de esta plantilla publicada.`,back:`Catálogo de plantillas`,loading:`Cargando plantilla...`,words:`{{count}} palabras`,notFoundTitle:`Enlace no encontrado`,expiredTitle:`Este enlace ha caducado`,expiredDescription:`Este enlace antiguo ya no está activo. Elige otra plantilla del catálogo.`,loadError:`No se pudo cargar la plantilla`,applyError:`No se pudo abrir la plantilla en el editor`,copyError:`No se pudo copiar el enlace`,templateNumber:`Plantilla · {{id}}`,copyLink:`Copiar enlace`,copied:`Enlace copiado`,useTemplate:`Usar esta plantilla`,opening:`Abriendo...`,language:`Idioma`,shape:`Forma`,shapeCaption:`Contorno seleccionado de la nube`,font:`TipografÃa`,orientation:`Orientación`,fontSize:`Escala tipográfica`,published:`Publicada`,details:`Detalles de la plantilla`,contents:`Contenido`,preview:`Vista previa`,usedWords:`Palabras utilizadas`,wordWeight:`Peso de la palabra`,colorScheme:`Gama de colores`,customPalette:`Paleta personalizada`,technicalDetails:`Detalles de composición`,spiral:`Espiral`,wordSpacing:`Espacio entre palabras`,colorMode:`Orden de colores`,wordLimit:`LÃmite de palabras`,placedWords:`Palabras colocad
9as`,canvasSize:`Lienzo`,viewMode:`Vista`,readyBadge:`Hazla tuya`,readyTitle:`Conserva la composición. Cambia la historia.`,readyDescription:`Abre la plantilla en el editor para sustituir palabras, ajustar la forma y los colores o exportar el resultado.`},wordMap:{metaTitle:`Mapa 3D interactivo de palabras del mundo | shapewords`,metaDescription:`Explora palabras frecuentes de las últimas noticias de Google News RSS por paÃs en un globo 3D interactivo con caché diaria.`,title:`Mapa mundial de palabras`,search:`Buscar lugar`,searchPlaceholder:`Buscar paÃs`,placePicker:`Selector de lugar`,country:`PaÃs`,results:`Resultados`,noResults:`No se encontraron lugares`,world:`Mundo`,toggleOrbit:`Activar o desactivar rotación del globo`,words:`Palabras`,empty:`Selecciona un paÃs`,scale:{world:`mundo`,country:`paÃs`},newsSource:`Google News RSS`,newsSelectCountry:`Busca y selecciona un paÃs para cargar palabras de noticias`,newsReady:`Palabras de noticias listas`,newsLoading:`Cargando palabras frecuentes de noticias`,newsFresh:`Cargado desde Google News RSS`,newsCached:`Usando la caché diaria de noticias`,newsErrorShort:`Noticias no disponibles`,newsError:`No se pudieron cargar palabras de noticias del paÃs`,newsEmpty:`No se encontraron palabras frecuentes`,reloadNews:`Recargar palabras de noticias`},canvas:{undo:`Deshacer`,redo:`Rehacer`,generate:`Generar`,regenerate:`Regenerado`,fullscreen:`Pantalla completa`,zoom:`Zoom`,showGrid:`Mostrar cuadrÃcula`,hideGrid:`Ocultar cuadrÃcula`,openMenuHint:`Abre el menú para agregar palabras.`,emptyTitle:`El espacio de trabajo está vacÃo.`,emptyDesktopDescription:`Agregue texto en el panel izquierdo o use el ejemplo para crear una nube de palabras.`,emptyMobileDescription:`Abra el menú y agregue texto para crear una nube de palabras.`,generating:`Generando...`,assigningFontsProgress:`Asignando fuentes`,loadingFontsProgress:`Cargando fuentes`,prepareProgress:`Preparante`,preparingOutlineProgress:`Creando contornos`,fillProgress:`Forma de relleno`,shapeWordCountLabel:`palabras en forma`,progressAssigningFonts:`Eligiendo glifos compatibles`,progressLoadingFonts:`Cargando archivos de fuente`,progressPreparing:`Máscara, fuentes y glifos`,progressPreparingOutline:`Convirtiendo palabras en contornos`,progressWords:`{{placed}} / {{target}} palabras`,progressPlaced:`{{placed}} palabras`,selectedWord:`palabra seleccionada`,selectWord:`Seleccione la palabra {{word}}`,editWord:`Editar palabra {{word}}`,wordColor:`Color`,wordFont:`Fuente`,wordSize:`Tamaño`,wordRotation:`Rotación`,wordCurve:`Curva`,pinWord:`Posición del pasador`,unpinWord:`Posición de liberación`,protectPinnedArea:`Proteger toda el área de la frase`,unprotectPinnedArea:`Quitar la protección del área de la frase`,pinConflict:`La posición está fijada, pero la palabra entra parcialmente en conflicto con la forma u otra palabra fijada.`,deleteWord:`Eliminar palabra`,mainAccentTitle:`¿Añadir un punto focal?`,mainAccentDescription:`«{{word}}» puede convertirse en el centro visual. Elegiremos una fuente expresiva y adaptaremos el tamaño, giro o curvatura a la forma. Las palabras rellenarán el espacio alrededor.`,mainAccentProcessing:`Eligiendo una fuenteâ¦`,mainAccentFontError:`No se pudo cargar una fuente para destacar. Inténtalo de nuevo.`,mainAccentAction:`Convertir en protagonista`,mainAccentDismiss:`Ocultar sugerencia`,sparseFillTitle:`Aún queda espacio en la forma`,sparseFillDescription:`Las repeticiones están desactivadas y no hay suficientes elementos para rellenarla. La IA puede buscar nuevos sinónimos y frases breves relacionadas.`,sparseFillAction:`Buscar sinónimos con IA`,sparseFillProcessing:`La IA está buscando palabrasâ¦`,sparseFillDismiss:`Ocultar sugerencia`,sparseFillNoNewWords:`La IA no encontró palabras ni frases nuevas y únicas. Prueba a cambiar la lista original.`},tooltips:{help:`Ayuda`,text:{title:`Smart Import acepta texto sin formato, CSV/TSV, Excel .xlsx y público Google Sheets. Las tablas con columnas de palabras y frecuencia se importan directamente.`,languageProcessing:`Segmenta el texto según su idioma antes de contar la fre
9cuencia. Está activado de forma predeterminada; desactÃvalo para usar la segmentación básica.`,keepCase:`Mantiene la primera mayúscula detectada para cada palabra. Cuando está desactivado, las palabras se normalizan a minúsculas.`,countFrequency:`Cuando está activado, los términos repetidos aumentan el peso de las palabras. Cuando está desactivado, cada palabra importada recibe un peso 1.`,removeStopWords:`Filtra palabras funcionales comunes para el idioma seleccionado o para todos los idiomas compatibles detectados en el texto, además de la lista personalizada de palabras irrelevantes.`,detectDuplicates:`Cuando está activado, se fusionan palabras idénticas. Cuando está desactivado, se conserva la secuencia de palabras original.`,lemmatizeWords:`Cuando está habilitado, las formas de las palabras en ruso e inglés se normalizan antes del conteo de frecuencia, por lo que autos, autos, carreras y carreras pueden compartir sus grupos base.`,russianLemmatize:`Agrupa de forma conservadora las formas rusas compatibles; las palabras ambiguas se mantienen separadas y se conservan los intervalos originales.`,englishLemmatize:`Agrupa las flexiones inglesas en sus formas de diccionario antes del conteo y conserva los intervalos originales del texto.`,preserveStyles:`Cuando está activado, la importación cambia solo los datos. Cuando está desactivado, la configuración de fuente, paleta y texto básico se restablece a los valores predeterminados.`,replaceWordsOnly:`Cuando está activado, la importación reemplaza la tabla de palabras directamente sin reprocesar el texto sin formato. Cuando está desactivado, la fuente importada pasa por el procesador de texto normal.`,includePhrases:`Cuando está habilitado, las combinaciones repetidas de dos palabras se agregan como frases. Cuando está deshabilitado, solo se utilizan palabras individuales.`,includeEmoji:`Cuando está habilitado, los emoji se extraen como tokens separados y se representan con recursos Twemoji SVG.`},words:{title:`La sección de palabras mantiene entrada rápida, eliminación y controles de repetición. Abre el gestor para ordenar, editar en masa y ajustar fuentes por palabra.`,sidebar:`Usa la barra lateral para gestionar la lista de palabras y la repetición. La fijación solo está disponible para la instancia seleccionada en el lienzo.`,manager:`El gestor permite ordenar por todas las columnas, acciones masivas y control por palabra de frecuencia, tamaño, repetición y fuente.`},ai:{title:`El asistente de IA amplÃa el tema introducido o lo traduce a los idiomas seleccionados.`},style:{font:`La fuente afecta tanto el carácter visual como la ubicación real de las palabras dentro de las formas.`,palette:`La paleta define los colores de palabras disponibles. El modo de color controla cómo se asignan esos colores.`,colorMode:`Secuencial sigue la paleta, aleatoriamente mezcla los colores y por frecuencia enfatiza las palabras más importantes.`,fontSize:`Define el rango mÃnimo y máximo de tamaño. Al rellenar una forma, el motor sigue adaptando los tamaños dentro de este rango en lugar de usar valores fijos.`},layout:{title:`La configuración de diseño controla la búsqueda de espacio libre, los ángulos permitidos, el espaciado entre palabras y el lÃmite de palabras del layout.`,spiral:`La espiral controla cómo se busca el espacio libre en nubes regulares y sin forma.`,rotation:`La orientación define los ángulos permitidos. Los ángulos libres funcionan mejor para rellenos de formas densas.`,padding:`Controla la distancia mÃnima entre palabras colocadas. Los valores bajos compactan más; los altos dejan más aire.`,maxWords:`Limita cuántas palabras participan en la generación del layout. Se aplica tanto a las nubes normales como al relleno de formas; valores más altos pueden mejorar la cobertura, pero aumentan el tiempo de generación.`},shape:{title:`La forma define una máscara donde las palabras se colocan mediante contornos de pÃxeles sin cruzar el lÃmite. Las formas populares se muestran en lÃnea y el catálogo completo se abre por separado.`,background:`El fondo resalta el área de forma detrás de las palabras y se incluye en la exportación PNG, JPG, SVG y PDF.`},stopWords:{title:`Las palabras vacÃas eliminan las palabras funcionales comunes para que la nube no esté dominada por preposiciones y conjunciones.`,enable:`Cuando está habilitado, las palabras funcionales comunes se filtran para el idioma seleccionado o para todos los idiomas compatibles detectados en el texto importado.`},export:{title:`Exportar guarda la nube actual con el formato, la calidad y el fondo seleccionados.`,format:`PNG/JPG son mejores para imágenes, SVG mantiene texto vectorial y PDF es útil para
9impresiones y documentos.`,quality:`SQ exporta formatos ráster a 2x, HQ a 4x. PDF utiliza compresión JPEG para evitar archivos de gran tamaño sin detalles útiles.`,background:`El fondo afecta sólo al archivo exportado, no al espacio de trabajo del editor.`}},ai:{title:`Asistente de IA`,serverMode:`Servidor`,setupApi:`Configurar la API OpenRouter`,actions:{topic:`Ampliar tema`,phrases:`Frases clave`,style:`Sugerir estilo`},actionPlaceholders:{topic:`Tema: cumpleaños, espacio...`,translateOnly:`Palabra o frase para traducir...`,style:`Tema para el estilo (opcional)`},actionPhrasesNote:`Extrae frases clave de tu texto importado.`,processing:`La IA está pensando...`,apiKeyTitle:`OpenRouter Clave API`,apiKeyDescription:`Las funciones de IA requieren una clave OpenRouter gratuita. La clave se almacena únicamente en su navegador.`,getKey:`Obtenga la clave en openrouter.ai`,save:`Ahorrar`,clear:`Eliminar`,promptHints:{title:`Inserción rápida`,rotate:`Mostrar otras sugerencias`},settings:{open:`Configuración de IA`,action:`Acción de IA`,actionHints:{topic:`Genera una nube de palabras a partir del tema que escribas.`,phrases:`Extrae palabras y frases clave de tu texto importado.`,style:`Elige paleta, fuente y forma según tu tema o texto.`},title:`Configuración de generación`,description:`Controle los idiomas, el volumen, el tono y la densidad de frases antes de llamar a AI.`,summary:`{{mode}} · {{languages}} · {{count}} · {{tone}}`,languagesCount:`{{count}} idiomas`,translationCount:`{{count}} traducciones`,generationMode:`Modo`,generationModes:{expand:`Ampliar tema`,translateOnly:`Sólo traducciones`},generationModeHints:{expand:`La IA agregará palabras, frases y variantes en torno al tema de origen utilizando el recuento seleccionado.`,translateOnly:`La IA devolverá exactamente una traducción de la palabra o frase de origen para cada idioma seleccionado.`},languages:`Idioma o idiomas`,languageLimit:`hasta 30`,languagesPlaceholder:`Ruso, inglés, español... 10Sepárelos con comas o lÃneas nuevas.`,currentLanguage:`Actual`,twoLanguages:`RU + EN`,languagePresets:{ten:`10 idiomas`,twenty:`20 idiomas`,thirty:`30 idiomas`},wordCount:`Palabras mÃnimas`,wordCountHint:`Utilice cualquier valor desde 1 hasta 80. En el modo de solo traducción, el recuento final es igual al recuento del idioma seleccionado.`,tone:`Tono`,phraseMode:`Frases`,creativity:`Variedad`,preserveProperNouns:`Mantener nombres y marcas`,balancedLanguages:`Equilibra los idiomas de manera uniforme`,reset:`Reiniciar`,done:`Hecho`,tones:{neutral:`Neutral`,festive:`Festivo`,professional:`Profesional`,playful:`Juguetón`,poetic:`Poético`,minimal:`MÃnimo`},phraseModes:{mixed:`Mezclado`,words:`Palabras`,phrases:`Frases cortas`}}},footer:{free:`Gratis y sin necesidad de registrarse`,description:`Cree nubes de palabras con formas a partir de texto, CSV, Excel y Google Sheets.`,github:`GitHub`,live:`Nube viva`,templates:`Plantillas`,wordMap:`Mapa de palabras`,chromeExtension:`Extensión de Chrome`,privacy:`Privacidad`}},Ka={templateCommunity:{about:`à propos du modèle`,author:`Nom public de lâauteur`,noAuthor:`Auteur non renseigné`,authorProfile:`Modèles publics de cet auteur`,uses:`Utilisations`,usesNote:`Ouvertures dans lâéditeur, au plus une par visiteur et par jour. Ce ne sont pas des téléchargements.`,favorite:`Ajouter aux favoris`,saved:`En favori`,loginHint:`Connectez-vous pour enregistrer des favoris`,actionError:`Ãchec de lâenregistrement. Réessayez.`,license:`Conditions de réutilisation`,unspecified:`Non précisées`,licenseUnknown:`Aucune licence fournie. Publier nâautorise pas tous les usages ; contactez le titulaire des droits si nécessaire.`,licenseScope:`Choisie par lâauteur, elle ne couvre que les éléments dont il détient les droits. Les polices et éléments tiers peuvent avoir leurs propres conditions.`,licenseTerms:`Lire la licence`,versions:`Historique des versions`,versionsNote:`Publications distinctes dâune même série. Les versions enregistrées ne sont pas écrasées.`,versionHow:`Ouvrez lâéditeur, modifiez le modèle puis choisissez « Nouvelle version » à la publication.`,contrast:`Vérifier le contraste`,contrastNote:`Repères : 4,5:1 pour le texte normal, 3:1 pour le grand texte (24 px ou environ 19 px en gras). Seules les couleurs sont évaluées : lâéchelle et les chevauchements influencent la lisibilité.`,backdrop:`Fond pour la transparence`,white:`Blanc`,dark:`Sombre`,shapeBackgroun
10d:`Fond de la forme`,notMeasured:`Couleur non prise en charge`,normalText:`Texte normal et grand`,largeText:`Grand texte uniquement`,lowContrast:`Contraste inférieur à 3:1`,related:`Modèles similaires`,relatedNote:`Par mots-clés, forme et langue parmi les publications récentes.`,relatedError:`Les modèles similaires sont indisponibles.`,publicationDetails:`Détails de publication`,description:`Description`,tags:`Mots-clés`,tagsHint:`Jusquâà 8 mots-clés séparés par des virgules, de 32 caractères.`,useCases:`Adapté à `,authorHint:`Facultatif. Ce nom et ce profil seront publics. Un nouveau nom modifie votre profil dans toutes vos publications.`,authorLogin:`Le nom public nécessite une connexion et une publication publique.`,licenseConsent:`Ne choisissez une licence que pour les éléments dont vous détenez les droits. Lisez les conditions : elle peut être irrévocable.`,publishVersion:`Nouvelle version de « {{title}} »`,myFavorites:`Mes favoris`,allTemplates:`Tous les modèles`,cases:{education:`Ãducation`,gift:`Cadeau`,presentation:`Présentation`,social:`Réseaux sociaux`,research:`Recherche`,decor:`Décoration`}},app:{title:`shapewords`,subtitle:`Générateur de nuages ââde mots`,settings:`Paramètres`,openSettings:`Ouvrir les paramètres`,closeSettings:`Fermer les paramètres`,account:`Compte`,openAccount:`Ouvrir un compte`,signIn:`Se connecter`,templates:`Modèles`,openTemplates:`Ouvrir des modèles prêts à l'emploi`,wordMap:`Carte de mots`,openWordMap:`Ouvrir la carte 3D de mots`,live:`Live`,openLive:`Ouvrir les salles live`,chromeExtension:`Chrome`,openChromeExtension:`Ouvrir l'extension Chrome`,chromeExtensionBadgeAlt:`Extension Chrome`,dismissChromeExtension:`Masquer la suggestion d'extension Chrome`,language:`Langue`},common:{loading:`Chargement...`,on:`Activé`,off:`Désactivé`},account:{title:`Compte`,subtitle:`L'historique des générations, les modèles et les styles sont enregistrés sur votre compte.`,signInTitle:`Connectez-vous pour enregistrer votre travail`,signInSubtitle:`Utilisez un compte pour l'historique des générations, les modèles et les styles personnels.`,login:`Se connecter`,register:`Registre`,name:`Nom`,email:`E-mail`,password:`Mot de passe`,confirmPassword:`Confirmez le mot de passe`,passwordHint:`Exigences de mot de passe`,passwordMismatch:`Les mots de passe ne correspondent pas.`,passwordMinLength:`Au moins 8\xA0caractères`,passwordLetter:`Au moins une lettre`,passwordNumber:`Au moins un numéro`,socialTitle:`Se connecter avec un service`,socialSubtitle:`Utilisez Google, Yandex, Facebook ou X pour vous connecter sans mot de passe séparé.`,socialDivider:`ou`,socialGoogle:`Google`,socialFacebook:`Facebook`,socialX:`X`,socialYandex:`Yandex`,noAccount:`Créer un compte`,hasAccount:`Vous avez déjà un compte`,history:`Histoire`,templates:`Modèles`,styles:`Styles`,account:`Compte`,saveHistory:`Sauvegarder`,saveTemplate:`Modèle`,saveStyle:`Style`,saveCurrentHistory:`Sauvegarder la génération`,saveCurrentTemplate:`Enregistrer le modèle`,saveCurrentStyle:`Enregistrer le style`,saveHistoryHint:`Enregistre les paramètres actuels de texte, de forme, de style et de mise en page en tant quâélément dâhistorique.`,saveTemplateHint:`Enregistre le projet actuel en tant que modèle réutilisable pour de nouveaux nuages ââde mots.`,saveStyleHint:`Enregistre uniquement les paramètres visuels\xA0: options de police, de palette, dâarrière-plan, dâorientation et dâaffichage.`,saveName:`Nom`,cancel:`Annuler`,save:`Sauvegarder`,close:`Fermer le compte`,backToEditor:`Retour à l'éditeur`,open:`Ouvrir`,apply:`Appliquer`,delete:`Supprimer`,emptyHistory:`Aucune génération sauvée pour lâinstant.`,emptyTemplates:`Aucun modèle pour l'instant.`,emptyStyles:`Aucun style pour l'instant.`,words:`mots`,placed:`mis`,logout:`se déconnecter`,signedInAs:`Connecté en tant que`,palette:`palette`,libraryActions:`Enregistrer le travail en cours`,libraryHint:`L'historique conserve le projet complet, un modèle conserve un projet réutilisable et un style stocke uniquement les paramètres visuels.`,oauthCancelled:`La connexion via le service externe a été annulée.`,oauthEmailRequired:`Le fournisseur n'a pas renvoyé d'adresse e-mail. Utilisez une autre méthode de connexion.`,oauthEmailUnverified:`Le fournisseur n'a pas confirmé l'adresse e-mail. Utilisez une autre méthode de connexion.`,oauthProviderDisabled:`Cette méthode de connexion n'est pas encore configurée.`,oauthStateInvalid:`La session de connexion a expiré. Réessayez.`,oauthFailed:`Impossible de terminer la connexion via le service externe.`},templates:{metaTitle:`Modèles publics de nuages de mots | shapewords`,metaDescription:`Explorez les modèles publiés par la communauté shapewords et ouvrez chaque création dans lâéditeur.`,badge:`Collection ouverte`,title:`Modèles publics`,description:`Explorez les nuages de mots publiés par la communauté. Ouvrez une création comme modèle et continuez à la modifier.`,searchPlaceholder:`Rechercher des titres et des mots...`,languageFilter:`Langue du modèle`,allLanguages:`Toutes les langues`,resultCount:`{{count}} publications`,resetSearch:`Réinitialiser`,loadError:`Impossible de charger les modèles publics`,loadMore:`Afficher plus`,emptyTitle:`Aucun résultat`,emptyDescription:`Essayez une autre recherche, choisissez toutes les langues ou publiez le premier nuage de cette section.`,noPreview:`Aperçu indisponible`,wordsCount:`{{count}} mots`,open:`Ouvrir`,backToList:`Tous les modèles`,notFoundTitle:`Modèle introuvable`,notFoundDescription:`Ce modèle de carte public n'existe pas. Revenez au catalogue et
10choisissez l'un des modèles prêts à l'emploi.`,includesTitle:`Qu'y a-t-il à l'intérieur`,shape:`Forme`,palette:`Palette`,words:`Mots`,useTemplate:`Utiliser un modèle`,useHint:`Le modèle charge du texte, des mots, des formes et des styles dans l'espace de travail.`},text:{title:`Texte`,smartImport:`Importation intelligente`,smartImportDescription:`Texte, CSV/TSV, Excel .xlsx, Google Sheets et publications de X, Reddit, Hacker News, YouTube, Telegram et flux RSS`,closeSmartImport:`Fermer l'importation intelligente`,smartImportPlaceholder:`Collez du texte, CSV/TSV, ou faites glisser et déposez un fichier...`,placeholder:`Collez le texte ici...`,sample:`Essayez un échantillon`,voiceInput:`Voix`,voiceStart:`Démarrer la saisie vocale`,voiceStop:`Arrêter la saisie vocale`,voiceStopShort:`Arrêter`,voiceListening:`Microphone en écoute`,voiceUnsupported:`La saisie vocale n'est pas prise en charge dans ce navigateur`,voicePermissionDenied:`L'accès au microphone a été bloqué. Autorisez-le puis réessayez.`,voiceNoSpeech:`Aucune voix détectée. Réessayez en parlant un peu plus près du microphone.`,voiceNoMicrophone:`Aucune entrée microphone n'a été trouvée sur cet appareil.`,voiceError:`Impossible de démarrer la saisie vocale`,emoji:`Ãmoji`,emojiSearchPlaceholder:`Rechercher emoji : rire, feu, cÅur...`,emojiSearchLoading:`Chargement des emoji`,emojiSearchNoResults:`Aucun emoji trouvé`,addEmojiAria:`Ajouter {{emoji}}`,dropHint:`Supprimez le fichier .txt, .csv, .tsv ou .xlsx`,clear:`Clair`,importFile:`Déposer`,importText:`Importer du texte`,googleSheets:`Google Sheets`,googleSheetsPlaceholder:`Lien vers la feuille ou CSV publié`,googleFileSharingHelp:`Comment partager un fichier Google`,import:`Importer`,xImport:`X (Twitter)`,xImportPlaceholder:`Collez le lien dâun post x.com`,xImportHint:`Posts publics uniquement. Collez un ou plusieurs liens : nous importons le texte du post.`,redditImport:`Reddit`,redditImportPlaceholder:`Collez un lien de publication ou de subreddit Reddit`,redditImportHint:`Fils et subreddits publics uniquement. Nous importons les titres et les commentaires.`,hnImport:`Hacker News`,hnImportPlaceholder:`Collez un lien dâélément Hacker News`,hnImportHint:`Nous importons lâarticle et ses commentaires.`,youtubeImport:`YouTube`,youtubeImportPlaceholder:`Collez un lien de vidéo YouTube`,youtubeImportHint:`Nous importons le titre, la description, les tags et les meilleurs commentaires.`,telegramImport:`Telegram`,telegramImportPlaceholder:`Collez un lien de canal public ou @nom`,telegramImportHint:`Canaux publics uniquement. Nous importons les publications récentes.`,rssImport:`RSS`,rssImportPlaceholder:`Collez lâURL de nâimporte quel flux RSS ou Atom`,rssImportHint:`Nâimporte quel blog ou flux dâactualités. Nous importons les titres et résumés des éléments.`,importOptions:`Règles d'importation`,keepCase:`Conserver l'étui`,countFrequency:`Fréquence de comptage`,removeStopWords:`Supprimer les mots vides`,detectDuplicates:`Détecter les doublons`,lemmatizeWords:`Lemmatiser`,languageProcessing:`Traitement linguistique`,languageProcessingStatus:`Traitement : {{language}}`,languageProcessingSection:`Traitement linguistique`,processingLanguage:`Langue du texte`,autoLanguage:`Détection automatique`,chineseLanguage:`Chinois`,chineseScript:`Système dâécriture chinois`,chineseScriptAuto:`Détection automatique`,chineseSimplified:`Chinois simplifié`,chineseTraditional:`Chinois traditionnel`,chineseMode:`Mode de traitement du chinois`,chineseFast:`Rapide`,chinesePrecise:`Précis`,keepSingleHan:`Conserver les caractères han isolés`,includeNumbers:`Inclure les nombres`,normalizeChineseVariants:`Fusionner les formes traditionnelles et simplifiées`,minTokenLength:`Longueur minimale des termes`,chineseStopWordsProfile:`Mots vides`,chineseStopWordsCore:`Sûrs`,chineseStopWordsExtended:`Ãtendus`,chinesePosFilter:`Catégories grammaticales`,chinesePosAll:`Toutes`,chinesePosContent:`Contenu`,chinesePosNouns:`Noms`,chineseKeywordRanking:`Pondération des termes`,chineseKeywordSmart:`Intelligente`,chineseKeywordFrequency:`Fréquence`,chineseKeywordRankingHint:`Le mode intelligent combine fréquence, TF-IDF, TextRank, position et catégorie grammaticale ; la fréquence brute reste disponible dans les métadonnées.`,englishLanguage:`Anglais`,englishProcessingHint:`Le texte anglais est analysé localement dans ce navigateur avec étiquetage grammatical et lemmatisation.`,englishPosFilter:`Parties du discours`,englishPosAll:`Tous les termes`,englishPosContent:`Mots pleins`,englishPosNouns:`Noms`,englishLemmatize:`Lemmatiser les mots anglais`,englishStopWordsProfile:`Mots vides`,englishStopWordsCore:`De base`,englishStopWordsExtended:`Ãtendus`,englishStopWordsHint:`La liste de base retire les mots-outils fréquents ; la liste étendue filtre aussi les mots de remplissage récurrents.`,russianLanguage:`Russe`,russianLocale:`Variante du russe`,russianMode:`Mode de traitement du russe`,russianFast:`Rapide`,russianPrecise:`OpenCorpora`,russianPreciseHint:`Lâimport précis charge localement seulement les fragments utiles du dictionnaire et ne devine jamais les formes ambiguës.`,russianPosFilter:`Parties du discours`,russianPosAll:`Toutes`,russianPosContent:`Mots pleins`,russianPosNouns:`Noms`,russianLemmatize:`Lemmatiser les mots russes`,russianYoNormalization:`Normalisation Ð/Ð`,russianYoPreserve:`Conserver Ð et Ð distincts`,russianYoFold:`Fusionner Ð avec Ð`,russianYoHint:`La fusion améliore le regroupement des fréquences ; lâorthographe dâorigine est conservée lorsque possible.`,russianStopWordsProfile:`Mots vides`,russianStopWordsCore:`De base`,russianStopWordsExtended:`Ãtendus`,russianStopWordsHint:`La liste de base retire seulement les mots-outils certains ; la liste étendue filtre davantage de mots de remplissage fréquents.`,genericLanguageProcessingHint:`La tokenisation locale de base est active pour cette langue. Sélectionnez le chinois, le russe ou lâanglais pour configurer un processeur détaillé.`,customDictionary:`Dictionnaire personnalisé`,customDictionaryPlaceholder:`Un terme par ligne. Les termes les plus longs sont prioritaires.`,synonyms:`Synonymes`,synonymsPlaceholder:`Un groupe par ligne : terme principal : synonyme 1, synonyme 2`,processingPrivacyLocal:`Le traitement sâeffectue localement dans votre navigateur.`,preciseProcessingHint:`Le mode précis améliore le découpage des mots chinois et peut prendre un peu plus de temps.`,preserveStyles:`Préserver les styles`,replaceWordsOnly:`Remplacer uniquement les mots`,includeEmoji:`Ãmoji`,customStopWordsPlaceholder:`Liste de mots vides personnalisée\xA0: un mot par ligne, virgule ou\xA0;`,importResult:`{{source}}\xA0: {{count}} mots, {{rows}} lignes, mode {{mode}}`,includePhrases:`Phrases`,importMode:{text:`texte`,table:`tableau`}
10,errors:{xlsUnsupported:`Les anciens fichiers .xls ne sont pas encore pris en charge. Enregistrez le fichier sous .xlsx ou CSV.`,googleSheetsFailed:`Impossible de charger Google Sheets. Utilisez un lien public ou un CSV publié.`,googleSheetsInvalidUrl:`Ce lien ne semble pas être un lien Google Sheets valide ni un CSV publié. Collez le lien complet de la feuille ou une URL CSV publique en HTTPS.`,googleFileAccessDenied:`Le document Google n'est pas accessible publiquement. Dans Google Docs ou Google Drive, ouvrez Partager et réglez l'accès général sur Toute personne disposant du lien.`,importFailed:`Impossible d'importer les données`,xImportFailed:`Impossible de charger le post X. Utilisez un lien public.`,redditImportFailed:`Impossible de charger ce lien Reddit. Utilisez une publication ou un subreddit public.`,hnImportFailed:`Impossible de charger cet élément Hacker News. Utilisez un lien public.`,youtubeImportFailed:`Impossible de charger cette vidéo YouTube. Elle est peut-être indisponible ou lâimport nâest pas configuré.`,telegramImportFailed:`Impossible de charger ce canal Telegram. Utilisez un lien de canal public.`,rssImportFailed:`Impossible de charger ce flux. Utilisez une URL RSS ou Atom valide.`}},words:{title:`Mots`,word:`Mot`,editWord:`Modifier le mot`,delete:`Supprimer le mot`,clearList:`Effacer la liste de mots`,count:`Fréquence`,size:`Taille`,sizeTitle:`Ãchelle de mots ou d'emojis par rapport à la fréquence`,sizeWord:`Taille de {{word}}`,resetSize:`Réinitialiser la taille`,resetSizeShort:`100`,empty:`Saisir le texte à analyser`,total:`{{count}} mots`,filteredTotal:`{{count}} sur {{total}}`,searchPlaceholder:`Rechercher un mot ou un emoji`,noMatches:`Aucune correspondance`,showing:`Affichage de {{shown}} sur {{count}}`,emoji:`émoticône`,repeatShort:`représentant.`,repeatTitle:`Répétez le mot en remplissant`,repeatWord:`Répétez {{word}} pendant le remplissage`,enableRepeatWord:`Activer la répétition de {{word}}`,disableRepeatWord:`Désactiver la répétition de {{word}}`,managerTitle:`Gestionnaire de mots`,managerApply:`Appliquer`,managerDescription:`{{count}} éléments avec tri, actions groupées et réglages par mot.`,openManager:`Gérer les mots`,selected:`Sélectionnés : {{count}}`,selectAll:`Sélectionner tous les mots visibles`,kind:`Type`,frequencyValue:`Poids {{count}}`,bulkActions:`Actions groupées`,bulkDescription:`Appliquez une modification à tous les mots sélectionnés en une fois.`,bulkFont:`Police groupée`,fontAutoAll:`Auto pour la sélection`,repeatOn:`Répétition activée`,repeatOff:`Répétition désactivée`,repeatAll:`Tout répéter`,deleteSelected:`Supprimer la sélection`,wordFont:`Police du mot`,addWord:`Ajouter un mot`,addPlaceholder:`Ajouter un autreâ¦`,addPlaceholderEmpty:`Tapez un mot et appuyez sur Entrée`,emptyListTitle:`La liste de mots est vide`,emptyListDescription:`Ajoutez des mots dans le formulaire ci-dessus : tapez un mot puis appuyez sur Entrée.`,sourceTitle:`Texte source`,sourceDescription:`Collez ou importez du texte pour le transformer en mots.`},style:{title:`Style`,font:`Fonte`,uploadFont:`Télécharger la police`,customFonts:`Personnalisé {{count}}`,customFontsBadge:`{{count}}`,fontLoading:`Chargement`,deleteCustomFont:`Supprimer la police personnalisée`,scriptFonts:`Polices de langue`,autoFont:`Auto`,fontUpload:{title:`Téléchargez une police personnalisée`,description:`Ajoutez un fichier de police pouvant être utilisé par le générateur de nuages ââde mots.`,formatsTitle:`Formats pris en charge`,formatsBody:`WOFF2 est recommandé. Les fichiers WOFF, TTF et OTF jusqu'à 6 Mo sont également acceptés. Les collections TTC, les archives, les polices SVG et les polices de couleurs/variables peuvent ne pas fonctionner de manière fiable.`,licenseTitle:`Conditions d'utilisation`,licenseOwn:`Téléchargez uniquement les polices que vous avez le droit d'utiliser.`,licenseAllowed:`Les polices gratuites et open source, par exemple SIL OFL, Apache ou des licences similaires, conviennent. Les polices commerciales ne conviennent que lorsque votre licence autorise une utilisation sur le Web/ordinateur de bureau et la génération d'images.`,licenseRestricted:`Ne téléchargez pas de polices dont la licence interdit l'intégration, l'utilisation sur le Web, la création d'images ou l'utilisation dans des services de génération.`,storageTitle:`Où le fichier est stocké`,storageBody:`Le fichier est stocké localement dans ce navigateur à l'aide de IndexedDB et n'est pas envoyé au serveur lors du téléchargement. Les exp
10ortations à partir de ce navigateur utiliseront la police, mais les liens publics et un autre navigateur peuvent revenir si le même fichier n'y est pas disponible.`,warning:`Un fichier est traité comme un seul style. Téléchargez des fichiers séparés si vous avez besoin de styles régulier, gras ou italique.`,chooseFile:`Choisir le fichier de police`},palette:`Palette`,customPalette:`Coutume`,customPaletteTitle:`Palette personnalisée`,customPaletteHint:`Créez un jeu de couleurs de mots. Les modifications sont immédiatement appliquées au cloud actuel.`,addCustomColor:`Ajouter de la couleur`,removeCustomColor:`Supprimer la couleur`,resetCustomPalette:`Réinitialiser la palette`,customColorNumber:`Couleur {{number}}`,colorMode:`Mode couleur`,sequential:`Séquentiel`,random:`Aléatoire`,byFrequency:`Par fréquence`,fontSize:`Plage de taille`,min:`Min.`,max:`Max.`,morePalettes:`Toutes les palettes`,paletteDialogTitle:`Palette de couleurs`,paletteDialogCount:`{{count}} palettes`,closePalettes:`Fermer les palettes`},layout:{title:`Mise en page`,spiral:`Spirale`,archimedean:`Archimédien`,rectangular:`Rectangulaire`,rotation:`Orientation`,horizontal:`Horizontal`,mixed:`Mixte`,vertical:`Verticale`,orthogonal:`Horizontale Verticale`,crossing:`Traversée horizontale verticale`,crossingVoids:`Traverser les vides`,dancing:`Mots dansants`,positiveSlope:`Diagonale montante`,negativeSlope:`Diagonale descendante`,random:`Aléatoire`,custom:`Coutume`,moreOrientations:`Toutes les orientations`,orientationDialogTitle:`Orientation des mots`,orientationDialogCount:`Modes {{count}}`,closeOrientations:`Orientations proches`,crossingPreview:`Passage`,voidsPreview:`Vides`,dancingPreview:`Dansant`,wordsPreview:`Mots`,positivePreview:`Montante`,negativePreview:`Descendante`,slopePreview:`Diagonale`,customAngles:`Angles`,customAnglesPlaceholder:`0, -30, 30, 90`,angled:`Incliné`,free:`Angles libres`,padding:`Espacement`,maxWords:`Limite de mots`},shape:{title:`Forme`,popular:`Populaire`,selected:`Choisi`,openCatalog:`Catalogue`,catalogTitle:`Catalogue de formes`,catalogCount:`{{count}} formes`,closeCatalog:`Fermer le catalogue de formes`,catalogCustomize:`Personnaliser la forme`,catalogColor:`Couleur de forme`,catalogInvert:`Inverser la forme`,catalogInvertHint:`Remplir la zone autour de ce contour au lieu du contour lui-même.`,catalogBack:`Retour`,catalogEditFree:`Modifier`,catalogApply:`Appliquer`,searchPlaceholder:`Rechercher des formes et des balises`,catalogEmpty:`Aucune forme trouvée`,deleteShape:`Supprimer la forme « {{name}} »`,deleteShapeConfirm:`Supprimer la forme « {{name}} » de vos formes ?`,customTitle:`Forme personnalisée`,customDescription:`Dessinez un contour dans le constructeur ou importez une image`,builderOpen:`Constructeur`,builderTitle:`Constructeur de forme`,builderDescription:`Créez un contour de point ou transformez des lettres et des chiffres en un masque vectoriel.`,builderDrawMode:`Contour`,builderTextMode:`Lettres et chiffres`,builderControls:`Comment dessiner`,builderHintAdd:`Cliquez ou appuyez sur la grille pour ajouter un nouveau point.`,builderHintDrag:`Faites glisser les nÅuds pour remodeler le contour. La forme se ferme automatiquement.`,builderHintSnap:`Un aimant lumineux accroche les points sur la grille. Maintenez Alt pour contourner lâaccrochage.`,builderTextInput:`Personnages`,builderTextPlaceholder:`Un 2026`,builderTextFont:`Fonte`,builderTextFontSearch:`Rechercher une police`,builderTextFontSearchClear:`Effacer la recherche de polices`,builderTextFontSearchEmpty:`Aucune police trouvée`,builderTextStyle:`Style`,builderTextInvert:`Inverser`,builderTextInvertHint:`Par défaut les lettres sont remplies. Lorsqu'ils sont inversés, la zone qui les entoure est remplie.`,builderTextLoading:`Préparation du plan`,builderTextPreviewEmpty:`Saisir des lettres ou des chiffres`,builderTextError:`Impossible de créer une forme de texte`,builderUndo:`Défaire`,builderClear:`Clair`,builderReset:`Ãchantillon`,builderApply:`Utiliser la forme`,builderStats:`{{count}} points, zone {{area}}`,builderShapeName:`Forme vectorielle`,builderEditedSuffix:`modifié`,closeBuilder:`Fermer le constructeur`,editShape:`Modifier la forme`,customUpload:`Télécharger`,customThreshold:`Seuil de masque`,customReady:`La forme "{{name}}" est prête`,customError:`Impossible de créer une forme à partir de l'image`,customModes:{auto:`Auto`,alpha:`Alpha`,contrast:`Contraste`},categories:{all:`Tous`,basic:`Basique`,nature:`Nature`,animals:`Animaux`,kids:`Enfants`,numbers:`Nombres`,objects:`Objets`,symbols:`Symboles`,travel:`Voyage`,brands:`Marques`,custom:`Coutume`},mode:`Mode`,frequency:`Par fréquence`,fill:`Remplir la forme`,background:`Fond de forme`,backgroundNone:`Aucun arrière-plan`,backgroundWhite:`Fond clair`,backgroundSky:`Fond de ciel`,backgroundMint:`Fond de menthe`,backgroundWarm:`Fond chaleureux`,backgroundRose:`Fond de rose
10s`,backgroundCustom:`Choisir la couleur d'arrière-plan de la forme`},stopWords:{title:`Mots vides`,enable:`Filtrer les mots vides`,language:`Langue`,auto:`Auto`,ru:`russe`,en:`Anglais`,es:`Espagnol`,fr:`Français`,ar:`Arabe`,zh:`Chinois`},export:{title:`Exporter`,format:`Format`,quality:`Qualité`,background:`Arrière-plan`,transparent:`Transparent`,white:`Blanc`,dark:`Sombre`,save:`Sauvegarder`,download:`Télécharger`,toggleOptions:`Options d'exportation`,close:`Fermer`,printReady:`Prêt à imprimer PDF`,printReadyDescription:`Feuille fixe, marges et marques d'impression`,page:`Page`,margin:`Marge`,bleed:`Saigner`,safeZone:`Zone de sécurité`,cropMarks:`Marques de coupe`,downloading:`Téléchargement...`,watermark:`source : {{site}}`,hideWatermark:`Sans copyright du service`,hideWatermarkDescription:`Retirer la signature du site des exports`},publish:{button:`Partager`,creating:`Publication...`,title:`Publier le nuage`,description:`Crée un lien vers ce nuage avec sa mise en page, sa forme et son style actuels.`,publicLifetime:`Le modèle public est conservé indéfiniment et classé dans la langue actuelle.`,privateLifetime:`Le lien privé fonctionne pendant 90 jours et nâapparaît pas dans le catalogue.`,defaultTitle:`Mon nuage de mots`,nameLabel:`Titre de la publication`,namePlaceholder:`Par exemple, Carte des idées`,publicNotice:`Le titre, les mots et lâimage seront visibles par tous dans le catalogue public.`,privateToggle:`Conserver un lien privé`,privateDescription:`Ne pas afficher ce travail dans le catalogue public`,privateNotice:`Le modèle est accessible uniquement aux personnes qui possèdent le lien. Le lien cessera de fonctionner après 90 jours.`,create:`Publier le modèle`,createPrivate:`Créer un lien privé`,publicResult:`Le modèle est publié dans le catalogue et conservé indéfiniment.`,privateResult:`Le lien privé est actif pendant 90 jours. Le modèle nâapparaît pas dans le catalogue.`,newPublication:`Nouveau`,link:`Lien`,copy:`Copie`,copied:`Copié`,open:`Ouvrir`,close:`Fermer`,native:`Partager`,nativeTitle:`Nuage de mots shapewords`,socialTitle:`Publier`,socialOpen:`Publier sur {{name}}`,socialPreviewNote:`Lâimage est transmise via Open Graph lorsque le réseau récupère lâaperçu du lien.`,qrAlt:`Code QR du lien`,empty:`Générez d'abord un cloud`,error:`Impossible de publier le modèle`,previewError:`Impossible de préparer lâaperçu`},templatePage:{badge:`Modèle public`,description:`Explorez les mots, la forme, la palette et la composition de ce modèle publié.`,back:`Catalogue de modèles`,loading:`Chargement du modèle...`,words:`{{count}} mots`,notFoundTitle:`Lien introuvable`,expiredTitle:`Ce lien a expiré`,expiredDescription:`Cet ancien lien nâest plus actif. Choisissez un autre modèle dans le catalogue.`,loadError:`Impossible de charger le modèle`,applyError:`Impossible dâouvrir le modèle dans lâéditeur`,copyError:`Impossible de copier le lien`,templateNumber:`Modèle · {{id}}`,copyLink:`Copier le lien`,copied:`Lien copié`,useTemplate:`Utiliser ce modèle`,opening:`Ouverture...`,language:`Langue`,shape:`Forme`,shapeCaption:`Contour sélectionné du nuage`,font:`Police`,orientation:`Orientation`,fontSize:`Ãchelle typographique`,published:`Publié`,details:`Détails du modèle`,contents:`Contenu`,preview:`Aperçu`,usedWords:`Mots utilisés`,wordWeight:`Poids du mot`,colorScheme:`Gamme de couleurs`,customPalette:`Palette personnalisée`,technicalDetails:`Détails de composition`,spiral:`Spirale`,wordSpacing:`Espacement des mots`,colorMode:`Ordre des couleurs`,wordLimit:`Limite de mots`,placedWords:`Mots placés`,canvasSize:`Canevas`,viewMode:`Vue`,readyBadge:`Personnalisez-le`,readyTitle:`Gardez la composition. Changez lâhistoire.`,readyDescription:`Ouvrez le modèle dans lâéditeur pour remplacer les mots, ajuster la forme et les couleurs ou exporter le résultat.`},wordMap:{metaTitle:`Carte mondiale 3D interactive de mots | shapewords`,metaDescription:`Explorez les mots fréquents des derniers résultats Google News RSS par pays sur un globe 3D interactif avec cache quotidien.`,title:`Carte mondiale des mots`,search:`Rechercher un lieu`,searchPlaceholder:`Rechercher un pays`,placePicker:`Sélecteur de lieu`,country:`Pays`,results:`Résultats`,noResults:`Aucun lieu trouvé`,world:`Monde`,toggleOrbit:`Activer ou désactiver la rotation du globe`,words:`Mots`,empty:`Sélectionnez un pays`,scale:{world:`monde`,country:`pays`},newsSource:`Google News RSS`,newsSelectCountry:`Recherchez et sélectionnez un pays pour charger les mots des actualités`,newsReady:`Mots dâactualité prêts`,newsLoading:`Chargement des mots fréquents des actualités`,newsFresh:`Chargé depuis Google News RSS`,newsCached:`Cac
10he quotidien des actualités utilisé`,newsErrorShort:`Actualités indisponibles`,newsError:`Impossible de charger les mots dâactualité du pays`,newsEmpty:`Aucun mot fréquent trouvé`,reloadNews:`Recharger les mots dâactualité`},canvas:{undo:`Défaire`,redo:`Refaire`,generate:`Générer`,regenerate:`Régénérer`,fullscreen:`Plein écran`,zoom:`Zoom`,showGrid:`Afficher la grille`,hideGrid:`Masquer la grille`,openMenuHint:`Ouvrez le menu pour ajouter des mots`,emptyTitle:`L'espace de travail est vide`,emptyDesktopDescription:`Ajoutez du texte dans le panneau de gauche ou utilisez l'exemple pour créer un nuage de mots.`,emptyMobileDescription:`Ouvrez le menu et ajoutez du texte pour créer un nuage de mots.`,generating:`Générateur...`,assigningFontsProgress:`Attribution des polices`,loadingFontsProgress:`Chargement des polices`,prepareProgress:`Préparation`,preparingOutlineProgress:`Création des contours`,fillProgress:`Forme de remplissage`,shapeWordCountLabel:`Des mots en forme`,progressAssigningFonts:`Choix des glyphes compatibles`,progressLoadingFonts:`Chargement des fichiers de police`,progressPreparing:`Masque, polices et glyphes`,progressPreparingOutline:`Conversion des mots en contours`,progressWords:`{{placed}} / {{target}} mots`,progressPlaced:`{{placed}} mots`,selectedWord:`Mot sélectionné`,selectWord:`Sélectionnez le mot {{word}}`,editWord:`Modifier le mot {{word}}`,wordColor:`Couleur`,wordFont:`Fonte`,wordSize:`Taille`,wordRotation:`Rotation`,wordCurve:`Courbe`,pinWord:`Position des broches`,unpinWord:`Désépingler la position`,protectPinnedArea:`Protéger toute la zone de la phrase`,unprotectPinnedArea:`Retirer la protection de la phrase`,pinConflict:`La position est épinglée, mais le mot est partiellement en conflit avec la forme ou avec un autre mot épinglé.`,deleteWord:`Supprimer le mot`,mainAccentTitle:`Ajouter un point focal ?`,mainAccentDescription:`« {{word}} » peut devenir le centre visuel. Nous choisirons une police expressive et adapterons sa taille, sa rotation ou sa courbure à la forme. Les mots rempliront lâespace autour.`,mainAccentProcessing:`Choix de la policeâ¦`,mainAccentFontError:`Impossible de charger une police pour lâaccent. Réessayez.`,mainAccentAction:`Mettre au premier plan`,mainAccentDismiss:`Masquer la suggestion`,sparseFillTitle:`Il reste de lâespace dans la forme`,sparseFillDescription:`Les répétitions sont désactivées et il manque des éléments pour un remplissage dense. LâIA peut trouver de nouveaux synonymes et de courtes expressions liées.`,sparseFillAction:`Trouver des synonymes avec lâIA`,sparseFillProcessing:`LâIA recherche des motsâ¦`,sparseFillDismiss:`Masquer la suggestion`,sparseFillNoNewWords:`LâIA nâa trouvé aucun nouveau mot ni aucune nouvelle expression unique. Modifiez la liste source.`},tooltips:{help:`Aide`,text:{title:`Smart Import accepte le texte brut, CSV/TSV, Excel .xlsx et public Google Sheets. Les tableaux avec des colonnes de mots et de fréquences sont importés directement.`,languageProcessing:`Segmente le texte selon sa langue avant de compter les fréquences. Cette option est activée par défaut ; désactivez-la pour utiliser la segmentation de base.`,keepCase:`Conserve la première casse détectée pour chaque mot. Lorsqu'elle est désactivée, les mots sont normalisés en minuscules.`,countFrequency:`Lorsque cette option est activée, les termes répétés augmentent le poids du mot. Lorsqu'elle est désactivée, chaque mot importé reçoit un poids 1.`,removeStopWords:`Filtre les mots-outils courants pour la langue sélectionnée ou pour toutes les langues prises en charge détectées dans le texte, ainsi que la liste personnalisée.`,detectDuplicates:`Lorsque cette option est activée, les mots identiques sont fusionnés. Lorsqu'elle est désactivée, la séquence de mots d'origine est préservée.`,lemmatizeWords:`Lorsqu'elles sont activées, les formes de mots russes et anglais sont normalisées avant le comptage de fréquence, afin que les voitures, les voitures, les courses et les courses puissent partager leurs groupes de base.`,russianLemmatize:`Regroupe prudemment les formes russes prises en charge ; les mots ambigus restent séparés et les plages dâorigine sont conservées.`,englishLemmatize:`Regroupe les flexions anglaises sous leurs formes de dictionnaire avant le comptage et
10conserve les plages de texte dâorigine.`,preserveStyles:`Lorsque cette option est activée, l'importation modifie uniquement les données. Lorsqu'elle est désactivée, les paramètres de police, de palette et de texte de base sont réinitialisés aux valeurs par défaut.`,replaceWordsOnly:`Lorsqu'elle est activée, l'importation remplace directement le tableau de mots sans retraiter le texte brut. Lorsqu'elle est désactivée, la source importée passe par le traitement de texte normal.`,includePhrases:`Lorsqu'elle est activée, les combinaisons répétées de deux mots sont ajoutées sous forme d'expressions. Lorsqu'il est désactivé, seuls des mots individuels sont utilisés.`,includeEmoji:`Lorsqu'ils sont activés, les emoji sont extraits sous forme de jetons séparés et rendus avec les actifs Twemoji SVG.`},words:{title:`La section des mots garde la saisie rapide, la suppression et les contrôles de répétition. Ouvrez le gestionnaire pour le tri, lâédition groupée et les polices par mot.`,sidebar:`Utilisez la barre latérale pour gérer la liste de mots et la répétition. Lâépinglage est disponible seulement pour lâinstance sélectionnée sur le canevas.`,manager:`Le gestionnaire prend en charge le tri sur toutes les colonnes, les actions groupées et le contrôle du poids, de la taille, de la répétition et de la police pour chaque mot.`},ai:{title:`Lâassistant IA développe le sujet saisi ou le traduit dans les langues sélectionnées.`},style:{font:`La police affecte à la fois le caractère visuel et le placement réel des mots dans les formes.`,palette:`La palette définit les couleurs de mots disponibles. Le mode couleur contrôle la façon dont ces couleurs sont attribuées.`,colorMode:`Séquentiel suit la palette, mélange les couleurs de manière aléatoire et, par fréquence, met l'accent sur les mots les plus importants.`,fontSize:`Définit la plage de taille minimale et maximale. Lors du remplissage dâune forme, le moteur adapte toujours les tailles à lâintérieur de cette plage au lieu dâutiliser des valeurs fixes.`},layout:{title:`Les paramètres de mise en page contrôlent la recherche dâespace libre, les angles autorisés, lâespacement entre les mots et la limite de mots du layout.`,spiral:`La spirale contrôle la façon dont l'espace libre est recherché dans les nuages ââââréguliers sans forme.`,rotation:`L'orientation définit les angles autorisés. Les angles libres fonctionnent mieux pour le remplissage de formes denses.`,padding:`Contrôle lâespacement minimal entre les mots placés. Les valeurs faibles densifient la composition ; les valeurs élevées laissent plus dâair.`,maxWords:`Limite le nombre de mots participant à la génération de la mise en page. Sâapplique aux nuages classiques comme au remplissage de formes ; des valeurs plus élevées peuvent améliorer la couverture mais augmentent le temps de génération.`},shape:{title:`La forme définit un masque où les mots sont placés par des contours de pixels sans franchir la frontière. Les formes populaires sont affichées en ligne et le catalogue complet s'ouvre séparément.`,background:`L'arrière-plan met en évidence la zone de forme derrière les mots et est inclus dans l'exportation PNG, JPG, SVG et PDF.`},stopWords:{title:`Les mots vides suppriment les mots de fonction courants afin que le nuage ne soit pas dominé par les prépositions et les conjonctions.`,enable:`Lorsqu'elle est activée, la suppression s'applique à la langue sélectionnée ou à toutes les langues prises en charge détectées dans le texte importé.`},export:{title:`L'exportation enregistre le cloud actuel avec le format, la qualité et l'arrière-plan sélectionnés.`,format:`PNG/JPG sont les meilleurs pour les images, SVG conserve le texte vectoriel et PDF est utile pour l'impression et les documents.`,quality:`SQ exporte les formats raster à 2x, HQ à 4x. PDF utilise la compression JPEG pour éviter les fichiers surdimensionnés sans détails utiles.`,background:`Lâarrière-plan affecte uniquement le fichier exporté, pas lâespace de travail de lâéditeur.`}},ai:{title:`Assistant IA`,serverMode:`Serveur`,setupApi:`Configurer l'API OpenRouter`,actions:{topic:`Développer le sujet`,phrases:`Phrases clés`,style:`
10Suggérer un style`},actionPlaceholders:{topic:`Sujet : anniversaire, espace...`,translateOnly:`Mot ou phrase à traduire...`,style:`Sujet pour le style (facultatif)`},actionPhrasesNote:`Extrait les phrases clés de votre texte importé.`,processing:`L'IA pense...`,apiKeyTitle:`Clé API OpenRouter`,apiKeyDescription:`Les fonctionnalités d'IA nécessitent une clé OpenRouter gratuite. La clé est stockée uniquement dans votre navigateur.`,getKey:`Obtenez la clé sur openrouter.ai`,save:`Sauvegarder`,clear:`Retirer`,promptHints:{title:`Remplissage rapide`,rotate:`Afficher d'autres suggestions`},settings:{open:`Paramètres de l'IA`,action:`Action IA`,actionHints:{topic:`Génère un nuage de mots à partir du sujet saisi.`,phrases:`Extrait les mots et phrases clés de votre texte importé.`,style:`Choisit palette, police et forme selon votre sujet ou texte.`},title:`Paramètres de génération`,description:`Contrôlez les langues, le volume, le ton et la densité des phrases avant d'appeler l'IA.`,summary:`{{mode}} · {{languages}} · {{count}} · {{tone}}`,languagesCount:`{{count}} langues`,translationCount:`{{count}} traductions`,generationMode:`Mode`,generationModes:{expand:`Développer le sujet`,translateOnly:`Traductions uniquement`},generationModeHints:{expand:`L'IA ajoutera des mots, des phrases et des variantes autour du sujet source en utilisant le nombre sélectionné.`,translateOnly:`L'IA renverra exactement une traduction du mot ou de l'expression source pour chaque langue sélectionnée.`},languages:`Langue ou langues`,languageLimit:`jusqu'à 30`,languagesPlaceholder:`Russe, anglais, espagnol... 11Séparez par des virgules ou des nouvelles lignes.`,currentLanguage:`Actuel`,twoLanguages:`RU + EN`,languagePresets:{ten:`10 langues`,twenty:`20 langues`,thirty:`30 langues`},wordCount:`Mots minimum`,wordCountHint:`Utilisez nâimporte quelle valeur comprise entre 1 et 80. En mode traductions uniquement, le décompte final est égal au décompte de la langue sélectionnée.`,tone:`Tonifier`,phraseMode:`Phrases`,creativity:`Variété`,preserveProperNouns:`Conservez les noms et les marques`,balancedLanguages:`Ãquilibrer les langues de manière égale`,reset:`Réinitialiser`,done:`Fait`,tones:{neutral:`Neutre`,festive:`De fête`,professional:`Professionnel`,playful:`Espiègle`,poetic:`Poétique`,minimal:`Minimal`},phraseModes:{mixed:`Mixte`,words:`Mots`,phrases:`Phrases courtes`}}},footer:{free:`Gratuit et sans inscription`,description:`Créez des nuages ââde mots façonnés à partir du texte, CSV, Excel et Google Sheets.`,github:`GitHub`,live:`Nuage en direct`,templates:`Modèles`,wordMap:`Carte de mots`,chromeExtension:`Extension Chrome`,privacy:`Confidentialité`}},qa={templateCommunity:{about:`Ð Ñаблоне`,author:`ÐÑблиÑное Ð¸Ð¼Ñ Ð°Ð²ÑоÑа`,noAuthor:`ÐвÑÐ¾Ñ Ð½Ðµ Ñказан`,authorProfile:`ÐÑблиÑнÑе ÑÐ°Ð±Ð»Ð¾Ð½Ñ Ð°Ð²ÑоÑа`,uses:`ÐÑполÑзований`,usesNote:`ÐÑкÑÑÑÐ¸Ñ Ð² ÑедакÑоÑе: не более одного на поÑеÑиÑÐµÐ»Ñ Ð² денÑ. ÐÑо не ÑиÑло ÑкаÑиваний.`,favorite:`РизбÑанное`,saved:`РизбÑанном`,loginHint:`ÐойдиÑе, ÑÑÐ¾Ð±Ñ ÑÐ¾Ñ ÑаниÑÑ Ð² избÑанное`,actionError:`Ðе ÑдалоÑÑ ÑÐ¾Ñ ÑаниÑÑ. ÐопÑобÑйÑе еÑÑ Ñаз.`,license:`УÑÐ»Ð¾Ð²Ð¸Ñ Ð¸ÑполÑзованиÑ`,unspecified:`Ðе ÑказанÑ`,licenseUnknown:`ÐвÑÐ¾Ñ Ð½Ðµ Ñказал лиÑензиÑ. ÐÑбликаÑÐ¸Ñ Ñама по Ñебе не даÑÑ ÑазÑеÑÐµÐ½Ð¸Ñ Ð½Ð° лÑбое иÑполÑзование â пÑи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи ÑоглаÑÑйÑе его Ñ Ð¿ÑавообладаÑелем.`,licenseScope:`ÐиÑÐµÐ½Ð·Ð¸Ñ Ð²ÑбÑал авÑоÑ. Ðна оÑноÑиÑÑÑ ÑолÑко к маÑеÑиалам, на коÑоÑÑе Ñ Ð½ÐµÐ³Ð¾ еÑÑÑ Ð¿Ñава; Ñ ÑÑиÑÑов и дÑÑÐ³Ð¸Ñ ÑÑоÑÐ¾Ð½Ð½Ð¸Ñ ÑлеменÑов могÑÑ Ð±ÑÑÑ Ð¾ÑделÑнÑе ÑÑловиÑ.`,licenseTerms:`ÐÑкÑÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð»Ð¸Ñензии`,versions:`ÐÑÑоÑÐ¸Ñ Ð²ÐµÑÑий`,versionsNote:`ÐÑделÑнÑе пÑбликаÑии одной ÑеÑии. Ð¡Ð¾Ñ ÑанÑннÑе веÑÑии не пеÑезапиÑÑваÑÑÑÑ.`,versionHow:`ÐÑкÑойÑе Ñаблон в ÑедакÑоÑе, внеÑиÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ пÑи пÑбликаÑии вÑбеÑиÑе «ÐÐ¾Ð²Ð°Ñ Ð²ÐµÑÑиÑ».`,contrast:`ÐÑовеÑка конÑÑаÑÑа`,contrastNote:`ÐÑиенÑиÑ: 4,5:1 Ð´Ð»Ñ Ð¾Ð±ÑÑного ÑекÑÑа, 3:1 Ð´Ð»Ñ ÐºÑÑпного (Ð¾Ñ 24 px или пÑимеÑно 19 px жиÑнÑм). ÐÑо пÑовеÑка ÑвеÑов, а не вÑего изобÑажениÑ: маÑÑÑаб и пеÑекÑÑÑÐ¸Ñ Ð²Ð»Ð¸ÑÑÑ Ð½Ð° ÑиÑаемоÑÑÑ.`,backdrop:`Ðодложка Ð´Ð»Ñ Ð¿ÑозÑаÑноÑÑи`,white:`ÐелаÑ`,dark:`ТÑмнаÑ`,shapeBackgroun
11d:`Фон ÑоÑмÑ`,notMeasured:`Ð¦Ð²ÐµÑ Ð½Ðµ поддеÑживаеÑÑÑ Ð´Ð»Ñ ÑаÑÑÑÑа`,normalText:`ÐбÑÑнÑй и кÑÑпнÑй ÑекÑÑ`,largeText:`ТолÑко кÑÑпнÑй ÑекÑÑ`,lowContrast:`ÐонÑÑаÑÑ Ð½Ð¸Ð¶Ðµ 3:1`,related:`ÐоÑ
ожие ÑаблонÑ`,relatedNote:`Ðо Ñегам, ÑоÑме и ÑзÑÐºÑ ÑÑеди поÑледниÑ
пÑбликаÑий.`,relatedError:`ÐоÑ
ожие ÑÐ°Ð±Ð»Ð¾Ð½Ñ Ð²Ñеменно недоÑÑÑпнÑ.`,publicationDetails:`ÐеÑали пÑбликаÑии`,description:`ÐпиÑание`,tags:`Теги`,tagsHint:`Ðо 8 Ñегов ÑеÑез запÑÑÑÑ, по 32 Ñимвола.`,useCases:`ÐÐ»Ñ Ñего подÑ
одиÑ`,authorHint:`ÐеобÑзаÑелÑно. ÐÑо Ð¸Ð¼Ñ Ð¸ пÑоÑÐ¸Ð»Ñ Ð±ÑдÑÑ Ð¿ÑблиÑнÑми. Ðовое Ð¸Ð¼Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ Ð²Ð°Ñ Ð¿ÑоÑÐ¸Ð»Ñ Ð²Ð¾ вÑеÑ
пÑбликаÑиÑÑ
.`,authorLogin:`ÐÐ»Ñ Ð¿ÑблиÑного имени нÑжна авÑоÑизаÑÐ¸Ñ Ð¸ оÑкÑÑÑÐ°Ñ Ð¿ÑбликаÑиÑ.`,licenseConsent:`ÐÑбиÑайÑе лиÑÐµÐ½Ð·Ð¸Ñ ÑолÑко Ð´Ð»Ñ Ð¼Ð°ÑеÑиалов, на коÑоÑÑе Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¿Ñава. ÐзнакомÑÑеÑÑ Ñ ÑÑловиÑми: оÑкÑÑÑÐ°Ñ Ð»Ð¸ÑÐµÐ½Ð·Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±ÐµÐ·Ð¾ÑзÑвной.`,publishVersion:`ÐÐ¾Ð²Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ñаблона «{{title}}»`,myFavorites:`ÐÐ¾Ñ Ð¸Ð·Ð±Ñанное`,allTemplates:`ÐÑе ÑаблонÑ`,cases:{education:`ÐбÑÑение`,gift:`ÐодаÑок`,presentation:`ÐÑезенÑаÑиÑ`,social:`СоÑÑеÑи`,research:`ÐÑÑледование`,decor:`ÐекоÑ`}},app:{title:`shapewords`,subtitle:`ÐенеÑаÑÐ¾Ñ Ð¾Ð±Ð»Ð°ÐºÐ° Ñлов`,settings:`ÐаÑÑÑойки`,openSettings:`ÐÑкÑÑÑÑ Ð½Ð°ÑÑÑойки`,closeSettings:`ÐакÑÑÑÑ Ð½Ð°ÑÑÑойки`,account:`ÐабинеÑ`,openAccount:`ÐÑкÑÑÑÑ ÐºÐ°Ð±Ð¸Ð½ÐµÑ`,signIn:`ÐойÑи`,templates:`ШаблонÑ`,openTemplates:`ÐÑкÑÑÑÑ Ð³Ð¾ÑовÑе ÑаблонÑ`,wordMap:`ÐаÑÑа Ñлов`,openWordMap:`ÐÑкÑÑÑÑ 3D-каÑÑÑ Ñлов`,live:`Live`,openLive:`ÐÑкÑÑÑÑ live-комнаÑÑ`,chromeExtension:`Chrome`,openChromeExtension:`ÐÑкÑÑÑÑ ÑаÑÑиÑение Chrome`,chromeExtensionBadgeAlt:`РаÑÑиÑение Chrome`,dismissChromeExtension:`СкÑÑÑÑ Ð¿Ñедложение ÑаÑÑиÑÐµÐ½Ð¸Ñ Chrome`,language:`ЯзÑк`},common:{loading:`ÐагÑÑзка...`,on:`Ðкл`,off:`ÐÑкл`},account:{title:`ÐабинеÑ`,subtitle:`ÐÑÑоÑÐ¸Ñ Ð³ÐµÐ½ÐµÑаÑий, ÑÐ°Ð±Ð»Ð¾Ð½Ñ Ð¸ ÑÑили ÑоÑ
ÑанÑÑÑÑÑ Ð² ваÑем аккаÑнÑе.`,signInTitle:`ÐойдиÑе, ÑÑÐ¾Ð±Ñ ÑоÑ
ÑанÑÑÑ ÑабоÑÑ`,signInSubtitle:`ÐккаÑÐ½Ñ Ð½Ñжен Ð´Ð»Ñ Ð¸ÑÑоÑии генеÑаÑий, Ñаблонов и лиÑнÑÑ
ÑÑилей.`,login:`ÐойÑи`,register:`РегиÑÑÑаÑиÑ`,name:`ÐмÑ`,email:`Email`,password:`ÐаÑолÑ`,confirmPassword:`ÐовÑоÑиÑе паÑолÑ`,passwordHint:`ТÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº паÑолÑ`,passwordMismatch:`ÐаÑоли не ÑовпадаÑÑ.`,passwordMinLength:`ÐинимÑм 8 Ñимволов`,passwordLetter:`ХоÑÑ Ð±Ñ Ð¾Ð´Ð½Ð° бÑква`,passwordNumber:`ХоÑÑ Ð±Ñ Ð¾Ð´Ð½Ð° ÑиÑÑа`,socialTitle:`ÐÑ
од ÑеÑез ÑеÑвиÑ`,socialSubtitle:`ÐÑполÑзÑйÑе Google, Yandex, Facebook или X, ÑÑÐ¾Ð±Ñ Ð²Ð¾Ð¹Ñи без оÑделÑного паÑолÑ.`,socialDivider:`или`,socialGoogle:`Google`,socialFacebook:`Facebook`,socialX:`X`,socialYandex:`Yandex`,noAccount:`СоздаÑÑ Ð°ÐºÐºÐ°ÑнÑ`,hasAccount:`Уже еÑÑÑ Ð°ÐºÐºÐ°ÑнÑ`,history:`ÐÑÑоÑиÑ`,templates:`ШаблонÑ`,styles:`СÑили`,account:`ÐккаÑнÑ`,saveHistory:`СоÑ
ÑаниÑÑ`,saveTemplate:`Шаблон`,saveStyle:`СÑилÑ`,saveCurrentHistory:`СоÑ
ÑаниÑÑ Ð³ÐµÐ½ÐµÑаÑиÑ`,saveCurrentTemplate:`СоÑ
ÑаниÑÑ Ñаблон`,saveCurrentStyle:`СоÑ
ÑаниÑÑ ÑÑилÑ`,saveHistoryHint:`СоÑ
ÑÐ°Ð½Ð¸Ñ ÑекÑÑий ÑекÑÑ, ÑоÑмÑ, ÑÑÐ¸Ð»Ñ Ð¸ паÑамеÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ðº оÑделÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð¸ÑÑоÑии.`,saveTemplateHint:`СоÑ
ÑÐ°Ð½Ð¸Ñ ÑекÑÑий пÑÐ¾ÐµÐºÑ ÐºÐ°Ðº Ñаблон, ÑÑÐ¾Ð±Ñ Ð±ÑÑÑÑо наÑинаÑÑ Ð½Ð¾Ð²Ñе облака Ñ Ñеми же наÑÑÑойками.`,saveStyleHint:`СоÑ
ÑÐ°Ð½Ð¸Ñ ÑолÑко визÑалÑнÑе наÑÑÑойки: ÑÑиÑÑ, палиÑÑÑ, Ñон, оÑиенÑаÑÐ¸Ñ Ð¸ паÑамеÑÑÑ Ð¾ÑобÑажениÑ.`,saveName:`Ðазвание`,cancel:`ÐÑмена`,save:`СоÑ
ÑаниÑÑ`,close:`ÐакÑÑÑÑ ÐºÐ°Ð±Ð¸Ð½ÐµÑ`,backToEditor:`Ð ÑедакÑоÑ`,open:`ÐÑкÑÑÑÑ`,apply:`ÐÑимениÑÑ`,delete:`УдалиÑÑ`,emptyHistory:`Ðока Ð½ÐµÑ ÑоÑ
ÑаненнÑÑ
генеÑаÑий.`,emptyTemplates:`Ðока Ð½ÐµÑ Ñаблонов.`,emptyStyles:`Ðока Ð½ÐµÑ ÑÑилей.`,words:`Ñлов`,placed:`в ÑоÑме`,logout:`ÐÑйÑи`,signedInAs:`ÐÑ Ð²Ð¾Ñли как`,palette:`палиÑÑа`,libraryActions:`СоÑ
ÑаниÑÑ ÑекÑÑÑÑ ÑабоÑÑ`,libraryHint:`ÐÑÑоÑÐ¸Ñ Ñ
ÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ñй пÑоекÑ, Ñаблон â пÑÐ¾ÐµÐºÑ Ð´Ð»Ñ Ð¿Ð¾Ð²ÑоÑного иÑполÑзованиÑ, ÑÑÐ¸Ð»Ñ â ÑолÑко визÑалÑнÑе наÑÑÑойки.`,oauthCancelled:`ÐÑ
од ÑеÑез внеÑний ÑеÑÐ²Ð¸Ñ Ð±Ñл оÑменен.`,oauthEmailRequired:`ÐÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð½Ðµ пеÑедал email. ÐÑполÑзÑйÑе дÑÑгой ÑпоÑоб вÑ
ода.`,oauthEmailUnverified:`ÐÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑ Ð½Ðµ подÑвеÑдил email. ÐÑполÑзÑйÑе дÑÑгой ÑпоÑоб вÑ
ода.`,oauthProviderDisabled:`ÐÑÐ¾Ñ ÑпоÑоб вÑ
ода пока не наÑÑÑоен.`,oauthStateInvalid:`СеÑÑиÑ
11 вÑ
ода ÑÑÑаÑела. ÐопÑобÑйÑе еÑе Ñаз.`,oauthFailed:`Ðе ÑдалоÑÑ Ð·Ð°Ð²ÐµÑÑиÑÑ Ð²Ñ
од ÑеÑез внеÑний ÑеÑвиÑ.`},templates:{metaTitle:`ÐÑблиÑнÑе ÑÐ°Ð±Ð»Ð¾Ð½Ñ Ð¾Ð±Ð»Ð°ÐºÐ° Ñлов | shapewords`,metaDescription:`ÐаÑалог облаков Ñлов, опÑбликованнÑÑ
ÑообÑеÑÑвом shapewords. ÐÑбой Ñаблон можно оÑкÑÑÑÑ Ð¸ пÑодолжиÑÑ ÑедакÑиÑоваÑÑ.`,badge:`ÐÑкÑÑÑÐ°Ñ ÐºÐ¾Ð»Ð»ÐµÐºÑиÑ`,title:`ÐÑблиÑнÑе ÑаблонÑ`,description:`ÐдеÑÑ ÑобÑÐ°Ð½Ñ Ð¾Ð±Ð»Ð°ÐºÐ° Ñлов, опÑбликованнÑе полÑзоваÑелÑми shapewords. ÐÑкÑойÑе лÑбÑÑ ÑабоÑÑ ÐºÐ°Ðº Ñаблон, замениÑе Ñлова и пÑодолжиÑе ÑедакÑиÑование.`,searchPlaceholder:`ÐоиÑк по Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ð¸ Ñловам...`,languageFilter:`ЯзÑк Ñаблона`,allLanguages:`ÐÑе ÑзÑки`,resultCount:`{{count}} пÑбликаÑий`,resetSearch:`СбÑоÑиÑÑ Ð¿Ð¾Ð¸Ñк`,loadError:`Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¿ÑблиÑнÑе ÑаблонÑ`,loadMore:`ÐоказаÑÑ ÐµÑÑ`,emptyTitle:`ÐиÑего не найдено`,emptyDescription:`ÐопÑобÑйÑе дÑÑгой запÑоÑ, вÑбеÑиÑе вÑе ÑзÑки или опÑбликÑйÑе пеÑвое облако в ÑÑой каÑегоÑии.`,noPreview:`ÐÑевÑÑ Ð½ÐµÐ´Ð¾ÑÑÑпно`,wordsCount:`{{count}} Ñлов`},text:JSON.parse(`{"title":"ТекÑÑ","smartImport":"Smart Import","smartImportDescription":"ТекÑÑ, CSV/TSV, Excel .xlsx, Google Sheets и поÑÑÑ Ð¸Ð· X, Reddit, Hacker News, YouTube, Telegram и RSS-Ñидов","closeSmartImport":"ÐакÑÑÑÑ Smart Import","smartImportPlaceholder":"ÐÑÑавÑÑе ÑекÑÑ, CSV/TSV или пеÑеÑаÑиÑе Ñайл...","placeholder":"ÐÑÑавÑÑе ÑекÑÑ ÑÑда...","sample":"ÐопÑобоваÑÑ Ð¿ÑимеÑ","voiceInput":"ÐолоÑ","voiceStart":"ÐаÑаÑÑ Ð³Ð¾Ð»Ð¾Ñовой ввод","voiceStop":"ÐÑÑановиÑÑ Ð³Ð¾Ð»Ð¾Ñовой ввод","voiceStopShort":"СÑоп","voiceListening":"СлÑÑаем микÑоÑон","voiceUnsupported":"ÐолоÑовой ввод не поддеÑживаеÑÑÑ Ð² ÑÑом бÑаÑзеÑе","voicePermissionDenied":"ÐоÑÑÑп к микÑоÑÐ¾Ð½Ñ Ð·Ð°Ð¿ÑеÑен. РазÑеÑиÑе его и попÑобÑйÑе Ñнова.","voiceNoSpeech":"РеÑÑ Ð½Ðµ ÑаÑпознана. ÐопÑобÑйÑе еÑе Ñаз и говоÑиÑе ÑÑÑÑ Ð±Ð»Ð¸Ð¶Ðµ к микÑоÑонÑ.","voiceNoMicrophone":"Ðе найден иÑÑоÑник звÑка Ñ Ð¼Ð¸ÐºÑоÑона.","voiceError":"Ðе ÑдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð³Ð¾Ð»Ð¾Ñовой ввод","emoji":"Ðмодзи","emojiSearchPlaceholder":"ÐоиÑк emoji: ÑмеÑ
, огонÑ, ÑеÑдÑе...","emojiSearchLoading":"ÐагÑÑжаем emoji","emojiSearchNoResults":"Emoji не найденÑ","addEmojiAria":"ÐобавиÑÑ {{emoji}}","dropHint":"ÐеÑеÑаÑиÑе .txt, .csv, .tsv или .xlsx Ñайл","clear":"ÐÑиÑÑиÑÑ","importFile":"Файл","importText":"ÐмпоÑÑ ÑекÑÑа","googleSheets":"Google Sheets","googleSheetsPlaceholder":"СÑÑлка на ÑаблиÑÑ Ð¸Ð»Ð¸ опÑбликованнÑй CSV","googleFileSharingHelp":"Ðак наÑÑÑоиÑÑ Ð´Ð¾ÑÑÑп в Google","import":"ÐмпоÑÑ","xImport":"X (Twitter)","xImportPlaceholder":"ÐÑÑавÑÑе ÑÑÑÐ»ÐºÑ Ð½Ð° поÑÑ Ð¸Ð· x.com","xImportHint":"ТолÑко пÑблиÑнÑе поÑÑÑ. ÐÑÑавÑÑе Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко ÑÑÑлок â импоÑÑиÑÑем ÑекÑÑ Ð¿Ð¾ÑÑов.","redditImport":"Reddit","redditImportPlaceholder":"ÐÑÑавÑÑе ÑÑÑÐ»ÐºÑ Ð½Ð° поÑÑ Ð¸Ð»Ð¸ ÑабÑеддиÑ","redditImportHint":"ТолÑко пÑблиÑнÑе обÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¸ ÑабÑеддиÑÑ. ÐмпоÑÑиÑÑем заголовки и комменÑаÑии.","hnImport":"Hacker News","hnImportPlaceholder":"ÐÑÑавÑÑе ÑÑÑÐ»ÐºÑ Ð½Ð° обÑÑждение Hacker News","hnImportHint":"ÐмпоÑÑиÑÑем иÑÑоÑÐ¸Ñ Ð¸ комменÑаÑии к ней.","youtubeImport":"YouTube","youtubeImportPlaceholder":"Ð
11ÑÑавÑÑе ÑÑÑÐ»ÐºÑ Ð½Ð° видео YouTube","youtubeImportHint":"ÐмпоÑÑиÑÑем название, опиÑание, Ñеги и попÑлÑÑнÑе комменÑаÑии.","telegramImport":"Telegram","telegramImportPlaceholder":"СÑÑлка на пÑблиÑнÑй канал или @имÑ","telegramImportHint":"ТолÑко пÑблиÑнÑе каналÑ. ÐмпоÑÑиÑÑем недавние поÑÑÑ.","rssImport":"RSS","rssImportPlaceholder":"ÐÑÑавÑÑе ÑÑÑÐ»ÐºÑ Ð½Ð° лÑбой RSS или Atom Ñид","rssImportHint":"ÐÑбой блог или новоÑÑной Ñид. ÐмпоÑÑиÑÑем заголовки и опиÑÐ°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей.","importOptions":"ÐÑавила импоÑÑа","keepCase":"СоÑ
ÑанÑÑÑ ÑегиÑÑÑ","countFrequency":"СÑиÑаÑÑ ÑаÑÑоÑÑ","removeStopWords":"УбиÑаÑÑ ÑÑоп-Ñлова","detectDuplicates":"ÐбÑединÑÑÑ Ð´Ñбли","lemmatizeWords":"ÐеммаÑизаÑиÑ","languageProcessing":"ЯзÑÐºÐ¾Ð²Ð°Ñ Ð¾Ð±ÑабоÑка","languageProcessingStatus":"ÐбÑабоÑка: {{language}}","languageProcessingSection":"ÐбÑабоÑка ÑзÑка","processingLanguage":"ЯзÑк ÑекÑÑа","autoLanguage":"ÐпÑеделÑÑÑ Ð°Ð²ÑомаÑиÑеÑки","chineseLanguage":"ÐиÑайÑкий","chineseScript":"ÐаÑÐ¸Ð°Ð½Ñ ÐºÐ¸ÑайÑкого","chineseScriptAuto":"ÐпÑеделÑÑÑ Ð°Ð²ÑомаÑиÑеÑки","chineseSimplified":"УпÑоÑÑннÑй киÑайÑкий","chineseTraditional":"ТÑадиÑионнÑй киÑайÑкий","chineseMode":"Режим обÑабоÑки киÑайÑкого","chineseFast":"ÐÑÑÑÑÑй","chinesePrecise":"ТоÑнÑй","keepSingleHan":"СоÑ
ÑанÑÑÑ Ð¾Ð´Ð¸Ð½Ð¾ÑнÑе иеÑоглиÑÑ","includeNumbers":"ÐклÑÑаÑÑ ÑиÑла","normalizeChineseVariants":"ÐбÑединÑÑÑ ÑÑадиÑионнÑе и ÑпÑоÑÑннÑе ÑоÑмÑ","minTokenLength":"ÐинималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑеÑмина","chineseStopWordsProfile":"СÑоп-Ñлова","chineseStopWordsCore":"ÐезопаÑнÑе","chineseStopWordsExtended":"РаÑÑиÑеннÑе","chinesePosFilter":"ЧаÑÑи ÑеÑи","chinesePosAll":"ÐÑе","chinesePosContent":"СмÑÑловÑе","chinesePosNouns":"СÑÑ.","chineseKeywordRanking":"ÐÐµÑ ÑеÑминов","chineseKeywordSmart":"УмнÑй","chineseKeywordFrequency":"ЧаÑÑоÑа","chineseKeywordRankingHint":"УмнÑй Ñежим ÑоÑеÑÐ°ÐµÑ ÑаÑÑоÑÑ, TF-IDF, TextRank, позиÑÐ¸Ñ Ð¸ ÑаÑÑÑ ÑеÑи; иÑÑ
Ð¾Ð´Ð½Ð°Ñ ÑаÑÑоÑа ÑоÑ
ÑанÑеÑÑÑ Ð² меÑаданнÑÑ
.","englishLanguage":"ÐнглийÑкий","englishProcessingHint":"ÐнглийÑкий ÑекÑÑ Ð¾Ð±ÑабаÑÑваеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ñно в бÑаÑзеÑе Ñ Ð¾Ð¿Ñеделением ÑаÑÑей ÑеÑи и наÑалÑнÑÑ
ÑоÑм.","englishPosFilter":"ЧаÑÑи ÑеÑи","englishPosAll":"ÐÑе Ñлова","englishPosContent":"ÐнаÑимÑе","englishPosNouns":"СÑÑеÑÑвиÑелÑнÑе","englishLemmatize":"ÐеммаÑизиÑоваÑÑ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкие Ñлова","englishStopWordsProfile":"СÑоп-Ñлова","englishStopWordsCore":"ÐазовÑе","englishStopWordsExtended":"РаÑÑиÑеннÑе","englishStopWordsHint":"ÐазовÑй ÑпиÑок ÑбиÑÐ°ÐµÑ ÑаÑпÑоÑÑÑанÑннÑе ÑлÑжебнÑе Ñлова; ÑаÑÑиÑеннÑй Ñакже оÑÑилÑÑÑовÑÐ²Ð°ÐµÑ ÑаÑÑÑе Ñлова-паÑазиÑÑ.","russianLanguage":"Ð ÑÑÑкий","russianLocale":"ÐаÑÐ¸Ð°Ð½Ñ ÑÑÑÑкого ÑзÑка","russianMode":"Режим ÑÑÑÑкого","russianFast":"ÐÑÑÑÑÑй","russianPrecise":"OpenCorpora","russianPreciseHint":"ТоÑнÑй Ñежим Smart Import локалÑно загÑÑÐ¶Ð°ÐµÑ Ð½ÑжнÑе ÑÑагменÑÑ ÑловаÑÑ. ÐеоднознаÑнÑе ÑоÑÐ¼Ñ Ð½Ðµ ÑгадÑваÑÑÑÑ.","russianPosFilter":"ЧаÑÑи ÑеÑи","russianPosAll":"ÐÑе","russianPosContent":"ÐнаÑимÑе","russianPosNouns":"СÑÑеÑÑвиÑелÑнÑе","russianLemmatize":"ÐеммаÑизиÑоваÑÑ ÑÑÑÑкие Ñлова","russianYoNormalization":"ÐоÑмализаÑÐ¸Ñ Ð/Ð","russianYoPreserve":"Ðе обÑединÑÑÑ Ð Ð¸ Ð","russianYoFold":"ÐбÑединÑÑÑ Ð Ñ Ð","russianYoHint":"ÐбÑединение ÑлÑÑÑÐ°ÐµÑ Ð¿Ð¾Ð´ÑÑÑÑ ÑаÑÑоÑÑ; иÑÑ
одное напиÑание ÑоÑ
ÑанÑеÑÑÑ, когда ÑÑо возможно.","russianStopWordsProfile":"СÑоп-Ñлова","russianStopWordsCore":"ÐазовÑе","russianStopWordsExtended":"РаÑÑиÑеннÑе","russianStopWordsHint":"ÐазовÑй ÑпиÑок ÑбиÑÐ°ÐµÑ ÑолÑко надÑжнÑе ÑлÑжебнÑе Ñлова; ÑаÑÑиÑеннÑй â болÑÑе ÑаÑÑÑÑ
Ñлов-паÑазиÑов.","genericLanguageProcessingHint":"ÐÐ»Ñ ÑÑого ÑзÑка вклÑÑена Ð±Ð°Ð·Ð¾Ð²Ð°Ñ Ð»Ð¾ÐºÐ°Ð»ÑÐ½Ð°Ñ ÑокенизаÑиÑ. ÐÑбеÑиÑе киÑайÑкий, ÑÑÑÑкий или английÑкий, ÑÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоиÑÑ Ð¿Ð¾Ð´ÑобнÑй пÑоÑеÑÑоÑ.","customDictionary":"ÐолÑзоваÑелÑÑкий ÑловаÑÑ","customDictionaryPlaceholder":"Ðдин ÑеÑмин в ÑÑÑоке. Ðолее длиннÑе ÑеÑÐ¼Ð¸Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð¿ÑиоÑиÑеÑ.","synonyms":"СинонимÑ","synonymsPlaceholder":"Ðдна гÑÑппа в ÑÑÑоке: оÑновной ÑеÑмин: Ñиноним 1, Ñиноним 2","processingPrivacyLocal":"ÐбÑабоÑка вÑполнÑеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ñно в ваÑем бÑаÑзеÑе.","preciseProcessingHint":"ТоÑнÑй Ñежим лÑÑÑе опÑеделÑÐµÑ Ð³ÑаниÑÑ ÐºÐ¸ÑайÑкиÑ
Ñлов и Ð¼Ð¾Ð¶ÐµÑ ÑабоÑаÑÑ Ð½ÐµÐ¼Ð½Ð¾Ð³Ð¾ долÑÑе.","preserveStyles":"СоÑ
ÑанÑÑÑ ÑÑилÑ","replaceWordsOnly":"ÐаменÑÑÑ ÑолÑко Ñлова","includeEmoji":"Ðмодзи","customStopWordsPlaceholder":"Custom stop-word list: по Ð¾Ð´Ð½Ð¾Ð¼Ñ ÑÐ»Ð¾Ð²Ñ Ð² ÑÑÑоке, ÑеÑез запÑÑÑÑ Ð¸Ð»Ð¸ ;","importResult":"{{source}}: {{count}} Ñлов, {{rows}} ÑÑÑок, Ñежим {{mode}}","includePhrases":"ФÑазÑ","importMode":{"text":"ÑекÑÑ","table":"ÑаблиÑа"},"errors":{"xlsUnsupported":"СÑаÑÑй .xls пока не поддеÑживаеÑÑÑ. СоÑ
ÑаниÑе Ñайл как .xlsx или CSV.","googleSheetsFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Google Sheets. ÐÑжна пÑблиÑÐ½Ð°Ñ ÑÑÑлка или опÑбликованнÑй CSV.","googleSheetsInvalidUrl":"ÐÑо не поÑ
оже на коÑÑекÑнÑÑ ÑÑÑÐ»ÐºÑ Google Sheets или опÑбликованнÑй CSV. ÐÑÑавÑÑе полнÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° ÑаблиÑÑ Ð¸Ð»Ð¸ пÑблиÑнÑй HTTPS CSV.","googleFileAccessDenied":"ÐоÑÑÑп к Google-докÑменÑÑ Ð·Ð°ÐºÑÑÑ. Ð Google Docs или Google Drive оÑкÑойÑе «ÐоделиÑÑÑÑ» и в «ÐбÑем доÑÑÑпе» вÑбеÑиÑе «ÐÑе, Ñ ÐºÐ¾Ð³Ð¾ еÑÑÑ ÑÑÑлка».","
11importFailed":"Ðе ÑдалоÑÑ Ð¸Ð¼Ð¿Ð¾ÑÑиÑоваÑÑ Ð´Ð°Ð½Ð½Ñе","xImportFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¿Ð¾ÑÑ X. ÐÑполÑзÑйÑе ÑÑÑÐ»ÐºÑ Ð½Ð° пÑблиÑнÑй поÑÑ.","redditImportFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑÑÑÐ»ÐºÑ Reddit. ÐÑполÑзÑйÑе пÑблиÑнÑй поÑÑ Ð¸Ð»Ð¸ ÑабÑеддиÑ.","hnImportFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¾Ð±ÑÑждение Hacker News. ÐÑполÑзÑйÑе ÑÑÑÐ»ÐºÑ Ð½Ð° пÑблиÑнÑй поÑÑ.","youtubeImportFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð²Ð¸Ð´ÐµÐ¾ YouTube. Ðозможно, оно недоÑÑÑпно или импоÑÑ Ð½Ðµ наÑÑÑоен.","telegramImportFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÐºÐ°Ð½Ð°Ð» Telegram. ÐÑполÑзÑйÑе ÑÑÑÐ»ÐºÑ Ð½Ð° пÑблиÑнÑй канал.","rssImportFailed":"Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ñид. ÐÑполÑзÑйÑе коÑÑекÑнÑÑ ÑÑÑÐ»ÐºÑ RSS или Atom."}}`),words:{title:`Слова`,exportCsv:`ÐкÑпоÑÑ Ð² CSV`,word:`Слово`,editWord:`РедакÑиÑоваÑÑ Ñлово`,delete:`УдалиÑÑ Ñлово`,clearList:`ÐÑиÑÑиÑÑ ÑпиÑок Ñлов`,count:`ЧаÑÑоÑа`,size:`РазмеÑ`,sizeTitle:`ÐаÑÑÑаб Ñлова или emoji оÑноÑиÑелÑно ÑаÑÑоÑÑ`,sizeWord:`Ð Ð°Ð·Ð¼ÐµÑ {{word}}`,resetSize:`СбÑоÑиÑÑ ÑазмеÑ`,resetSizeShort:`100`,empty:`ÐведиÑе ÑекÑÑ Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ð¸Ð·Ð°`,total:`{{count}} Ñлов`,filteredTotal:`{{count}} из {{total}}`,searchPlaceholder:`ÐоиÑк Ñлова или emoji`,noMatches:`ÐиÑего не найдено`,showing:`Ðоказано {{shown}} из {{count}}`,emoji:`emoji`,repeatShort:`повÑ.`,repeatTitle:`ÐовÑоÑÑÑÑ Ñлово пÑи заполнении`,repeatWord:`ÐовÑоÑÑÑÑ {{word}} пÑи заполнении`,enableRepeatWord:`ÐклÑÑиÑÑ Ð¿Ð¾Ð²ÑÐ¾Ñ Ð´Ð»Ñ {{word}}`,disableRepeatWord:`ÐÑклÑÑиÑÑ Ð¿Ð¾Ð²ÑÐ¾Ñ Ð´Ð»Ñ {{word}}`,managerTitle:`ÐÐµÐ½ÐµÐ´Ð¶ÐµÑ Ñлов`,managerApply:`ÐÑимениÑÑ`,managerDescription:`{{count}} ÑлеменÑов Ñ ÑоÑÑиÑовкой, маÑÑовÑми дейÑÑвиÑми и наÑÑÑойками на ÑÑовне Ñлова.`,openManager:`УпÑавлÑÑÑ Ñловами`,selected:`ÐÑбÑано: {{count}}`,selectAll:`ÐÑбÑаÑÑ Ð²Ñе видимÑе Ñлова`,kind:`Тип`,frequencyValue:`ÐÐµÑ {{count}}`,bulkActions:`ÐаÑÑовÑе дейÑÑвиÑ`,bulkDescription:`ÐÑимениÑе одно изменение ÑÑÐ°Ð·Ñ ÐºÐ¾ вÑем вÑбÑаннÑм Ñловам.`,bulkFont:`ШÑиÑÑ Ð´Ð»Ñ Ð³ÑÑппÑ`,fontAutoAll:`ÐвÑо Ð´Ð»Ñ Ð²ÑбÑаннÑÑ
`,repeatOn:`ÐовÑÐ¾Ñ Ð²ÐºÐ».`,repeatOff:`ÐовÑÐ¾Ñ Ð²Ñкл.`,repeatAll:`ÐовÑоÑÑÑÑ Ð²Ñе`,deleteSelected:`УдалиÑÑ Ð²ÑбÑаннÑе`,wordFont:`ШÑиÑÑ Ñлова`,addWord:`ÐобавиÑÑ Ñлово`,addPlaceholder:`ÐобавиÑÑ ÐµÑÑâ¦`,addPlaceholderEmpty:`ÐведиÑе Ñлово и нажмиÑе Enter`,emptyListTitle:`СпиÑок Ñлов пÑÑÑ`,emptyListDescription:`ÐобавÑÑе Ñлова в ÑоÑме вÑÑе: введиÑе Ñлово и нажмиÑе Enter.`,sourceTitle:`ÐÑÑ
однÑй ÑекÑÑ`,sourceDescription:`ÐÑÑавÑÑе или импоÑÑиÑÑйÑе ÑекÑÑ, ÑÑÐ¾Ð±Ñ Ð¿ÑевÑаÑиÑÑ ÐµÐ³Ð¾ в Ñлова.`},style:{title:`СÑилÑ`,font:`ШÑиÑÑ`,uploadFont:`ÐагÑÑзиÑÑ ÑÑиÑÑ`,customFonts:`Свои {{count}}`,customFontsBadge:`{{count}}`,fontLoading:`ÐагÑÑзка`,deleteCustomFont:`УдалиÑÑ Ñвой ÑÑиÑÑ`,scriptFonts:`ШÑиÑÑÑ ÑзÑков`,autoFont:`ÐвÑо`,fontUpload:{title:`ÐагÑÑзка Ñвоего ÑÑиÑÑа`,description:`ÐобавÑÑе Ñайл ÑÑиÑÑа, коÑоÑÑй можно иÑполÑзоваÑÑ Ð² генеÑаÑоÑе облака Ñлов.`,formatsTitle:`ÐоддеÑживаемÑе ÑоÑмаÑÑ`,formatsBody:`ÐÑÑÑе вÑего иÑполÑзоваÑÑ WOFF2. Также пÑинимаÑÑÑÑ WOFF, TTF и OTF до 6 ÐÐ. ÐоллекÑии TTC, аÑÑ
ивÑ, SVG-ÑÑиÑÑÑ Ð¸ ÑвеÑнÑе/ваÑиаÑивнÑе ÑÑиÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð½Ðµ поддеÑживаÑÑÑÑ ÐºÐ¾ÑÑекÑно.`,licenseTitle:`УÑÐ»Ð¾Ð²Ð¸Ñ Ð¸ÑполÑзованиÑ`,licenseOwn:`ÐагÑÑжайÑе ÑолÑко ÑÑиÑÑÑ, на иÑполÑзование коÑоÑÑÑ
Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¿Ñава.`,licenseAllowed:`ÐодÑ
одÑÑ Ð±ÐµÑплаÑнÑе и open-source ÑÑиÑÑÑ, напÑÐ¸Ð¼ÐµÑ Ñ Ð»Ð¸ÑензиÑми SIL OFL, Apache или аналогиÑнÑми, а Ñакже коммеÑÑеÑкие ÑÑиÑÑÑ, еÑли ваÑа лиÑÐµÐ½Ð·Ð¸Ñ ÑазÑеÑÐ°ÐµÑ web/desktop-иÑполÑзование и генеÑаÑÐ¸Ñ Ð¸Ð·Ð¾Ð±Ñажений.`,licenseRestricted:`Ðе загÑÑжайÑе ÑÑиÑÑÑ, лиÑÐµÐ½Ð·Ð¸Ñ ÐºÐ¾ÑоÑÑÑ
запÑеÑÐ°ÐµÑ Ð²ÑÑÑаивание, веб-иÑполÑзование, Ñоздание изобÑажений или иÑполÑзование в ÑеÑвиÑаÑ
генеÑаÑии.`,storageTitle:`Ðде Ñ
ÑаниÑÑÑ Ñайл`,storageBody:`Файл ÑоÑ
ÑанÑеÑÑÑ Ð»Ð¾ÐºÐ°Ð»Ñно в ÑÑом бÑаÑзеÑе ÑеÑез IndexedDB и не оÑпÑавлÑеÑÑÑ Ð½Ð° ÑеÑÐ²ÐµÑ Ð¿Ñи загÑÑзке. ÐкÑпоÑÑ Ð¸Ð· ÑекÑÑего бÑаÑзеÑа бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÑÑÐ¾Ñ ÑÑиÑÑ, но пÑблиÑнÑе ÑÑÑлки и дÑÑгой бÑаÑÐ·ÐµÑ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÑ fallback, еÑли Ñам Ð½ÐµÑ Ñого же Ñайла.`,warning:`Ðдин Ñайл ÑаÑпознаеÑÑÑ ÐºÐ°Ðº один ÑÑилÑ. ÐÑли нÑÐ¶Ð½Ñ Regular, Bold или Ital
11ic, загÑÑзиÑе ÑооÑвеÑÑÑвÑÑÑие ÑÐ°Ð¹Ð»Ñ Ð¾ÑделÑно.`,chooseFile:`ÐÑбÑаÑÑ Ñайл ÑÑиÑÑа`},palette:`ÐалиÑÑа`,customPalette:`СвоÑ`,customPaletteTitle:`Ð¡Ð²Ð¾Ñ Ð¿Ð°Ð»Ð¸ÑÑа`,customPaletteHint:`СобеÑиÑе Ð½Ð°Ð±Ð¾Ñ ÑвеÑов Ð´Ð»Ñ Ñлов. ÐÐ·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÐ°Ð·Ñ Ð¿ÑименÑÑÑÑÑ Ðº ÑекÑÑÐµÐ¼Ñ Ð¾Ð±Ð»Ð°ÐºÑ.`,addCustomColor:`ÐобавиÑÑ ÑвеÑ`,removeCustomColor:`УдалиÑÑ ÑвеÑ`,resetCustomPalette:`СбÑоÑиÑÑ Ð¿Ð°Ð»Ð¸ÑÑÑ`,customColorNumber:`Ð¦Ð²ÐµÑ {{number}}`,colorMode:`Режим ÑвеÑа`,sequential:`ÐоÑледоваÑелÑнÑй`,random:`СлÑÑайнÑй`,byFrequency:`Ðо ÑаÑÑоÑе`,fontSize:`Ðиапазон ÑазмеÑа`,min:`Ðин`,max:`ÐакÑ`,morePalettes:`ÐÑе палиÑÑÑ`,paletteDialogTitle:`ЦвеÑÐ¾Ð²Ð°Ñ Ð¿Ð°Ð»Ð¸ÑÑа`,paletteDialogCount:`{{count}} палиÑÑ`,closePalettes:`ÐакÑÑÑÑ Ð¿Ð°Ð»Ð¸ÑÑÑ`},layout:{title:`РаÑкладка`,spiral:`СпиÑалÑ`,archimedean:`ÐÑÑ
имедова`,rectangular:`ÐÑÑмоÑголÑнаÑ`,rotation:`ÐÑиенÑаÑиÑ`,horizontal:`ÐоÑизонÑалÑно`,mixed:`СмеÑаннаÑ`,vertical:`ÐеÑÑикалÑно`,orthogonal:`ÐоÑизонÑалÑно и веÑÑикалÑно`,crossing:`ÐеÑекÑеÑÑно`,crossingVoids:`ÐеÑекÑеÑÑно по пÑÑÑоÑам`,dancing:`ТанÑÑÑÑие Ñлова`,positiveSlope:`ÐÐ¸Ð°Ð³Ð¾Ð½Ð°Ð»Ñ Ð²Ð²ÐµÑÑ
`,negativeSlope:`ÐÐ¸Ð°Ð³Ð¾Ð½Ð°Ð»Ñ Ð²Ð½Ð¸Ð·`,random:`СлÑÑайно`,custom:`Свои`,moreOrientations:`ÐÑе оÑиенÑаÑии`,orientationDialogTitle:`ÐÑиенÑаÑÐ¸Ñ Ñлов`,orientationDialogCount:`{{count}} Ñежимов`,closeOrientations:`ÐакÑÑÑÑ Ð¾ÑиенÑаÑии`,crossingPreview:`ÐеÑекÑеÑÑно`,voidsPreview:`ÐÑÑÑоÑÑ`,dancingPreview:`ТанÑÑÑÑ`,wordsPreview:`Слова`,positivePreview:`ÐвеÑÑ
`,negativePreview:`Ðниз`,slopePreview:`ÐиагоналÑ`,customAngles:`УглÑ`,customAnglesPlaceholder:`0, -30, 30, 90`,angled:`Ðод Ñглом`,free:`Свободно`,padding:`ÐнÑеÑвал Ñлов`,maxWords:`ÐÐ¸Ð¼Ð¸Ñ Ñлов`},shape:{title:`ФоÑма`,popular:`ÐопÑлÑÑнÑе`,selected:`ÐÑбÑано`,openCatalog:`ÐаÑалог`,catalogTitle:`ÐаÑалог ÑоÑм`,catalogCount:`{{count}} ÑоÑм`,closeCatalog:`ÐакÑÑÑÑ ÐºÐ°Ñалог ÑоÑм`,catalogCustomize:`ÐаÑÑÑойка ÑоÑмÑ`,catalogColor:`Ð¦Ð²ÐµÑ ÑоÑмÑ`,catalogInvert:`ÐнвеÑÑÐ¸Ñ ÑоÑмÑ`,catalogInvertHint:`ÐаполнÑÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ Ð²Ð¾ÐºÑÑг конÑÑÑа, а не Ñам конÑÑÑ.`,catalogBack:`Ðазад`,catalogEditFree:`РедакÑиÑоваÑÑ`,catalogApply:`ÐÑимениÑÑ`,searchPlaceholder:`ÐоиÑк по ÑоÑмам и Ñегам`,catalogEmpty:`ФоÑÐ¼Ñ Ð½Ðµ найденÑ`,deleteShape:`УдалиÑÑ ÑоÑÐ¼Ñ Â«{{name}}»`,deleteShapeConfirm:`УдалиÑÑ ÑоÑÐ¼Ñ Â«{{name}}» из ÑвоиÑ
?`,customTitle:`Ð¡Ð²Ð¾Ñ ÑоÑма`,customDescription:`ÐаÑиÑÑйÑе конÑÑÑ Ð² конÑÑÑÑкÑоÑе или импоÑÑиÑÑйÑе изобÑажение`,builderOpen:`ÐонÑÑÑÑкÑоÑ`,builderTitle:`ÐонÑÑÑÑкÑÐ¾Ñ ÑоÑмÑ`,builderDescription:`СобеÑиÑе конÑÑÑ Ð¸Ð· ÑоÑек или пÑевÑаÑиÑе бÑÐºÐ²Ñ Ð¸ ÑиÑÑÑ Ð² векÑоÑнÑÑ Ð¼Ð°ÑкÑ.`,builderDrawMode:`ÐонÑÑÑ`,builderTextMode:`ÐÑÐºÐ²Ñ Ð¸ ÑиÑÑÑ`,builderControls:`Ðак ÑиÑоваÑÑ`,builderHintAdd:`ÐликниÑе или ÑапниÑе по ÑеÑке, ÑÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð½Ð¾Ð²ÑÑ ÑоÑкÑ.`,builderHintDrag:`ÐеÑеÑаÑкивайÑе ÑзлÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÐºÐ¾Ð½ÑÑÑ. ФоÑма замÑкаеÑÑÑ Ð°Ð²ÑомаÑиÑеÑки.`,builderHintSnap:`Ðегкий Ð¼Ð°Ð³Ð½Ð¸Ñ Ð¿ÑиÑÑÐ³Ð¸Ð²Ð°ÐµÑ ÑоÑки к ÑеÑке. Alt оÑклÑÑÐ°ÐµÑ Ð¼Ð°Ð³Ð½Ð¸Ñ.`,builderTextInput:`СимволÑ`,builderTextPlaceholder:`A 2026`,builderTextFont:`ШÑиÑÑ`,builderTextFontSearch:`ÐоиÑк ÑÑиÑÑа`,builderTextFontSearchClear:`ÐÑиÑÑиÑÑ Ð¿Ð¾Ð¸Ñк ÑÑиÑÑа`,builderTextFontSearchEmpty:`ШÑиÑÑÑ Ð½Ðµ найденÑ`,builderTextStyle:`ÐаÑеÑÑание`,builderTextInvert:`ÐнвеÑÑиÑ`,builderTextInvertHint:`Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÑÑÑÑÑ Ñами бÑквÑ. ÐÑи инвеÑÑии заполнÑеÑÑÑ Ð¿ÑоÑÑÑанÑÑво вокÑÑг ниÑ
.`,builderTextLoading:`ÐоÑовим конÑÑÑ`,builderTextPreviewEmpty:`ÐведиÑе бÑÐºÐ²Ñ Ð¸Ð»Ð¸ ÑиÑÑÑ`,builderTextError:`Ðе ÑдалоÑÑ Ð¿Ð¾ÑÑÑоиÑÑ ÑоÑÐ¼Ñ Ð¸Ð· ÑекÑÑа`,builderUndo:`Ðазад`,builderClear:`ÐÑиÑÑиÑÑ`,builderReset:`ÐÑимеÑ`,builderApply:`ÐÑполÑзоваÑÑ ÑоÑмÑ`,builderStats:`{{count}} ÑоÑек, плоÑÐ°Ð´Ñ {{area}}`,builderShapeName:`ÐекÑоÑÐ½Ð°Ñ ÑоÑма`,builderEditedSuffix:`ÑедакÑиÑ`,closeBuilder:`ÐакÑÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑоÑ`,editShape:`РедакÑиÑоваÑÑ ÑоÑмÑ`,customUpload:`ÐагÑÑзиÑÑ`,customThreshold:`ÐоÑог маÑки`,customReady:`ФоÑма «{{name}}» гоÑова`,customError:`Ðе ÑдалоÑÑ ÑоздаÑÑ ÑоÑÐ¼Ñ Ð¸Ð· изобÑажениÑ`,customModes:{auto:`ÐвÑо`,alpha:`Alpha`,contrast:`ÐонÑÑаÑÑ`},categories:{all:`ÐÑе`,basic:`ÐазовÑе`,nature:`ÐÑиÑода`,animals:`ÐивоÑнÑе`,kids:`ÐеÑÑкие`,numbers:`ЦиÑÑÑ`,objects:`ÐбÑекÑÑ`,symbols:`СимволÑ`,travel:`ТÑанÑпоÑÑ`,brands:`ÐÑендÑ`,custom:`Свои`},mode:`Режим`,frequency:`Ðо ÑаÑÑоÑе`,fill:`ÐаполниÑÑ ÑоÑмÑ`,background:`Фон ÑигÑÑÑ`,backgroundNone:`Ðез Ñона`,backgroundWhite:`СвеÑлÑй Ñон`,backgroundSky:`ÐолÑбой Ñон`,backgroundMint:`ÐÑÑнÑй Ñон`,backgroundWarm:`ТÑплÑй Ñон`,backgroundRose:`РозовÑй Ñон`,backgroundCustom:`ÐÑбÑаÑÑ ÑÐ²ÐµÑ Ñона ÑигÑÑÑ`},stopWords:{title:`СÑоп-Ñлова`,enable:`ФилÑÑÑоваÑÑ ÑÑоп-Ñлова`,language:`ЯзÑк`,auto:`ÐвÑо`,ru:`Ð ÑÑÑкий`,en:`ÐнглийÑкий`,es:`ÐÑпанÑкий`,fr:`ФÑанÑÑзÑкий`,ar:`ÐÑабÑкий`,zh:`ÐиÑайÑкий`},export:{title:`ÐкÑпоÑÑ`,format:`ФоÑмаÑ`,quality:`ÐаÑеÑÑво`,background:`Фон`,transparent:`ÐÑозÑаÑнÑй`,white:`ÐелÑй`,dark:`ТÑмнÑй`,save:`СоÑ
ÑаниÑÑ`,download:`СкаÑаÑÑ`,toggleOptions:`ÐаÑÑÑойки ÑкÑпоÑÑа`,close:`ÐакÑÑÑÑ`,printReady:`Print-ready PDF`,printReadyDescription:`ФикÑиÑованнÑй лиÑÑ, Ð¿Ð¾Ð»Ñ Ð¸ меÑки пеÑаÑи`,page:`ÐиÑÑ`,margin:`ÐолÑ`,bleed:`Bleed`,safeZone:`Safe zone`,cropMarks:`Crop marks`,downloading:`СкаÑивание...`,watermark:`иÑÑоÑник: {{site}}`,hideWatermark:`Ðез копиÑайÑа ÑеÑвиÑа`,hideWatermarkDescription:`УбÑаÑÑ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑ Ñ Ð°Ð´ÑеÑом ÑайÑа из ÑкÑпоÑÑа`},publish:{button:`ÐоделиÑÑÑÑ`,creating:`ÐÑбликÑем...`,title:`ÐÑбликаÑÐ¸Ñ Ð¾Ð±Ð»Ð°ÐºÐ°`,description:`СоздаÑÑ ÑÑÑÐ»ÐºÑ Ð½Ð° облако Ñ ÑекÑÑей ÑаÑкладкой, ÑоÑмой и ÑÑилем.`,publicLifetime:`ÐÑблиÑнÑй Ñаблон Ñ
ÑаниÑÑÑ Ð±ÐµÑÑÑоÑно и пÑивÑзан к ÑзÑÐºÑ ÑекÑÑего инÑеÑÑейÑа.`,privateLifetime:`ÐÑиваÑÐ½Ð°Ñ ÑÑÑлка дейÑÑвÑÐµÑ 90 дней и не поÑвл
11ÑеÑÑÑ Ð² каÑалоге.`,defaultTitle:`ÐÐ¾Ñ Ð¾Ð±Ð»Ð°ÐºÐ¾ Ñлов`,nameLabel:`Ðазвание пÑбликаÑии`,namePlaceholder:`ÐапÑимеÑ, ÐаÑÑа идей пÑоекÑа`,publicNotice:`Ðазвание, Ñлова и изобÑажение бÑдÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð²Ñем поÑеÑиÑелÑм пÑблиÑного каÑалога.`,privateToggle:`ÐÑÑавиÑÑ Ð¿ÑиваÑнÑÑ ÑÑÑлкÑ`,privateDescription:`Ðе показÑваÑÑ ÑабоÑÑ Ð² пÑблиÑном каÑалоге`,privateNotice:`Шаблон бÑÐ´ÐµÑ Ð´Ð¾ÑÑÑпен ÑолÑко Ñем, Ñ ÐºÐ¾Ð³Ð¾ еÑÑÑ ÑÑÑлка. ЧеÑез 90 дней ÑÑÑлка пеÑеÑÑÐ°Ð½ÐµÑ ÑабоÑаÑÑ.`,create:`ÐпÑбликоваÑÑ Ñаблон`,createPrivate:`СоздаÑÑ Ð¿ÑиваÑнÑÑ ÑÑÑлкÑ`,publicResult:`Шаблон опÑбликован в каÑалоге и Ñ
ÑаниÑÑÑ Ð±ÐµÑÑÑоÑно.`,privateResult:`ÐÑиваÑÐ½Ð°Ñ ÑÑÑлка Ñоздана на 90 дней. РкаÑалоге Ñаблон не показÑваеÑÑÑ.`,newPublication:`ÐоваÑ`,link:`СÑÑлка`,copy:`ÐопиÑоваÑÑ`,copied:`СкопиÑовано`,open:`ÐÑкÑÑÑÑ`,close:`ÐакÑÑÑÑ`,native:`ÐÑпÑавиÑÑ`,nativeTitle:`Ðблако Ñлов shapewords`,socialTitle:`ÐоделиÑÑÑÑ Ð¿ÑбликаÑией`,socialOpen:`ÐоделиÑÑÑÑ Ð² {{name}}`,socialPreviewNote:`ÐаÑÑинка подÑÑнеÑÑÑ ÑеÑез Open Graph, еÑли ÑоÑÑеÑÑ ÑÑÐ¿ÐµÐµÑ ÑкаÑаÑÑ Ð¿ÑевÑÑ Ð¿Ð¾ ÑÑÑлке.`,qrAlt:`QR-код ÑÑÑлки`,empty:`СнаÑала ÑгенеÑиÑÑйÑе облако`,error:`Ðе ÑдалоÑÑ Ð¾Ð¿ÑбликоваÑÑ Ñаблон`,previewError:`Ðе ÑдалоÑÑ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑÑ Ð¿ÑевÑÑ Ð¿ÑбликаÑии`},templatePage:{badge:`ÐÑблиÑнÑй Ñаблон`,description:`Слова, ÑоÑма, палиÑÑа и паÑамеÑÑÑ ÑаÑкладки опÑбликованного Ñаблона облака Ñлов.`,back:`РкаÑалогÑ`,loading:`ÐагÑÑзка Ñаблона...`,notFoundTitle:`Шаблон не найден`,expiredTitle:`Шаблон болÑÑе недоÑÑÑпен`,expiredDescription:`ÐÑа ÑÑаÑÐ°Ñ ÑÑÑлка болÑÑе не акÑивна. ÐÑбеÑиÑе дÑÑгой Ñаблон в каÑалоге.`,loadError:`Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ñаблон`,applyError:`Ðе ÑдалоÑÑ Ð¾ÑкÑÑÑÑ Ñаблон в ÑедакÑоÑе`,copyError:`Ðе ÑдалоÑÑ ÑкопиÑоваÑÑ ÑÑÑлкÑ`,templateNumber:`Шаблон · {{id}}`,copyLink:`СкопиÑоваÑÑ ÑÑÑлкÑ`,copied:`СÑÑлка ÑкопиÑована`,useTemplate:`ÐÑполÑзоваÑÑ Ñаблон`,opening:`ÐÑкÑÑваем...`,language:`ЯзÑк`,shape:`ФоÑма`,shapeCaption:`ÐÑбÑаннÑй конÑÑÑ Ð¾Ð±Ð»Ð°ÐºÐ°`,font:`ШÑиÑÑ`,orientation:`ÐÑиенÑаÑиÑ`,fontSize:`РазмеÑÑ ÑÑиÑÑа`,published:`ÐпÑбликован`,details:`ÐеÑали Ñаблона`,contents:`СодеÑжание`,preview:`ÐÑевÑÑ`,usedWords:`ÐÑполÑзованнÑе Ñлова`,wordWeight:`ÐÐµÑ Ñлова`,colorScheme:`ЦвеÑÐ¾Ð²Ð°Ñ Ð³Ð°Ð¼Ð¼Ð°`,customPalette:`Ð¡Ð²Ð¾Ñ Ð¿Ð°Ð»Ð¸ÑÑа`,technicalDetails:`ÐаÑамеÑÑÑ ÑаÑкладки`,spiral:`СпиÑалÑ`,wordSpacing:`ÐнÑеÑвал Ñлов`,colorMode:`ÐоÑÑдок ÑвеÑов`,wordLimit:`ÐÐ¸Ð¼Ð¸Ñ Ñлов`,placedWords:`РазмеÑено Ñлов`,canvasSize:`ХолÑÑ`,viewMode:`Режим`,readyBadge:`СделайÑе Ñвоим`,readyTitle:`СоÑ
ÑаниÑе композиÑиÑ. ÐзмениÑе иÑÑоÑиÑ.`,readyDescription:`ÐÑкÑойÑе Ñаблон в ÑедакÑоÑе, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¼ÐµÐ½Ð¸ÑÑ Ñлова, наÑÑÑоиÑÑ ÑоÑÐ¼Ñ Ð¸ ÑвеÑа или ÑкÑпоÑÑиÑоваÑÑ ÑезÑлÑÑаÑ.`},view3d:{modeLabel:`Режим вида`,sphere:`СÑеÑа`,cube:`ÐÑб`,autoRotate:`ÐвÑо-вÑаÑение`,depth:`ÐлÑбина`,reset:`СбÑоÑ`,fullscreen:`ÐолнÑй ÑкÑан`,exportPng:`PNG`,empty:`СгенеÑиÑÑйÑе облако Ñлов, ÑÑÐ¾Ð±Ñ ÑвидеÑÑ ÐµÐ³Ð¾ в 3D.`,hint:`ÐеÑеÑаÑиÑе â вÑаÑение · колеÑо â зÑм · наведиÑе â деÑали`},wordMap:{metaTitle:`ÐнÑеÑакÑÐ¸Ð²Ð½Ð°Ñ 3D-каÑÑа Ñлов на глобÑÑе | shapewords`,metaDescription:`ÐÑÑледÑйÑе ÑаÑÑоÑнÑе Ñлова из поÑледниÑ
Google News RSS по ÑÑÑанам на инÑеÑакÑивном 3D-глобÑÑе Ñ Ð´Ð½ÐµÐ²Ð½Ñм кеÑиÑованием новоÑÑнÑÑ
клаÑÑеÑов по маÑÑÑÐ°Ð±Ñ ÐºÐ°ÑÑÑ.`,title:`ÐаÑÑа Ñлов миÑа`,search:`ÐоиÑк меÑÑа`,searchPlaceholder:`ÐайÑи ÑÑÑанÑ`,placePicker:`ÐÑÐ±Ð¾Ñ Ð¼ÐµÑÑа`,country:`СÑÑана`,results:`РезÑлÑÑаÑÑ`,noResults:`ÐеÑÑо не найдено`,world:`ÐиÑ`,toggleOrbit:`ÐклÑÑиÑÑ Ð¸Ð»Ð¸ вÑклÑÑиÑÑ Ð²ÑаÑение глобÑÑа`,hidePanel:`СвеÑнÑÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ ÐºÐ°ÑÑÑ`,showPanel:`ÐоказаÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ ÐºÐ°ÑÑÑ`,words:`Слова`,empty:`ÐÑбеÑиÑе ÑÑÑанÑ`,scale:{world:`миÑ`,country:`ÑÑÑана`},newsSource:`Google News RSS`,newsSelectCountry:`ÐайдиÑе и вÑбеÑиÑе ÑÑÑанÑ, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð³ÑÑзиÑÑ Ñлова из новоÑÑей`,newsReady:`Слова из новоÑÑей гоÑовÑ`,newsLoading:`ÐагÑÑÐ¶Ð°Ñ ÑаÑÑоÑнÑе Ñлова из поÑледниÑ
новоÑÑей`,newsFresh:`ÐагÑÑжено из Google News RSS`,newsCached:`ÐÑполÑзÑеÑÑÑ Ð´Ð½ÐµÐ²Ð½Ð¾Ð¹ ÐºÐµÑ Ð½Ð¾Ð²Ð¾ÑÑей`,newsErrorShort:`ÐовоÑÑи недоÑÑÑпнÑ`,newsError:`Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ñлова из новоÑÑей ÑÑÑанÑ`,newsEmpty:`ЧаÑÑоÑнÑе Ñлова в новоÑÑÑÑ
не найденÑ`,reloadNews:`ÐеÑезагÑÑзиÑÑ Ñлова из новоÑÑей`},canvas:{undo:`Ðазад`,redo:`ÐпеÑÑд`,generate:`СгенеÑиÑоваÑÑ`,regenerate:`ÐеÑегенеÑиÑоваÑÑ`,fullscreen:`Ðа веÑÑ ÑкÑан`,zoom:`ÐаÑÑÑаб`,showGrid:`ÐоказаÑÑ ÑеÑкÑ`,hideGrid:`СкÑÑÑÑ ÑеÑкÑ`,openMenuHint:`ÐÑкÑойÑе менÑ, ÑÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ñлова`,emptyTitle:`РабоÑÐ°Ñ Ð¾Ð±Ð»Ð°ÑÑÑ Ð¿Ð¾ÐºÐ° пÑÑÑаÑ`,emptyDesktopDescription:`ÐобавÑÑе ÑекÑÑ Ð² панели Ñлева или иÑполÑзÑйÑе пÑимеÑ, ÑÑÐ¾Ð±Ñ ÑобÑаÑÑ Ð¾Ð±Ð»Ð°ÐºÐ¾ Ñлов.`,emptyMobileDescription:`ÐÑкÑойÑе Ð¼ÐµÐ½Ñ Ð¸ добавÑÑе ÑекÑÑ, ÑÑÐ¾Ð±Ñ ÑобÑаÑÑ Ð¾Ð±Ð»Ð°ÐºÐ¾ Ñлов.`,generating:`ÐенеÑаÑиÑ...`,assigningFontsProgress:`ÐазнаÑение ÑÑиÑÑов`,loadingFontsProgress:`ÐагÑÑзка ÑÑиÑÑов`,prepareProgress:`ÐодгоÑовка`,preparingOutlineProgress:`ÐоÑÑÑоение конÑÑÑов`,fillProgress:`Ðаполнение ÑигÑÑÑ`,shapeWordCountLabel:`Слов в ÑигÑÑе`,progressAssigningFonts:`ÐÐ¾Ð´Ð±Ð¾Ñ Ð²Ð°Ð»Ð¸Ð´Ð½ÑÑ
глиÑов`,progressLoadingFonts:`ÐагÑÑзка вÑбÑаннÑÑ
Ñайлов ÑÑиÑÑов`,progressPreparing:`ÐаÑка, ÑÑиÑÑÑ Ð¸ глиÑÑ`,progressPreparingOutline:`ÐеÑевод Ñлов в конÑÑÑÑ`,progressWords:`{{placed}} / {{target}} Ñлов`,progressPlaced:`{{placed}} Ñлов`,selectedWord:`ÐÑбÑанное Ñлово`,selectWord:`ÐÑбÑаÑÑ Ñлово {{word}}`,editWord:`РедакÑиÑоваÑÑ Ñлово {{word}}`,wordColor:`ЦвеÑ`,wordFont:`ШÑиÑÑ`,wordSize:`РазмеÑ`,wordRotation:`ÐовоÑоÑ`,wordCurve:`Ðзгиб`,pinWord:`ÐакÑепиÑÑ Ð¿Ð¾Ð·Ð¸ÑиÑ`,unpinWord:`СнÑÑÑ ÑикÑаÑиÑ`,protectPinnedArea:`СоздаÑÑ Ð¾Ñ
ÑаннÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ ÑÑазÑ`,unprotectPinnedArea:`УбÑаÑÑ Ð¾Ñ
ÑаннÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ ÑÑазÑ`,pinConflict:`ÐозиÑÐ¸Ñ Ð·Ð°ÐºÑеплена, но Ñлово ÑаÑÑиÑно конÑликÑÑÐµÑ Ñ ÑоÑмой или дÑÑгим закÑепленнÑм Ñловом.`,deleteWord:`УдалиÑÑ Ñлово`,mainAccentTitle:`ÐобавиÑÑ Ð³Ð»Ð°Ð²Ð½Ñй акÑенÑ?`,mainAccentDescription:`«{{word}}» Ð¼Ð¾Ð¶ÐµÑ ÑÑаÑÑ Ð²Ð¸Ð·ÑалÑнÑм ÑенÑÑом. ÐодбеÑÑм вÑÑазиÑелÑнÑй ÑÑиÑÑ, ÑазмеÑ, повоÑÐ¾Ñ Ð¸Ð»Ð¸ изгиб по ÑоÑме ÑигÑÑÑ. Свободное меÑÑо вокÑÑг заполним Ñловами.`,mainAccentProcessing:`ÐодбиÑаем ÑÑиÑÑâ¦`,mainAccentFontError:`Ðе ÑдалоÑÑ Ð·Ð°Ð³ÑÑзиÑÑ ÑÑиÑÑ Ð´Ð»Ñ Ð°ÐºÑенÑа. ÐопÑобÑйÑе еÑÑ Ñаз.`,mainAccentAction:`ÐÑделиÑÑ Ð³Ð»Ð°Ð²Ð½Ñм`,mainAccentDismiss:`СкÑÑÑÑ Ð¿Ð¾Ð´ÑказкÑ`,sparseFillTitle:`Ð ÑигÑÑе оÑÑалоÑÑ Ñвободное меÑÑо`,sparseFillDescription:`ÐовÑоÑÑ Ð¾ÑклÑÑенÑ, поÑÑÐ¾Ð¼Ñ ÑлеменÑов не Ñ
ваÑÐ°ÐµÑ Ð´Ð»Ñ Ð¿Ð»Ð¾Ñного заполнениÑ. ÐÐ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð´Ð¾Ð±ÑаÑÑ Ð½Ð¾Ð²Ñе ÑÐ¸Ð½Ð¾Ð½Ð¸Ð¼Ñ Ð¸ коÑоÑкие ÑмÑÑловÑе ÑÑазÑ.`,
11sparseFillAction:`ÐайÑи ÑÐ¸Ð½Ð¾Ð½Ð¸Ð¼Ñ Ñ ÐÐ`,sparseFillProcessing:`ÐРподбиÑÐ°ÐµÑ Ñловаâ¦`,sparseFillDismiss:`СкÑÑÑÑ Ð¿Ð¾Ð´ÑказкÑ`,sparseFillNoNewWords:`ÐРне наÑÑл новÑÑ
ÑникалÑнÑÑ
Ñлов или ÑÑаз. ÐопÑобÑйÑе измениÑÑ Ð¸ÑÑ
однÑй ÑпиÑок.`},tooltips:{help:`ÐодÑказка`,text:{title:`Smart Import пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¾Ð±ÑÑнÑй ÑекÑÑ, CSV/TSV, Excel .xlsx и пÑблиÑнÑе Google Sheets. ТаблиÑÑ Ñ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ°Ð¼Ð¸ Ñлова и ÑаÑÑоÑÑ Ð¸Ð¼Ð¿Ð¾ÑÑиÑÑÑÑÑÑ Ð½Ð°Ð¿ÑÑмÑÑ.`,languageProcessing:`РазделÑÐµÑ ÑекÑÑ Ð½Ð° Ñлова Ñ ÑÑÑÑом ÑзÑка пеÑед подÑÑÑÑом ÑаÑÑоÑÑ. ÐклÑÑено по ÑмолÑаниÑ; оÑклÑÑиÑе, ÑÑÐ¾Ð±Ñ Ð¸ÑполÑзоваÑÑ Ð±Ð°Ð·Ð¾Ð²Ð¾Ðµ Ñазбиение.`,keepCase:`ÐÑли вклÑÑено, пеÑвое найденное напиÑание Ñлова ÑоÑ
ÑанÑÐµÑ ÑегиÑÑÑ. ÐÑли вÑклÑÑено, Ñлова ноÑмализÑÑÑÑÑ Ð² нижний ÑегиÑÑÑ.`,countFrequency:`ÐÑли вклÑÑено, повÑоÑÐµÐ½Ð¸Ñ ÑвелиÑиваÑÑ Ð²ÐµÑ Ñлова. ÐÑли вÑклÑÑено, каждое найденное Ñлово полÑÑÐ°ÐµÑ Ð²ÐµÑ 1.`,removeStopWords:`УдалÑÐµÑ ÑлÑжебнÑе Ñлова вÑбÑанного ÑзÑка или вÑеÑ
поддеÑживаемÑÑ
ÑзÑков, найденнÑÑ
во вÑ
одном ÑекÑÑе, плÑÑ Ñлова из полÑзоваÑелÑÑкого ÑпиÑка.`,detectDuplicates:`ÐÑли вклÑÑено, одинаковÑе Ñлова обÑединÑÑÑÑÑ. ÐÑли вÑклÑÑено, ÑоÑ
ÑанÑеÑÑÑ Ð¸ÑÑ
Ð¾Ð´Ð½Ð°Ñ Ð¿Ð¾ÑледоваÑелÑноÑÑÑ Ñлов.`,lemmatizeWords:`ÐÑли вклÑÑено, ÑловоÑоÑÐ¼Ñ ÑÑÑÑкого и английÑкого пÑиводÑÑÑÑ Ðº обÑей оÑнове пеÑед подÑÑеÑом ÑаÑÑоÑÑ: маÑинÑ, маÑине и маÑиной попадÑÑ Ð² Ð¾Ð´Ð½Ñ Ð³ÑÑппÑ.`,russianLemmatize:`ÐонÑеÑваÑивно обÑединÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑживаемÑе ÑловоÑоÑмÑ; неоднознаÑнÑе Ñлова оÑÑаÑÑÑÑ Ð¾ÑделÑнÑми, позиÑии иÑÑоÑника ÑоÑ
ÑанÑÑÑÑÑ.`,englishLemmatize:`ÐÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ð°Ð½Ð³Ð»Ð¸Ð¹Ñкие ÑловоÑоÑÐ¼Ñ Ðº ÑловаÑнÑм пеÑед подÑÑÑÑом ÑаÑÑоÑÑ Ð¸ ÑоÑ
ÑанÑÐµÑ Ð¸ÑÑ
однÑе позиÑии в ÑекÑÑе.`,preserveStyles:`ÐÑли вклÑÑено, импоÑÑ Ð¼ÐµÐ½ÑÐµÑ ÑолÑко даннÑе. ÐÑли вÑклÑÑено, ÑÑиÑÑ, палиÑÑа и базовÑе паÑамеÑÑÑ ÑекÑÑа ÑбÑаÑÑваÑÑÑÑ Ðº знаÑениÑм по ÑмолÑаниÑ.`,replaceWordsOnly:`ÐÑли вклÑÑено, импоÑÑ ÑÑÐ°Ð·Ñ Ð·Ð°Ð¼ÐµÐ½ÑÐµÑ ÑаблиÑÑ Ñлов и не пеÑеанализиÑÑÐµÑ ÑÑÑой ÑекÑÑ. ÐÑли вÑклÑÑено, импоÑÑиÑованнÑй иÑÑоÑник пÑоÑ
Ð¾Ð´Ð¸Ñ ÑеÑез обÑÑнÑй ÑекÑÑовÑй пÑоÑеÑÑоÑ.`,includePhrases:`ÐÑли вклÑÑено, повÑоÑÑÑÑиеÑÑ Ð¿Ð°ÑÑ Ñлов попадаÑÑ Ð² облако как ÑÑазÑ. ÐÑли вÑклÑÑено, иÑполÑзÑÑÑÑÑ ÑолÑко оÑделÑнÑе Ñлова.`,includeEmoji:`ÐÑли вклÑÑено, emoji извлекаÑÑÑÑ Ð¸Ð· ÑекÑÑа как оÑделÑнÑе ÑÐ¾ÐºÐµÐ½Ñ Ð¸ оÑобÑажаÑÑÑÑ ÑеÑез Twemoji SVG-аÑÑеÑÑ.`},words:{title:`Ðлок Ñлов оÑÑавлÑÐµÑ Ð±ÑÑÑÑÑй ввод, Ñдаление и ÑпÑавление повÑоÑом. ÐÐ»Ñ ÑоÑÑиÑовки, маÑÑового ÑедакÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑÑиÑÑов на ÑÑовне Ñлова оÑкÑойÑе менеджеÑ.`,sidebar:`Ð¡Ð°Ð¹Ð´Ð±Ð°Ñ ÑпÑавлÑÐµÑ ÑпиÑком Ñлов и повÑоÑом. ÐакÑепление доÑÑÑпно ÑолÑко Ð´Ð»Ñ Ð²ÑбÑанного ÑкземплÑÑа на канваÑе.`,manager:`ÐÐµÐ½ÐµÐ´Ð¶ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑоÑÑиÑÐ¾Ð²ÐºÑ Ð¿Ð¾ вÑем ÑÑолбÑам, маÑÑовÑе дейÑÑÐ²Ð¸Ñ Ð¸ ÑоÑеÑное ÑпÑавление ÑаÑÑоÑой, ÑазмеÑом, повÑоÑом и ÑÑиÑÑом Ñлова.`},ai:{title:`AI помоÑник ÑаÑÑиÑÑÐµÑ Ð²Ð²ÐµÐ´ÐµÐ½Ð½ÑÑ ÑÐµÐ¼Ñ Ð¸Ð»Ð¸ Ð´ÐµÐ»Ð°ÐµÑ Ð¿ÐµÑÐµÐ²Ð¾Ð´Ñ Ð½Ð° вÑбÑаннÑе ÑзÑки.`},style:{font:`ШÑиÑÑ Ð²Ð»Ð¸ÑÐµÑ Ð¸ на визÑалÑнÑй ÑÑилÑ, и Ð
11½Ð° ÑакÑиÑеÑкое ÑазмеÑение Ñлов внÑÑÑи ÑигÑÑÑ.`,palette:`ÐалиÑÑа Ð·Ð°Ð´Ð°ÐµÑ Ð½Ð°Ð±Ð¾Ñ ÑвеÑов Ð´Ð»Ñ Ñлов. Режим ÑвеÑа опÑеделÑеÑ, как ÑÑи ÑвеÑа ÑаÑпÑеделÑÑÑÑÑ.`,colorMode:`ÐоÑледоваÑелÑнÑй Ð¸Ð´ÐµÑ Ð¿Ð¾ палиÑÑе, ÑлÑÑайнÑй пеÑемеÑÐ¸Ð²Ð°ÐµÑ ÑвеÑа, по ÑаÑÑоÑе вÑделÑÐµÑ Ð±Ð¾Ð»ÐµÐµ важнÑе Ñлова.`,fontSize:`ÐÐ°Ð´Ð°ÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑй и макÑималÑнÑй диапазон ÑазмеÑа. ÐÑи заполнении ÑигÑÑÑ Ð´Ð²Ð¸Ð¶Ð¾Ðº вÑе Ñавно адапÑиÑÑÐµÑ ÑазмеÑÑ Ð²Ð½ÑÑÑи ÑÑого диапазона, а не иÑполÑзÑÐµÑ ÑикÑиÑованнÑе знаÑениÑ.`},layout:{title:`ÐаÑÑÑойки ÑаÑкладки ÑпÑавлÑÑÑ Ð¿Ð¾Ð¸Ñком Ñвободного меÑÑа, допÑÑÑимÑми Ñглами, инÑеÑвалом Ð¼ÐµÐ¶Ð´Ñ Ñловами и лимиÑом Ñлов Ð´Ð»Ñ ÑаÑкладки.`,spiral:`СпиÑÐ°Ð»Ñ Ð¾Ð¿ÑеделÑÐµÑ Ð¿Ð¾ÑÑдок поиÑка Ñвободного меÑÑа в обÑÑном облаке без ÑигÑÑÑ.`,rotation:`ÐÑиенÑаÑÐ¸Ñ Ð·Ð°Ð´Ð°ÐµÑ Ð½Ð°Ð±Ð¾Ñ Ð´Ð¾Ð¿ÑÑÑимÑÑ Ñглов. ÐÐ»Ñ Ð¿Ð»Ð¾Ñного Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑигÑÑ Ð»ÑÑÑе иÑполÑзоваÑÑ ÑвободнÑе ÑглÑ.`,padding:`УпÑавлÑÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑм ÑаÑÑÑоÑнием Ð¼ÐµÐ¶Ð´Ñ ÑазмеÑеннÑми Ñловами. ÐенÑÑие знаÑÐµÐ½Ð¸Ñ ÑплоÑнÑÑÑ ÑаÑкладкÑ, болÑÑие оÑÑавлÑÑÑ Ð±Ð¾Ð»ÑÑе воздÑÑ Ð°.`,maxWords:`ÐгÑаниÑиваеÑ, ÑколÑко Ñлов ÑÑаÑÑвÑÐµÑ Ð² генеÑаÑии ÑаÑкладки. РабоÑÐ°ÐµÑ Ð¸ Ð´Ð»Ñ Ð¾Ð±ÑÑного облака, и Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑигÑÑÑ; болÑÑие знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ ÑлÑÑÑиÑÑ Ð¿Ð¾ÐºÑÑÑие, но ÑвелиÑиваÑÑ Ð²ÑÐµÐ¼Ñ Ð³ÐµÐ½ÐµÑаÑии.`},shape:{title:`ФигÑÑа Ð·Ð°Ð´Ð°ÐµÑ Ð¼Ð°ÑкÑ, внÑÑÑи коÑоÑой Ñлова ÑазмеÑаÑÑÑÑ Ð¿Ð¾ пикÑелÑнÑм конÑÑÑам без вÑÑ Ð¾Ð´Ð° за гÑаниÑÑ. ÐопÑлÑÑнÑе ÑоÑÐ¼Ñ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ ÑÑазÑ, полнÑй каÑалог оÑкÑÑваеÑÑÑ Ð¾ÑделÑно.`,background:`Фон подÑвеÑÐ¸Ð²Ð°ÐµÑ Ð¾Ð±Ð»Ð°ÑÑÑ ÑигÑÑÑ Ð¿Ð¾Ð´ Ñловами и Ð¿Ð¾Ð¿Ð°Ð´Ð°ÐµÑ Ð² PNG, JPG, SVG и PDF ÑкÑпоÑÑ.`},stopWords:{title:`СÑоп-Ñлова ÑдалÑÑÑ ÑаÑÑÑе ÑлÑжебнÑе Ñлова, ÑÑÐ¾Ð±Ñ Ð¾Ð±Ð»Ð°ÐºÐ¾ не заполнÑлоÑÑ Ð¿Ñедлогами и ÑоÑзами.`,enable:`ÐÑли вклÑÑено, ÑиÑÑема авÑомаÑиÑеÑки оÑÑилÑÑÑÑÐµÑ ÑаÑÑÑе ÑлÑжебнÑе Ñлова вÑбÑанного ÑзÑка или вÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑживаемÑÑ ÑзÑков, коÑоÑÑе ÑÑаÑÑвÑÑÑ Ð² импоÑÑиÑÑемом ÑекÑÑе.`},export:{title:`ÐкÑпоÑÑ ÑÐ¾Ñ ÑанÑÐµÑ ÑекÑÑее облако Ñ Ð²ÑбÑаннÑм ÑоÑмаÑом, каÑеÑÑвом и Ñоном.`,format:`PNG/JPG Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑ Ð´Ð»Ñ Ð¸Ð·Ð¾Ð±Ñажений, SVG ÑÐ¾Ñ ÑанÑÐµÑ Ð²ÐµÐºÑоÑнÑй ÑекÑÑ, PDF Ñдобен Ð´Ð»Ñ Ð¿ÐµÑаÑи и докÑменÑов.`,quality:`SQ ÑкÑпоÑÑиÑÑÐµÑ ÑаÑÑÑовÑе ÑоÑмаÑÑ Ð² 2x, HQ â в 4x. PDF ÑжимаеÑÑÑ ÐºÐ°Ðº JPEG, ÑÑÐ¾Ð±Ñ Ñайл не ÑаздÑвалÑÑ Ð±ÐµÐ· полÑзÑ.`,background:`Фон влиÑÐµÑ ÑолÑко на ÑкÑпоÑÑиÑованнÑй Ñайл, а не на ÑедакÑоÑ.`}},ai:{title:`AI помоÑник`,serverMode:`СеÑвеÑ`,setupApi:`ÐаÑÑÑоиÑÑ OpenRouter API`,actions:{topic:`РаÑÑиÑиÑÑ ÑемÑ`,phrases:`ÐлÑÑевÑе ÑÑазÑ`,style:`ÐодобÑаÑÑ ÑÑилÑ`},actionPlaceholders:{topic:`Тема: Ð´ÐµÐ½Ñ ÑождениÑ, коÑмоÑ...`,translateOnly:`Слово или ÑÑаза Ð´Ð»Ñ Ð¿ÐµÑевода...`,style:`Тема Ð´Ð»Ñ ÑÑÐ¸Ð»Ñ (необÑзаÑелÑно)`},actionPhrasesNote:`ÐзвлеÑÑÑ ÐºÐ»ÑÑевÑе ÑÑÐ°Ð·Ñ Ð¸Ð· импоÑÑиÑованного ÑекÑÑа.`,processing:`AI дÑмаеÑ...`,apiKeyTitle:`API клÑÑ OpenRouter`,apiKeyDescription:`ÐÐ»Ñ AI-ÑÑнкÑий нÑжен беÑплаÑнÑй клÑÑ OpenRouter. ÐлÑÑ Ñ ÑаниÑÑÑ ÑолÑко в ваÑем бÑаÑзеÑе.`,getKey:`ÐолÑÑиÑÑ ÐºÐ»ÑÑ Ð½Ð° openrouter.ai`,save:`Ð¡Ð¾Ñ ÑаниÑÑ`,clear:`УдалиÑÑ`,promptHints:{title:`ÐÑÑÑÑÐ°Ñ Ð¿Ð¾Ð´ÑÑановка`,rotate:`ÐоказаÑÑ Ð´ÑÑгие подÑказки`},settings:{open:`ÐаÑÑÑойки AI`,action:`ÐейÑÑвие ÐÐ`,actionHints:{topic:`СгенеÑиÑÑÐµÑ Ð¾Ð±Ð»Ð°ÐºÐ¾ Ñлов по Ñеме из Ð¿Ð¾Ð»Ñ Ð²Ð²Ð¾Ð´Ð°.`,phrases:`ÐÑÐ´ÐµÐ»Ð¸Ñ ÐºÐ»ÑÑевÑе Ñлова и ÑÑÐ°Ð·Ñ Ð¸Ð· импоÑÑиÑованного ÑекÑÑа.`,style:`ÐодбеÑÑÑ Ð¿Ð°Ð»Ð¸ÑÑÑ, ÑÑиÑÑ Ð¸ ÑоÑÐ¼Ñ Ð¿Ð¾Ð´ ÑÐµÐ¼Ñ Ð¸Ð»Ð¸ ÑекÑÑ.`},title:`ÐаÑÑÑойки генеÑаÑии`,description:`УпÑавлÑйÑе ÑзÑками, обÑемом, Ñоном и плоÑноÑÑÑÑ ÑÑаз пеÑед вÑзовом AI.`,summary:`{{mode}} · {{languages}} · {{count}} · {{tone}}`,languagesCount:`{{count}} ÑзÑков`,translationCount:`{{count}} пеÑеводов`,generationMode:`Режим`,generationModes:{expand:`РаÑÑиÑÑÑÑ ÑемÑ`,translateOnly:`ТолÑко пеÑеводÑ`},generationModeHints:{expand:`AI подбеÑÐµÑ Ñлова, ÑÑÐ°Ð·Ñ Ð¸ ваÑианÑÑ Ð²Ð¾ÐºÑÑг иÑÑ Ð¾Ð´Ð½Ð¾Ð¹ ÑÐµÐ¼Ñ Ñ ÑÑеÑом вÑбÑанного колиÑеÑÑва.`,translateOnly:`AI веÑÐ½ÐµÑ ÑолÑко по Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¿ÐµÑÐµÐ²Ð¾Ð´Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñлова или ÑÑÐ°Ð·Ñ Ð½Ð° каждÑй вÑбÑаннÑй ÑзÑк.`},languages:`ЯзÑк или ÑзÑки`,languageLimit:`до 30`,languagesPlaceholder:`Russian, English, Spanish... 12Ðожно ÑеÑез запÑÑÑÑ Ð¸Ð»Ð¸ Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑÑÑоки.`,currentLanguage:`ТекÑÑий`,twoLanguages:`RU + EN`,languagePresets:{ten:`10 ÑзÑков`,twenty:`20 ÑзÑков`,thirty:`30 ÑзÑков`},wordCount:`ÐинимÑм Ñлов`,wordCountHint:`Ðожно поÑÑавиÑÑ Ð»Ñбое знаÑение Ð¾Ñ 1 до 80. Ð Ñежиме пеÑеводов иÑог Ñавен колиÑеÑÑÐ²Ñ Ð²ÑбÑаннÑÑ ÑзÑков.`,tone:`ТоÐ
12½`,phraseMode:`ФÑазÑ`,creativity:`РазнообÑазие`,preserveProperNouns:`СоÑ
ÑанÑÑÑ Ð¸Ð¼ÐµÐ½Ð° и бÑендÑ`,balancedLanguages:`Ровно ÑаÑпÑеделÑÑÑ ÑзÑки`,reset:`СбÑоÑиÑÑ`,done:`ÐоÑово`,tones:{neutral:`ÐейÑÑалÑно`,festive:`ÐÑаздниÑно`,professional:`Ðелово`,playful:`ÐгÑиво`,poetic:`ÐоÑÑиÑно`,minimal:`ÐинималÑно`},phraseModes:{mixed:`СмеÑанно`,words:`Слова`,phrases:`ÐоÑоÑкие ÑÑазÑ`}}},footer:{free:`ÐеÑплаÑно и без ÑегиÑÑÑаÑии`,description:`СоздавайÑе облака Ñлов по ÑоÑме из ÑекÑÑа, CSV, Excel и Google Sheets.`,github:`GitHub`,live:`Live облако`,templates:`ШаблонÑ`,wordMap:`ÐаÑÑа Ñлов`,chromeExtension:`РаÑÑиÑение Chrome`,privacy:`ÐонÑиденÑиалÑноÑÑÑ`}};le.use(Ha).use(ae).init({resources:{en:{translation:Wa},ru:{translation:qa},ar:{translation:Ua},es:{translation:Ga},fr:{translation:Ka},zh:{translation:{templateCommunity:{about:`å
³äºæ¨¡æ¿`,author:`ä½è
å
¬å¼åç§°`,noAuthor:`æªæ³¨æä½è
`,authorProfile:`æ¤ä½è
çå
¬å¼æ¨¡æ¿`,uses:`ä½¿ç¨æ¬¡æ°`,usesNote:`å¨ç¼è¾å¨ä¸æå¼ç次æ°ï¼æ¯ä½è®¿å®¢æ¯å¤©æå¤è®¡ä¸æ¬¡ï¼ä¸ä»£è¡¨ä¸è½½æ¬¡æ°ã`,favorite:`æ¶è`,saved:`å·²æ¶è`,loginHint:`ç»å½åå³å¯æ¶è`,actionError:`ä¿å失败ï¼è¯·éè¯ã`,license:`ä½¿ç¨æ¡æ¬¾`,unspecified:`æªæå®`,licenseUnknown:`ä½è
æªæä¾è®¸å¯è¯ãå
¬å¼åå¸å¹¶ä¸æå³çå
许任ä½ç¨éï¼å¿
è¦æ¶è¯·èç³»æå©äººã`,licenseScope:`ç±ä½è
éæ©ï¼ä»
éç¨äºå
¶æ¥ææå©çå
容ãåä½åå
¶ä»ç¬¬ä¸æ¹å
ç´ å¯è½æåç¬çæ¡æ¬¾ã`,licenseTerms:`æ¥çè®¸å¯æ¡æ¬¾`,versions:`çæ¬åå²`,versionsNote:`åä¸ç³»åçç¬ç«åå¸ãå·²ä¿åççæ¬ä¸ä¼è¢«è¦çã`,versionHow:`å¨ç¼è¾å¨ä¸æå¼å¹¶ä¿®æ¹ï¼å叿¶éæ©âæ°çæ¬âã`,contrast:`对æ¯åº¦æ£æ¥`,contrastNote:`åèï¼æ®éæå 4.5:1ï¼å¤§å 3:1ï¼24 px æçº¦ 19 px ç²ä½ï¼ãä»
æ£æ¥é¢è²ï¼ä¸ä»£è¡¨æ´ä½å¾ååæ ¼ï¼ç¼©æ¾åéå ä¹ä¼å½±åå¯è¯»æ§ã`,backdrop:`éæåºååºè²`,white:`ç½è²`,dark:`æ·±è²`,shapeBackground:`å½¢ç¶èæ¯`,notMeasured:`æä¸æ¯æè®¡ç®æ¤é¢è²`,normalText:`æ®éå大巿å`,largeText:`ä»
大巿å`,lowContrast:`对æ¯åº¦ä½äº 3:1`,related:`ç¸ä¼¼æ¨¡æ¿`,relatedNote:`ææ ç¾ãå½¢ç¶åè¯è¨ä»è¿æåå¸ä¸å¹é
ã`,relatedError:`ææ¶æ æ³å è½½ç¸ä¼¼æ¨¡æ¿ã`,publicationDetails:`åå¸è¯¦æ
`,description:`æè¿°`,tags:`æ ç¾`,tagsHint:`æå¤ 8 个æ ç¾ï¼ä»¥éå·åéï¼æ¯ä¸ªæå¤ 32 个å符ã`,useCases:`éç¨åºæ¯`,authorHint:`å¯éãåç§°å个人页å°å
¬å¼ãä¿®æ¹åç§°ä¼æ´æ°ææåå¸ä¸ç个人页åç§°ã`,authorLogin:`å
¬å¼åç§°éè¦ç»å½å¹¶éæ©å
¬å¼åå¸ã`,licenseConsent:`ä»
ä¸ºæ¨æ¥ææå©çå
å®¹éæ©è®¸å¯è¯ã请é
è¯»æ¡æ¬¾ï¼å¼æ¾è®¸å¯å¯è½ä¸å¯æ¤éã`,publishVersion:`åå¸â{{title}}âçæ°çæ¬`,myFavorites:`æçæ¶è`,allTemplates:`å
¨é¨æ¨¡æ¿`,cases:{education:`æè²`,gift:`礼ç©`,presentation:`æ¼ç¤º`,social:`社交åªä½`,research:`ç ç©¶`,decor:`è£
饰`}},app:{title:`shapewords`,subtitle:`è¯äºçæå¨`,settings:`设置`,openSettings:`æå¼è®¾ç½®`,closeSettings:`å
³é设置`,account:`叿·`,openAccount:`æå¼è´¦æ·`,signIn:`ç»å
¥`,templates:`模æ¿`,openTemplates:`æå¼ç°æç模æ¿`,wordMap:`è¯è¯å°å¾`,openWordMap:`æå¼ 3D è¯è¯å°å¾`,live:`宿¶`,openLive:`æå¼å®æ¶æ¿é´`,chromeExtension:`Chrome`,openChromeExtension:`æå¼ Chrome æ©å±`,chromeExtensionBadgeAlt:`Chrome æ©å±`,dismissChromeExtension:`éè Chrome æ©å±æç¤º`,language:`è¯è¨`},common:{loading:`æ£å¨å è½½...`,on:`å¼`,off:`å
³`},account:{title:`叿·`,subtitle:`çæåå²è®°å½ã模æ¿åæ ·å¼å°ä¿åå°æ¨ç叿·ä¸ã`,signInTitle:`ç»å½ä»¥ä¿åæ¨çå·¥ä½`,signInSubtitle:`使ç¨å¸æ·æ¥è·åçæåå²è®°å½ã模æ¿åä¸ªäººé£æ ¼ã`,login:`ç»å
¥`,register:`ç»è®°`,name:`å§å`,email:`çµåé®ä»¶`,password:`å¯ç `,confirmPassword:`确认å¯ç `,passwordHint:`å¯ç è¦æ±`,passwordMismatch:`å¯ç ä¸å¹é
ã`,passwordMinLength:`è³å° 8 个å符`,passwordLetter:`è³å°ä¸ä¸ªåæ¯`,passwordNumber:`è³å°ä¸ä¸ªæ°å`,socialTitle:`ä½¿ç¨æå¡ç»å½`,socialSubtitle:`ä½¿ç¨ GoogleãYandexãFacebook æ X ç»å½ï¼æ éåç¬å¯ç ã`,socialDivider:`æ`,socialGoogle:`Google`,socialFacebook:`Facebook`,socialX:`X`,socialYandex:`Yandex`,noAccount:`å建账æ·`,hasAccount:`å·²æè´¦æ·`,history:`åå²`,templates:`模æ¿`,styles:`飿 ¼`,account:`叿·`,saveHistory:`èç`,saveTemplate:`模æ¿`,saveStyle:`飿 ¼`,saveCurrentHistory:`èçä¸ä»£`,saveCurrentTemplate:`ä¿å模æ¿`,saveCurrentStyle:`ä¿åæ ·å¼`,saveHistoryHint:`å°å½åææ¬ãå½¢ç¶ãæ ·å¼åå¸å±è®¾ç½®ä¿å为å
12å²è®°å½é¡¹ç®ã`,saveTemplateHint:`å°å½å项ç®å¦å为æ°è¯äºçå¯éç¨æ¨¡æ¿ã`,saveStyleHint:`ä»
ä¿åè§è§è®¾ç½®ï¼åä½ãè°è²æ¿ãèæ¯ãæ¹ååæ¾ç¤ºé项ã`,saveName:`å§å`,cancel:`åæ¶`,save:`èç`,close:`å
³éè´¦æ·`,backToEditor:`è¿åç¼è¾å¨`,open:`æå¼`,apply:`ç³è¯·`,delete:`å é¤`,emptyHistory:`è¿æ²¡ææ¯æå代ã`,emptyTemplates:`è¿æ²¡ææ¨¡æ¿ã`,emptyStyles:`è¿æ²¡ææ ·å¼ã`,words:`å`,placed:`æ¾ç½®`,logout:`ç»åº`,signedInAs:`ç»å½èº«ä»½`,palette:`è°è²æ¿`,libraryActions:`ä¿åå½åå·¥ä½`,libraryHint:`åå²è®°å½ä¿ç宿´ç项ç®ï¼æ¨¡æ¿ä¿çå¯éç¨ç项ç®ï¼æ ·å¼ä»
åå¨è§è§è®¾ç½®ã`,oauthCancelled:`已忶éè¿å¤é¨æå¡ç»å½ã`,oauthEmailRequired:`æä¾æ¹æ²¡æè¿åé®ç®±å°åã请使ç¨å
¶ä»ç»å½æ¹å¼ã`,oauthEmailUnverified:`æä¾æ¹æ²¡æç¡®è®¤é®ç®±å°åã请使ç¨å
¶ä»ç»å½æ¹å¼ã`,oauthProviderDisabled:`æ¤ç»å½æ¹å¼å°æªé
ç½®ã`,oauthStateInvalid:`ç»å½ä¼è¯å·²è¿æï¼è¯·éè¯ã`,oauthFailed:`æ æ³å®æéè¿å¤é¨æå¡ç»å½ã`},templates:{metaTitle:`å
¬å¼è¯äºæ¨¡æ¿ | shapewords`,metaDescription:`æµè§ shapewords 社åºåå¸çè¯äºæ¨¡æ¿ï¼å¹¶å¨ç¼è¾å¨ä¸æå¼ä»»æè®¾è®¡ã`,badge:`弿¾ä½åé`,title:`å
¬å¼æ¨¡æ¿`,description:`æµè§ç¤¾åºåå¸çè¯äºãå°ä»»æä½åä½ä¸ºæ¨¡æ¿æå¼ï¼æ¿æ¢æåå¹¶ç»§ç»ç¼è¾ã`,searchPlaceholder:`æç´¢æ é¢åè¯è¯...`,languageFilter:`模æ¿è¯è¨`,allLanguages:`ææè¯è¨`,resultCount:`{{count}} 个ä½å`,resetSearch:`éç½®æç´¢`,loadError:`æ æ³å è½½å
¬å¼æ¨¡æ¿`,loadMore:`æ¾ç¤ºæ´å¤`,emptyTitle:`æªæ¾å°ç»æ`,emptyDescription:`请å°è¯å
¶ä»æç´¢ãéæ©ææè¯è¨ï¼æå叿¤åç±»ä¸ç第ä¸ä¸ªè¯äºã`,noPreview:`é¢è§ä¸å¯ç¨`,wordsCount:`{{count}} 个è¯`,open:`æå¼`,backToList:`æææ¨¡æ¿`,notFoundTitle:`æ¾ä¸å°æ¨¡æ¿`,notFoundDescription:`该å
Œ
±æ¨¡æ¿å¡ä¸åå¨ãè¿åç®å½å¹¶éæ©ç°æç模æ¿ä¹ä¸ã`,includesTitle:`é颿ä»ä¹`,shape:`å½¢ç¶`,palette:`è°è²æ¿`,words:`å`,useTemplate:`ä½¿ç¨æ¨¡æ¿`,useHint:`该模æ¿å°ææ¬ãåè¯ãå½¢ç¶åæ ·å¼å è½½å°å·¥ä½åºä¸ã`},text:{title:`ææ¬`,smartImport:`æºè½å¯¼å
¥`,smartImportDescription:`ææ¬ãCSV/TSVãExcel .xlsxãGoogle Sheetsï¼ä»¥åæ¥èª XãRedditãHacker NewsãYouTubeãTelegram å RSS 订é
æºçå¸å`,closeSmartImport:`å
³éæºè½å¯¼å
¥`,smartImportPlaceholder:`ç²è´´ææ¬ãCSV/TSVï¼æææ¾æä»¶...`,placeholder:`å°æåç²è´´å°æ¤å¤...`,sample:`å°è¯æ ·å`,voiceInput:`è¯é³`,voiceStart:`å¼å§è¯é³è¾å
¥`,voiceStop:`忢è¯é³è¾å
¥`,voiceStopShort:`忢`,voiceListening:`æ£å¨çå¬éº¦å
é£`,voiceUnsupported:`æ¤æµè§å¨ä¸æ¯æè¯é³è¾å
¥`,voicePermissionDenied:`麦å
é£è®¿é®è¢«é»æ¢ã请å
许访é®åéè¯ã`,voiceNoSpeech:`æªæ£æµå°è¯é³ã请éè¯ï¼å¹¶é è¿éº¦å
é£è¯´è¯ã`,voiceNoMicrophone:`æ¤è®¾å¤æªæ£æµå°éº¦å
é£è¾å
¥ã`,voiceError:`æ æ³å¯å¨è¯é³è¾å
¥`,emoji:`表æ
符å·`,emojiSearchPlaceholder:`æç´¢è¡¨æ
符å·ï¼ç¬ãç«ãå¿â¦â¦`,emojiSearchLoading:`å 载表æ
符å·`,emojiSearchNoResults:`æ²¡ææ¾å°è¡¨æ
符å·`,addEmojiAria:`æ·»å {{emoji}}`,dropHint:`å é¤ .txtã.csvã.tsv æ .xlsx æä»¶`,clear:`æ¸
é¤`,importFile:`æä»¶`,importText:`导å
¥ææ¬`,googleSheets:`Google Sheets`,googleSheetsPlaceholder:`è¡¨æ ¼é¾æ¥æå·²åå¸çCSV`,googleFileSharingHelp:`å¦ä½å
±äº« Google æä»¶`,import:`è¿å£`,xImport:`Xï¼Twitterï¼`,xImportPlaceholder:`ç²è´´ x.com å¸å龿¥`,xImportHint:`ä»
éå
¬å¼å¸åãç²è´´ä¸ä¸ªæå¤ä¸ªé¾æ¥ï¼æä»¬ä¼å¯¼å
¥å¸åææ¬ã`,redditImport:`Reddit`,redditImportPlaceholder:`ç²è´´ Reddit å¸åæçå龿¥`,redditImportHint:`ä»
éå
¬å¼ä¸»é¢åçåãæä»¬ä¼å¯¼å
¥æ é¢åè¯è®ºã`,hnImport:`Hacker News`,hnImportPlaceholder:`ç²è´´ Hacker News æ¡ç®é¾æ¥`,hnImportHint:`æä»¬ä¼å¯¼å
¥æç« åå
¶è¯è®ºã`,youtubeImport:`YouTube`,youtubeImportPlaceholder:`ç²è´´ YouTube è§é¢é¾æ¥`,youtubeImportHint:`æä»¬ä¼å¯¼å
¥æ é¢ãæè¿°ãæ ç¾åçé¨è¯è®ºã`,telegramImport:`Telegram`,telegramImportPlaceholder:`ç²è´´å
¬å¼é¢é龿¥æ @åç§°`,telegramImportHint:`ä»
éå
¬å¼é¢éãæä»¬ä¼å¯¼å
¥è¿æå¸åã
12`,rssImport:`RSS`,rssImportPlaceholder:`ç²è´´ä»»æ RSS æ Atom 订é
æºç½å`,rssImportHint:`ä»»æåå®¢ææ°é»è®¢é
æºãæä»¬ä¼å¯¼å
¥æ¡ç®æ é¢åæè¦ã`,importOptions:`导å
¥è§å`,keepCase:`ä¿çç®±å`,countFrequency:`计æ°é¢ç`,removeStopWords:`å é¤åç¨è¯`,detectDuplicates:`æ£æµéå¤é¡¹`,lemmatizeWords:`è¯å½¢è¿å`,languageProcessing:`è¯è¨å¤ç`,languageProcessingStatus:`å¤çï¼{{language}}`,languageProcessingSection:`è¯è¨å¤ç`,processingLanguage:`ææ¬è¯è¨`,autoLanguage:`èªå¨æ£æµ`,chineseLanguage:`䏿`,chineseScript:`䏿书åä½ç³»`,chineseScriptAuto:`èªå¨æ£æµ`,chineseSimplified:`ç®ä½ä¸æ`,chineseTraditional:`ç¹é«ä¸æ`,chineseMode:`䏿å¤ç模å¼`,chineseFast:`å¿«é`,chinesePrecise:`精确`,keepSingleHan:`ä¿çå个æ±å`,includeNumbers:`å
嫿°å`,normalizeChineseVariants:`åå¹¶ç¹ä½ä¸ç®ä½å½¢å¼`,minTokenLength:`æå°è¯è¯é¿åº¦`,chineseStopWordsProfile:`åç¨è¯`,chineseStopWordsCore:`å®å
¨`,chineseStopWordsExtended:`æ©å±`,chinesePosFilter:`è¯æ§çé`,chinesePosAll:`å
¨é¨`,chinesePosContent:`å®è¯`,chinesePosNouns:`åè¯`,chineseKeywordRanking:`è¯è¯æé`,chineseKeywordSmart:`æºè½`,chineseKeywordFrequency:`è¯é¢`,chineseKeywordRankingHint:`æºè½æé综åè¯é¢ãTF-IDFãTextRankãä½ç½®ä¸è¯æ§ï¼åå§è¯é¢ä»ä¿çå¨å
æ°æ®ä¸ã`,englishLanguage:`è±è¯`,englishProcessingHint:`è±è¯ææ¬ä¼å¨æ¤æµè§å¨æ¬å°è¿è¡è¯æ§æ 注åè¯å½¢è¿åã`,englishPosFilter:`è¯æ§çé`,englishPosAll:`ææè¯è¯`,englishPosContent:`å®è¯`,englishPosNouns:`åè¯`,englishLemmatize:`è±è¯è¯å½¢è¿å`,englishStopWordsProfile:`åç¨è¯`,englishStopWordsCore:`åºç¡`,englishStopWordsExtended:`æ©å±`,englishStopWordsHint:`åºç¡å表ä¼ç§»é¤å¸¸è§åè½è¯ï¼æ©å±å表è¿ä¼è¿æ»¤é«é¢å¡«å
è¯ã`,russianLanguage:`ä¿è¯`,russianLocale:`ä¿è¯åä½`,russianMode:`ä¿è¯å¤ç模å¼`,russianFast:`å¿«é`,russianPrecise:`OpenCorpora`,russianPreciseHint:`精确导å
¥ä»
卿¬å°å è½½éè¦çè¯å
¸ç段ï¼ä¸ä¼çæµææ§ä¹çè¯å½¢ã`,russianPosFilter:`è¯æ§`,russianPosAll:`å
¨é¨`,russianPosContent:`å®è¯`,russianPosNouns:`åè¯`,russianLemmatize:`ä¿è¯è¯å½¢è¿å`,russianYoNormalization:`Ð/Ð å½ä¸å`,russianYoPreserve:`ä¿ç Ð å Ð çå·®å¼`,russianYoFold:`å° Ð ä¸ Ð åå¹¶`,russianYoHint:`å并坿¹åè¯é¢å½ç±»ï¼ä¼å°½å¯è½ä¿çåå§æ¼åã`,russianStopWordsProfile:`åç¨è¯`,russianStopWordsCore:`åºç¡`,russianStopWordsExtended:`æ©å±`,russianStopWordsHint:`åºç¡å表ä»
ç§»é¤é«ç½®ä¿¡åº¦èè¯ï¼æ©å±å表ä¼è¿æ»¤æ´å¤å¸¸è§å¡«å
è¯ã`,genericLanguageProcessingHint:`该è¯è¨ä½¿ç¨åºç¡æ¬å°åè¯ãè¯·éæ©ä¸æãä¿è¯æè±è¯ä»¥é
置详ç»å¤çå¨ã`,customDictionary:`èªå®ä¹è¯å
¸`,customDictionaryPlaceholder:`æ¯è¡ä¸ä¸ªè¯ãè¾é¿çè¯ä¼å
å¹é
ã`,synonyms:`åä¹è¯`,synonymsPlaceholder:`æ¯è¡ä¸ç»ï¼ä¸»è¯: åä¹è¯1, åä¹è¯2`,processingPrivacyLocal:`ææå¤çå卿¨çæµè§å¨æ¬å°å®æã`,preciseProcessingHint:`精确模å¼å¯æ´åç¡®å°è¯å«ä¸æè¯è¯è¾¹çï¼ä½å¯è½éè¦ç¨é¿æ¶é´ã`,preserveStyles:`ä¿çæ ·å¼`,replaceWordsOnly:`ä»
æ¿æ¢åè¯`,includeEmoji:`表æ
符å·`,customStopWordsPlaceholder:`èªå®ä¹åç¨è¯åè¡¨ï¼æ¯è¡ä¸ä¸ªåè¯ãéå·æ ;`,importResult:`{{source}}ï¼{{count}} 个åï¼{{rows}} è¡ï¼{{mode}} 模å¼`,includePhrases:`çè¯`,importMode:{text:`ææ¬`,table:`æ¡å`},errors:{xlsUnsupported:`å°ä¸æ¯ææ§ç .xlsãå°æä»¶å¦å为 .xlsx æ CSVã`,googleSheetsFailed:`æ æ³å è½½ Google Sheetsã使ç¨å
Œ
±é¾æ¥æå·²åå¸ç CSVã`,googleSheetsInvalidUrl:`è¿ä¸æ¯ææç Google Sheets æå·²åå¸ CSV 龿¥ã请ç²è´´å®æ´çè¡¨æ ¼é¾æ¥æå
¬å¼ç HTTPS CSV URLã`,googleFileAccessDenied:`Google ææ¡£æªå
¬å¼ãè¯·å¨ Google Docs æ Google Drive 䏿å¼å
±äº«ï¼å¹¶å°å¸¸è§è®¿é®æé设为ç¥é龿¥çä»»ä½äººã`,importFailed:`æ æ³å¯¼å
¥æ°æ®`,xImportFailed:`æ æ³å è½½ X å¸åã请使ç¨å
¬å¼å¸å龿¥ã`,redditImportFailed:`æ æ³å è½½æ¤ Reddit 龿¥ã请使ç¨å
¬å¼çå¸åæçåã`,hnImportFailed:`æ æ³å è½½æ¤ Hacker News æ¡ç®ã请使ç¨å
¬å¼é¾æ¥ã`,youtubeImportFailed:`æ æ³å è½½æ¤ YouTube è§é¢ãå®å¯è½ä¸å¯ç¨ï¼æå¯¼å
¥æªé
ç½®ã`,telegramImportFailed:`æ æ³å è½½æ¤ Telegram é¢éã请使ç¨å
¬å¼é¢é龿¥ã`,rssImportFailed:`æ æ³å è½½æ¤è®¢é
æºãè¯·ä½¿ç¨ææç RSS æ
12 Atom ç½åã`}},words:{title:`å`,word:`åè¯`,editWord:`ç¼è¾åè¯`,delete:`å é¤åè¯`,clearList:`æ¸
空è¯è¯å表`,count:`é¢ç`,size:`尺寸`,sizeTitle:`ä¸é¢çç¸å
³çåè¯æè¡¨æ
ç¬¦å·æ¯ä¾`,sizeWord:`{{word}} ç大å°`,resetSize:`é置尺寸`,resetSizeShort:`100`,empty:`è¾å
¥ææ¬è¿è¡åæ`,total:`{{count}} å`,filteredTotal:`{{total}} ç {{count}}`,searchPlaceholder:`æç´¢åè¯æè¡¨æ
符å·`,noMatches:`没æå¹é
项`,showing:`æ¾ç¤º {{shown}}ï¼å
± {{count}}ï¼`,emoji:`表æ
符å·`,repeatShort:`代表ã`,repeatTitle:`å¡«åæ¶éå¤åè¯`,repeatWord:`å¡«å
æ¶éå¤ {{word}}`,enableRepeatWord:`å¯ç¨ {{word}} çéå¤`,disableRepeatWord:`ç¦ç¨ {{word}} çéå¤`,managerTitle:`è¯è¯ç®¡çå¨`,managerApply:`åºç¨`,managerDescription:`{{count}} 个æ¡ç®ï¼æ¯ææåºãæ¹éæä½åéè¯è®¾ç½®ã`,openManager:`管çè¯è¯`,selected:`å·²éï¼{{count}}`,selectAll:`éæ©ææå¯è§è¯è¯`,kind:`ç±»å`,frequencyValue:`æé {{count}}`,bulkActions:`æ¹éæä½`,bulkDescription:`䏿¬¡æåä¸ä¸ªä¿®æ¹åºç¨å°ææå·²éè¯è¯ã`,bulkFont:`æ¹éåä½`,fontAutoAll:`æéèªå¨`,repeatOn:`å¼å¯éå¤`,repeatOff:`å
³ééå¤`,repeatAll:`å
¨é¨éå¤`,deleteSelected:`å 餿é`,wordFont:`è¯è¯åä½`,addWord:`æ·»å è¯è¯`,addPlaceholder:`ç»§ç»æ·»å â¦`,addPlaceholderEmpty:`è¾å
¥è¯è¯å¹¶æå车`,emptyListTitle:`è¯è¯å表为空`,emptyListDescription:`请å¨ä¸æ¹è¡¨åæ·»å è¯è¯ï¼è¾å
¥è¯è¯å¹¶æå车ã`,sourceTitle:`æºææ¬`,sourceDescription:`ç²è´´æå¯¼å
¥ææ¬ï¼å°å
¶è½¬æ¢ä¸ºè¯è¯ã`},style:{title:`飿 ¼`,font:`åä½`,uploadFont:`ä¸ä¼ åä½`,customFonts:`èªå®ä¹ {{count}}`,customFontsBadge:`{{count}}`,fontLoading:`å è½½ä¸`,deleteCustomFont:`å é¤èªå®ä¹åä½`,scriptFonts:`è¯è¨åä½`,autoFont:`汽车`,fontUpload:{title:`ä¸ä¼ èªå®ä¹åä½`,description:`æ·»å è¯äºçæå¨å¯ä»¥ä½¿ç¨çå使件ã`,formatsTitle:`æ¯æçæ ¼å¼`,formatsBody:`æ¨èä½¿ç¨ WOFF2ãè¿æ¥åæå¤§ 6 MB ç WOFFãTTF å OTF æä»¶ã TTC éåãæ¡£æ¡ãSVG åä½åé¢è²/å¯ååä½å¯è½æ æ³å¯é å·¥ä½ã`,licenseTitle:`ä½¿ç¨æ¡ä»¶`,licenseOwn:`ä»
ä¸ä¼ æ¨ææä½¿ç¨çåä½ã`,licenseAllowed:`å
è´¹å弿ºåä½ï¼ä¾å¦ SIL OFLãApache æç±»ä¼¼è®¸å¯è¯ï¼é½æ¯åéçãä»
彿¨ç许å¯è¯å
许ç½ç»/æ¡é¢ä½¿ç¨åå¾åçææ¶ï¼åä¸å使éç¨ã`,licenseRestricted:`请å¿ä¸ä¼ 许å¯è¯ç¦æ¢åµå
¥ãWeb 使ç¨ãå¾åå建æå¨çææå¡ä¸ä½¿ç¨çåä½ã`,storageTitle:`æä»¶åå¨ä½ç½®`,storageBody:`该æä»¶ä½¿ç¨ IndexedDB æ¬å°åå¨å¨è¯¥æµè§å¨ä¸ï¼å¹¶ä¸å¨ä¸ä¼ æé´ä¸ä¼åéå°æå¡å¨ãä»è¯¥æµè§å¨å¯¼åºçæä»¶å°ä½¿ç¨è¯¥åä½ï¼ä½å¦æå
Œ
±é¾æ¥åå
¶ä»æµè§å¨ä¸æ²¡æç¸åçæä»¶ï¼åå¯è½ä¼åéã`,warning:`ä¸ä¸ªæä»¶è¢«è§ä¸ºä¸ç§æ ·å¼ã妿æ¨éè¦å¸¸è§ãç²ä½ææä½æ ·å¼ï¼è¯·ä¸ä¼ åç¬çæä»¶ã`,chooseFile:`éæ©å使件`},palette:`è°è²æ¿`,customPalette:`é£ä¿`,customPaletteTitle:`èªå®ä¹è°è²æ¿`,customPaletteHint:`æå»ºåè¯é¢è²éãæ´æ¹ä¼ç«å³åºç¨äºå½åçäºã`,addCustomColor:`æ·»å é¢è²`,removeCustomColor:`å»é¤é¢è²`,resetCustomPalette:`éç½®è°è²æ¿`,customColorNumber:`é¢è² {{number}}`,colorMode:`è²å½©æ¨¡å¼`,sequential:`顺åº`,random:`éæºç`,byFrequency:`æé¢ç`,fontSize:`尺寸èå´`,min:`æå°`,max:`æå¤§é度`,morePalettes:`ææè°è²æ¿`,paletteDialogTitle:`è°è²æ¿`,paletteDialogCount:`{{count}} 个è°è²æ¿`,closePalettes:`å
³éè°è²æ¿`},layout:{title:`å¸å±`,spiral:`èºæ`,archimedean:`é¿åºç±³å¾·`,rectangular:`ç©å½¢ç`,rotation:`æ¹å`,horizontal:`æ°´å¹³ç`,mixed:`æ··å`,vertical:`åç´ç`,orthogonal:`æ°´å¹³ åç´`,crossing:`横穿 åç´`,crossingVoids:`ç©¿è¶è空`,dancing:`èå¨çè¯è¯`,positiveSlope:`åä¸æçº¿`,negativeSlope:`åä¸æçº¿`,random:`éæºç`,custom:`é£ä¿`,moreOrientations:`æææ¹å`,orientationDialogTitle:`æåæ¹å`,orientationDialogCount:`{{count}} 模å¼`,closeOrientations:`æ¥è¿æ¹å`,crossingPreview:`ç©¿è¶`,voidsPreview:`空é`,dancingPreview:`è·³è`,wordsPreview:`å`,positivePreview:`åä¸`,negativePreview:`åä¸`,slopePreview:`æçº¿`,customAngles:`è§åº¦`,customAnglesPlaceholder:`0ã-30ã30ã90`,angled:`æè§åº¦ç`,free:`èªç±è§åº¦`,padding:`è¯é´è·`,maxWords:`è¯æ°ä¸é`},shape:{title:`å½¢ç¶`,popular:`忬¢è¿ç`,selected:`已鿩`,openCatalog:`ç®å½`,catalogTitle:`å½¢ç¶ç®å½`,catalogCount:`{{count}} å½¢ç¶`,closeCatalog:`å
³éå½¢ç¶ç®å½`,catalogCustomize:`èªå®ä¹å½¢ç¶`,catalogColor:`å½¢ç¶é¢è²`,catalogInvert:`å转形ç¶`,catalogInvertHint:`å¡«å
æ¤è½®å»å¨å´çåºåï¼è䏿¯è½®å»æ¬èº«ã`,catalogBack:`è¿å`,catalogEditFree:`ç¼è¾`,catalogApply:`åºç¨`,searchPlaceholder:`æç´¢å½¢ç¶åæ ç¾`,catalogEmpty:`æªæ¾å°å½¢ç¶`,deleteShape:`å é¤å½¢ç¶â{{name}}â`,deleteShapeConfirm:`ä»ä½ çå½¢ç¶ä¸å é¤â{{name}}âï¼`,customTitle:`å®å¶å½¢ç¶`,customDescription:`å¨æå»ºå¨ä¸ç»å¶è½®å»æå¯¼å
¥å¾å`,builderOpen:`建设è
`,builderTitle:`å½¢ç¶çæå¨`,builderDescription:`æå»ºç¹è½®å»æå°åæ¯åæ°å转æ¢ä¸ºç¢éèçã`,builderDrawMode:`è½®å»`,builderTextMode:`忝忰å`,builderControls:`å¦ä½ç»ç»`,builderHintAdd:`å廿ç¹å»ç½æ ¼ä»¥æ·»å æ°ç¹ã`,builderHintDrag:`æå¨èç¹ä»¥éå¡è½®å»ãå½¢ç¶èªå¨éåã`,builderHintSnap:`è½»ç£éå°ç¹å¸éå°ç½æ ¼ä¸ãæä½ Alt å¯ç»è¿ææã`,builderTextInput:`人ç©`,builderTextPlaceholder:`2026`,builderTextFont:`åä½`,builderTextFontSearch:`æç´¢åä½`,builderTextFontSearchClear:`æ¸
é¤åä½æç´¢`,builderTextFontSearchEmpty:`æ²¡ææ¾å°åä½`,builderTextStyle:`飿 ¼`,builderTextInvert:`åç½®`,builderTextInvertHint:`é»è®¤æ
åµä¸ï¼åæ¯å·²å¡«å
ãåç½®æ¶ï¼å®ä»¬å¨å´çåºå被填å
ã`,builderTextLoading:`åå¤å¤§çº²`,builderTextPreviewEmpty:`è¾å
¥åæ¯ææ°å`,builderTextError:`æ æ³æå»ºææ¬å½¢ç¶`,builderUndo:`æ¤æ¶`,builderClear:`æ¸
é¤`,builderReset:`æ ·æ¬`,builderApply:`使ç¨å½¢ç¶`,builderStats:`{{count}} ç¹ï¼é¢ç§¯ {{area}}`,builderShapeName:`ç¢éå½¢ç¶`,builderEditedSuffix:`å·²ç¼è¾`,closeBuilder:`å
³éçæå¨`,editShape:`ç¼è¾å½¢ç¶`,customUpload:`ä¸ä¼ `,customThreshold:`æ©æ¨¡éå¼`,customReady:`å½¢ç¶â{{name}}
12âå·²åå¤å°±ç»ª`,customError:`æ æ³ä»å¾åå建形ç¶`,customModes:{auto:`汽车`,alpha:`é¿å°æ³`,contrast:`对æ¯`},categories:{all:`å
¨é¨`,basic:`åºæ¬ç`,nature:`èªç¶`,animals:`å¨ç©`,kids:`å¿ç«¥`,numbers:`æ°å`,objects:`对象`,symbols:`符å·`,travel:`æ
è¡`,brands:`åç`,custom:`é£ä¿`},mode:`模å¼`,frequency:`æé¢ç`,fill:`å¡«å
å½¢ç¶`,background:`å½¢ç¶èæ¯`,backgroundNone:`æ èæ¯`,backgroundWhite:`æµ
è²èæ¯`,backgroundSky:`å¤©ç©ºèæ¯`,backgroundMint:`èè·èæ¯`,backgroundWarm:`温æçèæ¯`,backgroundRose:`ç«ç°èæ¯`,backgroundCustom:`鿩形ç¶èæ¯é¢è²`},stopWords:{title:`åç¨è¯`,enable:`è¿æ»¤åç¨è¯`,language:`è¯è¨`,auto:`èªå¨`,ru:`ä¿è¯`,en:`è±è¯`,es:`西ççè¯`,fr:`æ³è¯`,ar:`é¿æä¼¯è¯`,zh:`䏿`},export:{title:`åºå£`,format:`æ ¼å¼`,quality:`è´¨é`,background:`èæ¯`,transparent:`éæç`,white:`ç½è²ç`,dark:`黿ç`,save:`èç`,download:`ä¸è½½`,toggleOptions:`导åºé项`,close:`å
³é`,printReady:`å¯æå° PDF`,printReadyDescription:`åºå®çº¸å¼ ãè¾¹è·åæå°æ è®°`,page:`页`,margin:`婿¶¦`,bleed:`æµè¡`,safeZone:`å®å
¨åº`,cropMarks:`è£åªæ è®°`,downloading:`æ£å¨ä¸è½½...`,watermark:`æ¥æºï¼{{site}}`,hideWatermark:`ä¸å«æå¡çæ`,hideWatermarkDescription:`ä»å¯¼åºæä»¶ä¸ç§»é¤ç«ç¹ç½²å`},publish:{button:`å享`,creating:`æ£å¨åå¸...`,title:`åå¸è¯äº`,description:`å建ä¿çå½åå¸å±ãå½¢ç¶åæ ·å¼çè¯äºé¾æ¥ã`,publicLifetime:`å
¬å¼æ¨¡æ¿å°æ°¸ä¹
ä¿åï¼å¹¶å½å
¥å½åçé¢è¯è¨ã`,privateLifetime:`ç§å¯é¾æ¥æææä¸º 90 天ï¼ä¸ä¸ä¼åºç°å¨ç®å½ä¸ã`,defaultTitle:`æçè¯äº`,nameLabel:`å叿 é¢`,namePlaceholder:`ä¾å¦ï¼é¡¹ç®åæå¾`,publicNotice:`æ é¢ãè¯è¯åå¾çå°å¯¹å
¬å¼ç®å½ä¸çææè®¿å®¢å¯è§ã`,privateToggle:`ä¿çç§å¯é¾æ¥`,privateDescription:`ä¸å¨å
¬å¼ç®å½ä¸å±ç¤ºæ¤ä½å`,privateNotice:`åªæè·å¾é¾æ¥ç人æè½è®¿é®æ¨¡æ¿ã龿¥å°å¨ 90 天å失æã`,create:`å叿¨¡æ¿`,createPrivate:`å建ç§å¯é¾æ¥`,publicResult:`模æ¿å·²åå¸å°ç®å½å¹¶å°æ°¸ä¹
ä¿åã`,privateResult:`ç§å¯é¾æ¥æææä¸º 90 å¤©ï¼æ¨¡æ¿ä¸ä¼åºç°å¨ç®å½ä¸ã`,newPublication:`æ°å»º`,link:`å
³è`,copy:`å¤å¶`,copied:`å·²å¤å¶`,open:`æå¼`,close:`å
³é`,native:`å享`,nativeTitle:`shapewords è¯äº`,socialTitle:`åå¸`,socialOpen:`åå¸å° {{name}}`,socialPreviewNote:`å½ç¤¾äº¤ç½ç»æå龿¥é¢è§æ¶ï¼å¾çä¼éè¿ Open Graph æ¾ç¤ºã`,qrAlt:`龿¥äºç»´ç `,empty:`å
çæäº`,error:`æ æ³å叿¨¡æ¿`,previewError:`æ æ³çæåå¸é¢è§`},templatePage:{badge:`å
¬å¼æ¨¡æ¿`,description:`æ¥çè¿ä¸ªå
¬å¼è¯äºæ¨¡æ¿ä½¿ç¨çè¯è¯ãå½¢ç¶ãé
è²åå¸å±ã`,back:`模æ¿ç®å½`,loading:`æ£å¨å 载模æ¿...`,words:`{{count}} å`,notFoundTitle:`æ¾ä¸å°é¾æ¥`,expiredTitle:`æ¤é¾æ¥å·²è¿æ`,expiredDescription:`æ¤æ§é¾æ¥å·²å¤±æã请ä»ç®å½ä¸éæ©å
¶ä»æ¨¡æ¿ã`,loadError:`æ æ³å 载模æ¿`,applyError:`æ æ³å¨ç¼è¾å¨ä¸æå¼æ¨¡æ¿`,copyError:`æ æ³å¤å¶é¾æ¥`,templateNumber:`æ¨¡æ¿ Â· {{id}}`,copyLink:`å¤å¶é¾æ¥`,copied:`龿¥å·²å¤å¶`,useTemplate:`ä½¿ç¨æ¤æ¨¡æ¿`,opening:`æ£å¨æå¼...`,language:`è¯è¨`,shape:`å½¢ç¶`,shapeCaption:`å·²éè¯äºè½®å»`,font:`åä½`,orientation:`æ¹å`,fontSize:`åå·èå´`,published:`å叿¥æ`,details:`模æ¿è¯¦æ
`,contents:`å
容`,preview:`é¢è§`,usedWords:`使ç¨çè¯è¯`,wordWeight:`è¯è¯æé`,colorScheme:`é
è²æ¹æ¡`,customPalette:`èªå®ä¹è°è²æ¿`,technicalDetails:`å¸å±è¯¦æ
`,spiral:`èºæçº¿`,wordSpacing:`è¯è¯é´è·`,colorMode:`é¢è²é¡ºåº`,wordLimit:`è¯è¯ä¸é`,placedWords:`å·²æ¾ç½®è¯è¯`,canvasSize:`ç»å¸`,viewMode:`è§å¾`,readyBadge:`æé ä½ ççæ¬`,readyTitle:`ä¿çæå¾ï¼æ¹åå
容ã`,readyDescription:`å¨ç¼è¾å¨ä¸æå¼æ¨¡æ¿ï¼å³å¯æ¿æ¢è¯è¯ãè°æ´å½¢ç¶ä¸é¢è²ï¼æå¯¼åºç»æã`},wordMap:{metaTitle:`交äºå¼ 3D ä¸çè¯è¯å°å¾ | shapewords`,metaDescription:`å¨äº¤äºå¼ 3D å°ç䏿å½å®¶æ¢ç´¢ Google News RSS ææ°ç»æä¸çé«é¢è¯ï¼å¹¶æå¤©ç¼åæ°é»è¯ç°ã`,title:`ä¸çè¯è¯å°å¾`,search:`æç´¢å°ç¹`,searchPlaceholder:`æç´¢å½å®¶`,placePicker:`å°ç¹éæ©`,country:`å½
12å®¶`,results:`ç»æ`,noResults:`æªæ¾å°å°ç¹`,world:`ä¸ç`,toggleOrbit:`å¼å¯æå
³éå°çæè½¬`,words:`è¯è¯`,empty:`éæ©å½å®¶`,scale:{world:`ä¸ç`,country:`å½å®¶`},newsSource:`Google News RSS`,newsSelectCountry:`æç´¢å¹¶éæ©å½å®¶ä»¥å è½½æ°é»è¯è¯`,newsReady:`æ°é»è¯è¯å·²å°±ç»ª`,newsLoading:`æ£å¨å è½½æ°é»é«é¢è¯`,newsFresh:`å·²ä» Google News RSS å è½½`,newsCached:`æ£å¨ä½¿ç¨ä»æ¥æ°é»ç¼å`,newsErrorShort:`æ°é»ä¸å¯ç¨`,newsError:`æ æ³å è½½å½å®¶æ°é»è¯è¯`,newsEmpty:`æªæ¾å°é«é¢æ°é»è¯`,reloadNews:`éæ°å è½½æ°é»è¯è¯`},canvas:{undo:`æ¤æ¶`,redo:`éå`,generate:`çæ`,regenerate:`åç`,fullscreen:`å
¨å±`,zoom:`飿¶¨`,showGrid:`æ¾ç¤ºç½æ ¼`,hideGrid:`éèç½æ ¼`,openMenuHint:`æå¼èåæ·»å åè¯`,emptyTitle:`å·¥ä½åºæ¯ç©ºç`,emptyDesktopDescription:`å¨å·¦ä¾§é¢æ¿ä¸æ·»å ææ¬æä½¿ç¨ç¤ºä¾æå»ºè¯äºã`,emptyMobileDescription:`æå¼èåå¹¶æ·»å ææ¬ä»¥æå»ºè¯äºã`,generating:`çæ...`,assigningFontsProgress:`åé
åä½`,loadingFontsProgress:`å è½½åä½`,prepareProgress:`åå¤ä¸`,preparingOutlineProgress:`çæè½®å»`,fillProgress:`å¡«å
å½¢ç¶`,shapeWordCountLabel:`åå½¢`,progressAssigningFonts:`éæ©å¯ç¨åå½¢è¦ç`,progressLoadingFonts:`å è½½æéå使件`,progressPreparing:`æ©ç ãåä½ååå½¢`,progressPreparingOutline:`å°æå转æ¢ä¸ºè½®å»`,progressWords:`{{placed}} / {{target}} å`,progressPlaced:`{{placed}} å`,selectedWord:`æéåè¯`,selectWord:`éæ©åè¯ {{word}}`,editWord:`ç¼è¾åè¯ {{word}}`,wordColor:`é¢è²`,wordFont:`åä½`,wordSize:`尺寸`,wordRotation:`æè½¬`,wordCurve:`æ²çº¿`,pinWord:`å¼èä½ç½®`,unpinWord:`åæ¶åºå®ä½ç½®`,protectPinnedArea:`ä¿æ¤æ´æ¡çè¯åºå`,unprotectPinnedArea:`åæ¶çè¯åºåä¿æ¤`,pinConflict:`ä½ç½®å·²åºå®ï¼ä½åè¯ä¸å½¢ç¶æå¦ä¸ä¸ªåºå®åè¯é¨åå²çªã`,deleteWord:`å é¤åè¯`,mainAccentTitle:`æ·»å ä¸ä¸ªè§è§éç¹ï¼`,mainAccentDescription:`â{{word}}âå¯ä»¥æä¸ºè§è§ä¸å¿ãæä»¬ä¼éæ©æç¹è²çåä½ï¼å¹¶æ ¹æ®å½¢ç¶è°æ´å¤§å°ãæè½¬æå¼¯æ²ãå¨å´ç空ç½å°ç±å
¶ä»è¯è¯å¡«å
ã`,mainAccentProcessing:`æ£å¨éæ©åä½â¦`,mainAccentFontError:`æ æ³å 载强è°åä½ï¼è¯·éè¯ã`,mainAccentAction:`设为主è¦éç¹`,mainAccentDismiss:`éè建议`,sparseFillTitle:`å½¢ç¶ä¸ä»æè¾å¤ç©ºç½`,sparseFillDescription:`å½åå·²å
³ééå¤ï¼å æ¤å
容ä¸è¶³ä»¥å¯éå¡«å
ãAI å¯ä»¥æ¥æ¾æ°çåä¹è¯åç®ççç¸å
³çè¯ã`,sparseFillAction:`ç¨ AI æ¥æ¾åä¹è¯`,sparseFillProcessing:`AI æ£å¨æ¥æ¾è¯è¯â¦`,sparseFillDismiss:`å
³é建议`,sparseFillNoNewWords:`AI æ²¡ææ¾å°æ°çå¯ä¸è¯è¯æçè¯ã请å°è¯ä¿®æ¹åå§è¯è¡¨ã`},tooltips:{help:`帮å©`,text:{title:`æºè½å¯¼å
¥æ¥åçº¯ææ¬ãCSV/TSVãExcel .xlsx åå
Œ
± Google Sheetsãç´æ¥å¯¼å
¥å
å«åè¯åé¢çåçè¡¨æ ¼ã`,languageProcessing:`æ ¹æ®ææ¬è¯è¨åè¯ååç»è®¡è¯é¢ãé»è®¤å¼å¯ï¼å
³éåå°ä½¿ç¨åºç¡åè¯æ¹å¼ã`,keepCase:`ä¿çæ¯ä¸ªåè¯ç¬¬ä¸ä¸ªæ£æµå°ç大å°åãå
³éæ¶ï¼åè¯å°æ åå为å°åã`,countFrequency:`å¯ç¨åï¼éå¤çæ¯è¯ä¼å¢å åè¯æéãå
³éæ¶ï¼æ¯ä¸ªå¯¼å
¥çåè¯é½ä¼æ¶å°æé 1ã`,removeStopWords:`è¿æ»¤æéè¯è¨æè¾å
¥ææ¬ä¸èªå¨è¯å«åºçææåæ¯æè¯è¨ç常ç¨åè½è¯ï¼å¹¶å å èªå
12®ä¹åç¨è¯å表ã`,detectDuplicates:`å¯ç¨åï¼ç¸åçåè¯å°è¢«åå¹¶ãå ³éæ¶ï¼å°ä¿çåå§åè¯åºåã`,lemmatizeWords:`å¯ç¨åï¼ä¿è¯åè±è¯åè¯å½¢å¼ä¼å¨é¢ç计æ°ä¹åæ ååï¼å æ¤ carsãcarãrunning å running å¯ä»¥å ±äº«å ¶åºæ¬ç»ã`,russianLemmatize:`è°¨æ å½å¹¶åæ¯æçä¿è¯è¯å½¢ï¼æ§ä¹è¯ä¿æåå¼ï¼å¹¶ä¿çåå§èå´ã`,englishLemmatize:`å¨ç»è®¡è¯é¢åå°è±è¯è¯å½¢å½å¹¶ä¸ºè¯å ¸å½¢å¼ï¼å¹¶ä¿çåå§ææ¬èå´ã`,preserveStyles:`å¯ç¨åï¼å¯¼å ¥ä» æ´æ¹æ°æ®ãå ³éåï¼åä½ãè°è²æ¿ååºæ¬ææ¬è®¾ç½®å°é置为é»è®¤å¼ã`,replaceWordsOnly:`å¯ç¨åï¼å¯¼å ¥ä¼ç´æ¥æ¿æ¢åè¯è¡¨ï¼èæ ééæ°å¤çåå§ææ¬ãå ³éæ¶ï¼å¯¼å ¥çæºæä»¶å°éè¿æ®éææ¬å¤çå¨ã`,includePhrases:`å¯ç¨åï¼éå¤ç两个åè¯ç»åå°æ·»å 为çè¯ãç¦ç¨æ¶ï¼ä» 使ç¨å个åè¯ã`,includeEmoji:`å¯ç¨åï¼è¡¨æ 符å·å°ä½ä¸ºåç¬ç令çæåå¹¶ä½¿ç¨ Twemoji SVG èµäº§è¿è¡æ¸²æã`},words:{title:`è¯è¯åºåä¿çå¿«éè¾å ¥ãå é¤åé夿§å¶ãè¦æåºãæ¹éç¼è¾å设置åè¯åä½ï¼è¯·æå¼ç®¡çå¨ã`,sidebar:`ä¾§è¾¹æ ç¨äºç®¡çè¯è¯å表åéå¤ãåºå®åªéç¨äºç»å¸ä¸éä¸çå®ä¾ã`,manager:`管ç卿¯æææåæåºãæ¹éæä½ï¼ä»¥å对é¢çã大å°ãéå¤ååä½çéè¯æ§å¶ã`},ai:{title:`AI 婿伿©å±è¾å ¥ç主é¢ï¼æå°å ¶ç¿»è¯ææéè¯è¨ã`},style:{font:`åä½ä¼å½±åè§è§ç¹å¾åå½¢ç¶å çå®é åè¯ä½ç½®ã`,palette:`è°è²æ¿å®ä¹å¯ç¨çæåé¢è²ãé¢è²æ¨¡å¼æ§å¶å¦ä½åé è¿äºé¢è²ã`,colorMode:`顺åºéµå¾ªè°è²æ¿ï¼éæºè°æ´é¢è²ï¼å¹¶æé¢çå¼ºè°æ´éè¦çåè¯ã`,fontSize:`设置æå°åæå¤§å°ºå¯¸èå´ãå¡«å å½¢ç¶æ¶ï¼å¼æä»ä¼å¨è¿ä¸ªèå´å èªéåºè°æ´å¤§å°ï¼è䏿¯ä½¿ç¨åºå®å¼ã`},layout:{title:`å¸å±è®¾ç½®æ§å¶ç©ºç½åºåæç´¢ãå 许è§åº¦ãè¯ä¸è¯ä¹é´çé´è·ï¼ä»¥ååä¸å¸å±çè¯æ°ä¸éã`,spiral:`èºææ§å¶å¦ä½å¨æ²¡æå½¢ç¶çè§åäºä¸æç´¢èªç±ç©ºé´ã`,rotation:`æ¹åå®ä¹å 许çè§åº¦ãèªç±è§åº¦æéåå¯éå½¢ç¶å¡«å ã`,padding:`æ§å¶å·²æ¾ç½®åè¯ä¹é´çæå°é´è·ãå¼è¶å°è¶ç´§å¯ï¼å¼è¶å¤§çç½è¶å¤ã`,maxWords:`éå¶åä¸å¸å±çæçåè¯æ°éãæ®éè¯äºåå½¢ç¶å¡«å é½ä¼åºç¨è¿ä¸ªéå¶ï¼æ´é«çå¼å¯è½æ¹åè¦ççï¼ä½ä¼å¢å çææ¶é´ã`},shape:{title:`该形ç¶å®ä¹äºä¸ä¸ªæ©æ¨¡ï¼å ¶ä¸åè¯éè¿åç´ è½®å»æ¾ç½®ï¼èä¸è·¨è¶è¾¹çãæµè¡çå½¢ç¶å 嵿¾ç¤ºï¼å®æ´çç®å½åç¬æå¼ã`,background:`èæ¯çªåºæ¾ç¤ºåè¯åé¢çå½¢ç¶åºåï¼å¹¶å å«å¨ PNGãJPGãSVG å PDF 导åºä¸ã`},stopWords:{title:`åç¨è¯å é¤äºå¸¸è§çèè¯ï¼å æ¤äºä¸ä¼è¢«ä»è¯åè¿è¯æä¸»å¯¼ã`,enable:`å¯ç¨åï¼ä¼å¯¹æéè¯è¨æå¯¼å ¥ææ¬ä¸æ£æµå°çææåæ¯æè¯è¨èªå¨è¿æ»¤å¸¸ç¨åè½è¯ã`},export:{title:`导åºä»¥éå®çæ ¼å¼ãè´¨éåèæ¯ä¿åå½åäºã`,format:`PNG/JPG æéåå¾åï¼SVG ä¿çç¢éææ¬ï¼PDF å¯¹äºæå°åææ¡£å¾æç¨ã`,quality:`SQ 以 2x å¯¼åºæ æ ¼æ ¼å¼ï¼HQ 以 4x 导åºã PDF ä½¿ç¨ JPEG å缩æ¥é¿å æä»¶è¿å¤§è没ææç¨çç»èã`,background:`èæ¯ä» å½±å导åºçæä»¶ï¼èä¸å½±åç¼è¾å¨å·¥ä½åºã`}},ai:{title:`人工æºè½å©æ`,serverMode:`æå¡å¨`,setupApi:`设置 OpenRouter API`,actions:{topic:`æ©å±ä¸»é¢`,phrases:`å ³é®çè¯`,style:`æ¨è飿 ¼`},actionPlaceholders:{topic:`主é¢ï¼çæ¥ã太空...`,translateOnly:`è¦ç¿»è¯çåè¯æçè¯...`,style:`ç¨äºé£æ ¼ç主é¢ï¼å¯éï¼`},actionPhrasesNote:`ä»å¯¼å ¥çææ¬ä¸æåå ³é®çè¯ã`,processing:`AIæ£å¨æè...`,apiKeyTitle:`OpenRouter API å¯é¥`,apiKeyDescription:`AI åè½éè¦å è´¹ç OpenRouter å¯é¥ãå¯é¥ä» åå¨å¨æ¨çæµè§å¨ä¸ã`,getKey:`å¨ openrouter.ai è·åå¯é¥`,save:`èç`,clear:`æ¶é¤`,promptHints:{title:`å¿«éå¡«å ¥`,rotate:`æ¾ç¤ºå ¶ä»æç¤º`},settings:{open:`人工æºè½è®¾ç½®`,action:`AI æä½`,actionHints:{topic:`æ ¹æ®è¾å ¥ç主é¢çæè¯äºã`,phrases:`ä»å¯¼å ¥çææ¬ä¸æåå ³é®è¯åçè¯ã`,style:`æ ¹æ®ä¸»é¢æææ¬éæ©é è²ãåä½åå½¢ç¶ã`},title:`çæè®¾ç½®`,description:`å¨å¼å« AI ä¹åæ§å¶è¯è¨ãé³éãè¯æ°åçè¯å¯åº¦ã`,summary:`{{mode}} · {{languages}} · {{count}} · {{tone}}`,languagesCount:`{{count}} è¯è¨`,translationCount:`{{count}} ç¿»è¯`,generationMode:`模å¼`,generationModes:{expand:`å±å¼ä¸»é¢`,translateOnly:`ä» ç¿»è¯`},generationModeHints:{expand:`AI å°ä½¿ç¨éå®ç计æ°å´ç»æºä¸»é¢æ·»å åè¯ãçè¯ååä½ã`,translateOnly:`人工æºè½å°ä¸ºæ¯ç§éå®çè¯è¨åç¡®è¿åæºåè¯æçè¯çä¸ä¸ªç¿»è¯ã`},languages:`ä¸ç§æå¤ç§è¯è¨`,languageLimit:`æå¤ 30`,languagesPlaceholder:`ä¿è¯ãè±è¯ã西ççè¯... 13ç¨éå·ææ¢è¡ç¬¦åéã`,currentLanguage:`å½åç`,twoLanguages:`ä¿è¯+è±è¯`,languagePresets:{ten:`10 è¯è¨`,twenty:`20 è¯è¨`,thirty:`30 è¯è¨`},wordCount:`æå°åæ°`,wordCountHint:`ä½¿ç¨ 1 å° 80 ä¹é´çä»»ä½å¼ãå¨ä» ç¿»è¯æ¨¡å¼ä¸ï¼æç»è®¡æ°çäºæéè¯è¨è®¡æ°ã`,tone:`è¯æ°`,phraseMode:`ç
13è¯`,creativity:`ç§ç±»`,preserveProperNouns:`ä¿çåç§°ååç`,balancedLanguages:`åå平衡è¯è¨`,reset:`éç½®`,done:`宿¯`,tones:{neutral:`䏿§ç`,festive:`èæ¥ç`,professional:`ä¸ä¸ç`,playful:`ä¿ç®`,poetic:`è¯æç`,minimal:`æå°`},phraseModes:{mixed:`æ··å`,words:`å`,phrases:`çè¯`}}},footer:{free:`å
è´¹ä¸æ éæ³¨å`,description:`仿æ¬ãCSVãExcel å Google Sheets åå»ºå½¢ç¶æåäºã`,github:`GitHub`,live:`ç´æäº`,templates:`模æ¿`,wordMap:`è¯è¯å°å¾`,chromeExtension:`Chrome æ©å±`,privacy:`éç§`}}}},supportedLngs:b,fallbackLng:`en`,load:`languageOnly`,nonExplicitSupportedLngs:!0,returnNull:!1,interpolation:{escapeValue:!1},detection:{order:[`path`,`localStorage`,`cookie`,`navigator`],lookupFromPathIndex:0,lookupLocalStorage:T,lookupCookie:S,caches:[`localStorage`,`cookie`]}});var Ja=`sw_words`,Ya=12e3,Xa=180,Za=64,Qa=1e3,$a=`https://telegram.org/js/telegram-web-app.js`,eo=[`tgWebAppData`,`telegram_init_data`,`initData`],to=null;async function no(){let e=window;return e.Telegram?.WebApp?.initData?!0:(to||=(to=new Promise(t=>{let n=!1,r=setTimeout(()=>{n=!0,t(!!e.Telegram?.WebApp?.initData)},2500),i=e=>{n||(n=!0,clearTimeout(r),t(e))},a=document.querySelector(`script[src="${$a}"]`);if(a){if(a.dataset?.telegramLoaded===`1`){i(!!e.Telegram?.WebApp?.initData);return}a.addEventListener(`load`,()=>{i(!!e.Telegram?.WebApp?.initData)},{once:!0}),a.addEventListener(`error`,()=>{i(!1)},{once:!0});return}let o=document.createElement(`script`);o.src=$a,o.async=!0,o.dataset.telegramLoaded=`0`,o.addEventListener(`load`,()=>{o.dataset.telegramLoaded=`1`,i(!!e.Telegram?.WebApp?.initData)},{once:!0}),o.addEventListener(`error`,()=>{i(!1)},{once:!0}),document.head.appendChild(o)}),to.finally(()=>{setTimeout(()=>{to=null},25)})),to)}function ro(){let e=new URLSearchParams(window.location.search);if(!eo.some(t=>e.has(t)))return!1;eo.forEach(t=>e.delete(t));let t=e.toString();return window.history.replaceState(null,``,`${window.location.pathname}${t?`?${t}`:``}${window.location.hash||``}`),!0}function io(){let e=new URLSearchParams(window.location.search);for(let t of eo){let n=e.get(t);if(n)return n}return``}function ao(){return window.Telegram?.WebApp?.initData||io()}function oo(e){let t=null;return()=>(t??=e().catch(e=>{throw t=null,e}),t)}var so=oo(()=>G(()=>j(()=>import(`./AccountLibraryDialog-DxC9TpNE.js`),__vite__mapDeps([9,1,2,5,6])))),co=oo(()=>G(()=>j(()=>import(`./PrivacyPolicyPage-BaNPcC5l.js`),__vite__mapDeps([10,1,2])))),lo=oo(()=>G(()=>j(()=>import(`./PublicTemplatesPage-DgCInNac.js`),__vite__mapDeps([11,1,2,6])))),uo=oo(()=>G(()=>j(()=>import(`./PublicTemplateDetailPage-BxgLV_SP.js`),__vite__mapDeps([12,1,2,6])))),fo=oo(()=>G(()=>j(()=>import(`./LiveRoomsPage-Dz4utdRV.js`),__vite__mapDeps([13,1,2,5,14,15,6])))),po=oo(()=>G(()=>j(()=>import(`./LiveLandingPage-CANkOPW4.js`),__vite__mapDeps([16,1,2,5,6])))),mo=oo(()=>G(()=>j(()=>import(`./LiveJoinPage-CHsKrdlE.js`),__vite__mapDeps([17,1,2,5,14,15])
13))),ho=oo(()=>G(()=>j(()=>import(`./LiveViewerPage-CznMncFD.js`),__vite__mapDeps([18,1,2,5,14,15,19,20,6])))),go=oo(()=>G(()=>j(()=>import(`./LiveWorkspacePage-v8yZ8h34.js`),__vite__mapDeps([21,1,2,5,14,15,19,20,6])))),_o=oo(()=>G(()=>j(()=>import(`./WordCloud3DStage-DI4JUT7N.js`),__vite__mapDeps([22,1,2])))),vo=oo(()=>G(()=>j(()=>import(`./WorldWordMapPage-D74TEcax.js`),__vite__mapDeps([23,1,2,6])))),yo=oo(()=>G(()=>j(()=>import(`./AdminPage-CM21EdDR.js`),__vite__mapDeps([24,1,2,5,6])))),bo=oo(()=>G(()=>j(()=>import(`./renderAutomation-DSK-dnlg.js`),__vite__mapDeps([25,1,2])))),xo=oo(()=>G(()=>j(()=>import(`./liveApi-CL7OMpE0.js`),__vite__mapDeps([26,15,2,1])))),So=oo(()=>G(()=>j(()=>import(`./liveWorkspace-vYxRq0id.js`),__vite__mapDeps([27,1,2,6]))));function $(e){e().catch(()=>void 0)}function Co(e,t,n,r){let i=Number(e);return Number.isFinite(i)?Math.max(n,Math.min(r,Math.round(i))):t}function wo(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.padEnd(Math.ceil(t.length/4)*4,`=`),r=window.atob(n),i=Uint8Array.from(r,e=>e.charCodeAt(0));return JSON.parse(new TextDecoder().decode(i))}function To(e){return e===`horizontal`}function Eo(e){if(!Array.isArray(e))return;let t=Array.from(new Set(e.map(e=>Number(e)).filter(e=>Number.isFinite(e)&&Math.abs(e)<=180).map(e=>Math.round(e))));return t.length>0&&t.length<=24?t:void 0}function Do(e){if(!e||e.length>Ya)return null;try{let t=wo(e),n=Array.isArray(t)?t:t&&typeof t==`object`&&Array.isArray(t.words)?t.words:[],r=new Map;for(let e of n.slice(0,Xa*2)){if(!e||typeof e!=`object`)continue;let t=e,n=String(t.text??t.t??``).replace(/\s+/g,` `).trim().slice(0,Za);if(!n||!/[\p{L}\p{N}]/u.test(n))continue;let i=Co(t.value??t.v,1,1,Qa),a=t.repeat??t.r,o=n.toLocaleLowerCase(),s=r.get(o);s?r.set(o,{...s,value:Math.min(Qa,s.value+i),repeat:s.repeat!==!1&&a!==!1}):r.set(o,{text:n,value:i,kind:`word`,repeat:a!==!1})}let i=Array.from(r.values()).sort((e,t)=>t.value-e.value).slice(0,Xa);if(i.length===0)return null;let a=t&&typeof t==`object`?t:null,o=a?.layout&&typeof a.layout==`object`?a.layout:null;return{sourceText:typeof a?.sourceText==`string`?a.sourceText.slice(0,1e4):i.map(e=>e.text).join(` 14`),words:i,rotationPreset:To(a?.rotationPreset??o?.rotationPreset)?`horizontal`:void 0,rotations:Eo(a?.rotations??o?.rotations)}}catch{return null}}function Oo(e){e.page===`templates`?$(lo):e.page===`publishedTemplate`?$(uo):e.page===`privacy`?$(co):e.page===`liveLanding`?$(po):e.page===`liveRooms`?$(fo):e.page===`liveJoin`?$(mo):e.page===`liveView`?$(ho):e.page===`liveWorkspace`?$(go):e.page===`wordMap`?$(vo):e.page===`stat`&&$(yo)}var ko=(0,K.lazy)(()=>so().then(e=>({default:e.AccountLibraryDialog}))),Ao=(0,K.lazy)(()=>co().then(e=>({default:e.PrivacyPolicyPage}))),jo=(0,K.lazy)(()=>lo().then(e=>({default:e.PublicTemplatesPage}))),Mo=(0,K.lazy)(()=>uo().then(e=>({default:e.PublicTemplateDetailPage}))),No=(0,K.lazy)(()=>fo().then(e=>({default:e.LiveRoomsPage}))),Po=(0,K.lazy)(()=>po().then(e=>({default:e.LiveLandingPage}))),Fo=(0,K.lazy)(()=>mo().then(e=>({default:e.LiveJoinPage}))),Io=(0,K.lazy)(()=>ho().then(e=>({default:e.LiveViewerPage}))),Lo=(0,K.lazy)(()=>go().then(e=>({default:e.LiveWorkspacePage}))),Ro=(0,K.lazy)(()=>_o()),zo=(0,K.lazy)(()=>vo().then(e=>({default:e.WorldWordMapPage}))),Bo=(0,K.lazy)(()=>yo().then(e=>({default:e.AdminPage})));function Vo(){let{t:e}=F();return(0,q.jsxs)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center bg-slate-50 text-sm text-slate-500 dark:bg-slate-950 dark:text-slate-400`,children:[(0,q.jsx)(`span`,{className:`mr-2 size-4 animate-spin rounded-full border-2 border-slate-300 border-t-primary dark:border-slate-700 dark:border-t-primary`}),e(`common.loading`)]})}function Ho(){let{t:e}=F();return(0,q.jsx)(`div`,{className:`fixed inset-0 z-50 grid place-items-center bg-slate-950/28 p-4 backdrop-blur-[2px]`,role:`status`,"aria-live":`polite`,children:(0,q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-slate-200 bg-white px-4 py-3 text-sm font-medium text-slate-700 shadow-xl shadow-slate-950/12 dark:border-slate-800 dark:bg-slate-950 dar
14k:text-slate-200`,children:[(0,q.jsx)(`span`,{className:`size-4 animate-spin rounded-full border-2 border-slate-300 border-t-primary dark:border-slate-700 dark:border-t-primary`}),e(`common.loading`)]})})}var Uo=(0,K.memo)(function(){return sa(),null});function Wo({enabled:e,locale:t}){let n=(0,K.useRef)(!1);return(0,K.useEffect)(()=>{if(!e||n.current)return;let r=window.setTimeout(()=>{if(n.current||_a())return;let e=k.getState();if(e.rawText.trim().length>0||e.words.length>0||e.layoutWords.length>0||e.importedWords!==null)return;let r=ga(t),i=r.words.map(e=>({...e}));n.current=!0,k.setState({rawText:r.sourceText,importedWords:i,words:i,pinnedWordKeys:[],fontFamily:`Montserrat`,fontStyleId:`regular`,fontAssignmentMode:`auto`,paletteIndex:0,colorMode:`random`,minFontSize:18,maxFontSize:96,layoutWords:[],layoutProgress:null,layoutQuality:null,isGenerating:!1,preservedLayoutSignature:null,preservedColorSignature:null,pinnedLayoutRevision:0,renderMode:`2d`}),va()},0);return()=>window.clearTimeout(r)},[e,t]),null}var Go={en:{title:`Free word cloud generator online | shapewords`,description:`shapewords is a free online word cloud generator. Create word clouds from text, CSV, Excel, and Google Sheets, fill shapes with words, and export PNG, JPG, SVG, or PDF.`},ru:{title:`ÐенеÑаÑÐ¾Ñ Ð¾Ð±Ð»Ð°ÐºÐ° Ñлов онлайн â ÑоздаÑÑ word cloud беÑплаÑно | shapewords`,description:`shapewords â беÑплаÑнÑй генеÑаÑÐ¾Ñ Ð¾Ð±Ð»Ð°ÐºÐ° Ñлов онлайн. СоздавайÑе word cloud из ÑекÑÑа, CSV, Excel и Google Sheets, заполнÑйÑе ÑигÑÑÑ Ñловами и ÑкÑпоÑÑиÑÑйÑе PNG, JPG, SVG или PDF.`},ar:{title:`Ù
ÙØ´Ø¦ Ø³ØØ§Ø¨Ø© اÙÙÙÙ
ات اÙÙ
جاÙ٠عبر Ø§ÙØ¥ÙØªØ±ÙØª | shapewords`,description:`shapewords ÙÙ Ù
ÙØ´Ø¦ Ø³ØØ§Ø¨Ø© ÙÙÙ
ات Ù
جاÙ٠عبر Ø§ÙØ¥ÙØªØ±ÙØª. Ø£ÙØ´Ø¦ Ø³ØØ¨ ÙÙÙ
ات Ù
٠اÙÙØµÙص ÙCSV ÙExcel ÙGoogle SheetsØ ÙØ§Ù
ÙØ£ Ø§ÙØ£Ø´Ùا٠باÙÙÙÙ
Ø§ØªØ Ø«Ù
ØµØ¯ÙØ±Ùا Ø¥ÙÙ PNG Ø£Ù JPG Ø£Ù SVG Ø£Ù PDF.`},es:{title:`Generador de nubes de palabras gratis online | shapewords`,description:`shapewords es un generador de nubes de palabras gratis online. Crea nubes de palabras desde texto, CSV, Excel y Google Sheets, rellena formas con palabras y exporta en PNG, JPG, SVG o PDF.`},fr:{title:`Générateur de nuages de mots gratuit en ligne | shapewords`,description:`shapewords est un générateur de nuages de mots gratuit en ligne. Créez des nuages de mots à partir de texte, CSV, Excel et Google Sheets, remplissez des formes avec des mots et exportez en PNG, JPG, SVG ou PDF.`},zh:{title:`å
è´¹å¨çº¿è¯äºçæå¨ | shapewords`,description:`shapewords æ¯ä¸æ¬¾å
è´¹çå¨çº¿è¯äºçæå¨ãå¯ä»ææ¬ãCSVãExcel å Google Sheets å建è¯äºï¼å°åè¯å¡«å
å°å½¢ç¶ä¸ï¼å¹¶å¯¼åºä¸º PNGãJPGãSVG æ PDFã`}},Ko={en:{title:`Interactive 3D word map of the world | shapewords`,description:`Explore frequent words from the latest Google News RSS results for countries on an interactive 3D globe with daily cached word clusters by map scale.`},ru:{title:`ÐнÑеÑакÑÐ¸Ð²Ð½Ð°Ñ 3D-каÑÑа Ñлов на глобÑÑе | shapewords`,description:`ÐÑÑледÑйÑе ÑаÑÑоÑнÑе Ñлова из поÑледниÑ
Google News RSS по ÑÑÑанам на инÑеÑакÑивном 3D-глобÑÑе Ñ Ð´Ð½ÐµÐ²Ð½Ñм кеÑиÑованием клаÑÑеÑов по маÑÑÑабÑ.`},ar:{title:`Ø®Ø±ÙØ·Ø© ÙÙÙ
ات Ø«ÙØ§Ø«ÙØ© Ø§ÙØ£Ø¨Ø¹Ø§Ø¯ ØªÙØ§Ø¹ÙÙØ© ÙÙØ¹Ø§ÙÙ
| shapewords`,description:`Ø§Ø³ØªÙØ´Ù اÙÙÙÙ
ات Ø§ÙØ£Ùثر ØªÙØ±Ø§Ø±Ùا Ù
٠آخر ÙØªØ§Ø¦Ø¬ Google News RSS ÙÙØ¨Ùدا٠عÙÙ ÙØ±Ø© Ø£Ø±Ø¶ÙØ© Ø«ÙØ§Ø«ÙØ© Ø§ÙØ£Ø¨Ø¹Ø§Ø¯ Ù
ع تخزÙÙ ÙÙÙ
Ù Ù
Ø¤ÙØª.`},es:{title:`Mapa 3D interactivo de palabras del mundo | shapewords`,description:`Explora palabras frecuentes de las últimas noticias de Google News RSS por paÃs en un globo 3D interactivo con caché diaria.`},fr:{title:`Carte mondiale 3D interactive de mots | shapewords`,description:`Explorez les mots fréquents des derniers résultats Google News RSS par pays sur un globe 3D interactif avec cache quotidien.`},zh:{title:`交äºå¼ 3D ä¸çè¯è¯å°å¾ | shapewords`,description:`å¨äº¤äºå¼ 3D å°ç䏿å½å®¶æ¢ç´¢ Google News RSS ææ°ç»æä¸çé«é¢è¯ï¼å¹¶æå¤©ç¼åæ°é»è¯ç°ã`}};function qo(e,t){let n=e.replace(/\/{2,}
14/g,`/`),r=n.split(`/`).filter(Boolean),i=r[0]?.toLowerCase(),a=i&&ce(i)?i:null;if(!a){if(n===`/stat`||n===`/stat/`||n===`/admin`||n===`/admin/`)return{locale:t,page:`stat`,canonicalPath:`/stat`};let e=n.match(/^\/templates(?:\/([^/]+))?\/?$/);if(e){let n=e[1];return{locale:t,page:n?`publishedTemplate`:`templates`,shareId:n,canonicalPath:`/${t}/templates${n?`/${n}`:``}`}}if(n===`/privacy`||n===`/privacy/`)return{locale:t,page:`privacy`,canonicalPath:`/${t}/privacy`};if(n===`/live-word-cloud`||n===`/live-word-cloud/`)return{locale:t,page:`liveLanding`,canonicalPath:`/${t}/live-word-cloud`};if(n===`/live-word-cloud/rooms`||n===`/live-word-cloud/rooms/`)return{locale:t,page:`liveRooms`,canonicalPath:`/${t}/live-word-cloud/rooms`};if(n===`/word-map`||n===`/word-map/`)return{locale:t,page:`wordMap`,canonicalPath:`/${t}/word-map`};let r=n.match(/^\/live\/([A-Za-z0-9_-]{6,64})\/(join|view|workspace)\/?$/);if(r){let e=r[1],n=r[2];return{locale:t,page:n===`join`?`liveJoin`:n===`view`?`liveView`:`liveWorkspace`,liveId:e,canonicalPath:`/${t}/live/${e}/${n}`}}return{locale:t,page:`editor`,canonicalPath:`/${t}/`}}let o=r.slice(1).join(`/`),s=o.match(/^templates(?:\/([^/]+))?\/?$/),c=o.match(/^share\/([A-Za-z0-9_-]{6,64})\/?$/),l=o.match(/^live-word-cloud\/?$/),u=o.match(/^live-word-cloud\/rooms\/?$/),d=o.match(/^word-map\/?$/),f=o.match(/^(?:stat|admin)\/?$/),p=o.match(/^live\/([A-Za-z0-9_-]{6,64})\/(join|view|workspace)\/?$/),m=o.match(/^privacy\/?$/);if(s){let e=s[1];return{locale:a,page:e?`publishedTemplate`:`templates`,shareId:e,canonicalPath:`/${a}/templates${e?`/${e}`:``}`}}if(m)return{locale:a,page:`privacy`,canonicalPath:`/${a}/privacy`};if(c){let e=c[1];return{locale:a,page:`publishedTemplate`,shareId:e,canonicalPath:`/${a}/templates/${e}`}}if(l)return{locale:a,page:`liveLanding`,canonicalPath:`/${a}/live-word-cloud`};if(u)return{locale:a,page:`liveRooms`,canonicalPath:`/${a}/live-word-cloud/rooms`};if(d)return{locale:a,page:`wordMap`,canonicalPath:`/${a}/word-map`};if(f)return{locale:a,page:`stat`,canonicalPath:`/stat`};if(p){let e=p[1],t=p[2];return{locale:a,page:t===`join`?`liveJoin`:t===`view`?`liveView`:`liveWorkspace`,liveId:e,canonicalPath:`/${a}/live/${e}/${t}`}}return{locale:a,page:`editor`,canonicalPath:`/${a}/`}}function Jo(e,t){return e.page===`templates`?`/${t}/templates`:e.page===`privacy`?`/${t}/privacy`:e.page===`publishedTemplate`?`/${t}/templates/${e.shareId}`:e.page===`liveLanding`?`/${t}/live-word-cloud`:e.page===`liveRooms`?`/${t}/live-word-cloud/rooms`:e.page===`wordMap`?`/${t}/word-map`:e.page===`liveJoin`?`/${t}/live/${e.liveId}/join`:e.page===`liveView`?`/${t}/live/${e.liveId}/view`:e.page===`liveWorkspace`?`/${t}/live/${e.liveId}/workspace`:e.page===`stat`?`/stat`:`/${t}/`}function Yo(e){if(e.page===`editor`)return Go[e.locale];if(e.page===`wordMap`)return Ko[e.locale];let t=Go[e.locale];return{title:`${{templates:`Templates`,publishedTemplate:`Public template`,privacy:`Privacy`,liveLanding:`Live word cloud`,liveRooms:`Live rooms`,liveJoin:`Live room`,liveView:`Live room`,liveWorkspace:`Live workspace`,wordMap:`3D word map`,stat:`Stats`}[e.page]} | shapewords`,description:t.description}}function Xo(e,t){switch(e){case`oauth_cancelled`:return t(`account.oauthCancelled`);case`oauth_email_required`:return t(`account.oauthEmailRequired`);case`oauth_email_unverified`:return t(`account.oauthEmailUnverified`);case`oauth_provider_disabled`:return t(`account.oauthProviderDisabled`);case`oauth_state_invalid`:return t(`account.oauthStateInvalid`);default:return t(`account.oauthFailed`)}}function Zo(){let{i18n:e,t}=F(),n=k(e=>e.darkMode),a=k(e=>e.renderMode),o=i(e=>e.user),s=i(e=>e.isAuthLoaded),c=i(e=>e.loadSession),l=i(e=>e.signInWithTelegramMiniApp),u=i(e=>e.isLibraryOpen),d=i(e=>e.setLibraryOpen),f=i(e=>e.setActiveTab),p=i(e=>e.setError),[m,h]=(0,K.useState)(!1),[g,_]=(0,K.useState)(()=>y()),v=g,[b,x]=(0,K.useState)(()=>{let e=qo(window.location.pathname,v);return e.page===`liveWorkspace`?e.liveId??null:null}),S=(0,K.useRef)(null),C=(0,K.useRef)(!1),[w,T]=(0,K.useState)(()=>{let e=window.location.pathname,t=qo(e,v);return e===t.canonicalPath?e:(window.history.replaceState(null,``,t.canonicalPath),t.canonicalPath)}),E=qo(w,g),D=new URLSearchParams(window.location.search).get(`render`)===`1`,O=E.page===`liveWorkspace`?E.liveId??null:b,j=D||E.page===`editor`,M=(0,K.useMemo)(()=>Yo(E),[E]),N=(0,K.useCallback)((e,t=!1)=>{e!==window.location.pathname&&(Oo(qo(e,g)),t?window.history.replaceState(null,``,e):window.history.pushState(null,``,e),T(window.location.pathname))},[g]);(0,K.useEffect)(()=>{c()},[c]),(0,K.useEffect)(()=>{!s||C.current||o||(async()=>
14{if(!ao()&&(!/Telegram/i.test(window.navigator.userAgent)||!await no()))return;let e=ao();if(e){C.current=!0;try{await l(e),ro()}catch{}}})()},[s,o,l]),(0,K.useEffect)(()=>{if(E.page!==`editor`)return;let e=new URLSearchParams(window.location.search),t=e.get(Ja);if(!t||S.current===t)return;S.current=t;let n=Do(t);e.delete(Ja);let i=e.toString();if(window.history.replaceState(null,``,`${window.location.pathname}${i?`?${i}`:``}`),!n)return;let a=k.getState();a.setImportedWords(n.words,n.sourceText),a.setShapeType(`cloud`),n.rotationPreset?a.setRotationPreset(n.rotationPreset):n.rotations&&a.setCustomRotationInput(n.rotations.join(`, `)),a.requestGeneration(),r(`input.imported`,{source:`Chrome Extension`,words:n.words.length,rows:n.words.length,mode:`url_words`,replaceWordsOnly:!0,preserveStyles:!0})},[E.page]),(0,K.useEffect)(()=>{let e=window,t=()=>{$(so),$(fo)};if(typeof e.requestIdleCallback==`function`){let n=e.requestIdleCallback(t,{timeout:2500});return()=>e.cancelIdleCallback?.(n)}let n=window.setTimeout(t,1200);return()=>window.clearTimeout(n)},[]),(0,K.useEffect)(()=>{let e=new URLSearchParams(window.location.search),n=e.get(`account`)===`1`,r=e.get(`auth_error`);if(!n&&!r)return;r&&p(Xo(r,t)),f(`account`),d(!0),e.delete(`account`),e.delete(`auth_error`),e.delete(`auth_provider`);let i=e.toString();window.history.replaceState(null,``,`${window.location.pathname}${i?`?${i}`:``}`)},[p,f,d,t]),(0,K.useEffect)(()=>{let e=()=>{let e=window.location.pathname,t=qo(e,g);e!==t.canonicalPath&&window.history.replaceState(null,``,t.canonicalPath),T(window.location.pathname)};return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[g]),(0,K.useEffect)(()=>{e.language!==E.locale&&e.changeLanguage(E.locale)},[e,E.locale]),(0,K.useEffect)(()=>{document.documentElement.classList.toggle(`dark`,n)},[n]),(0,K.useEffect)(()=>{document.documentElement.lang=E.locale,document.documentElement.dir=e.dir(E.locale)},[e,E.locale]),(0,K.useEffect)(()=>{document.title=M.title;let e=document.querySelector(`meta[name="description"]`);e&&(e.content=M.description)},[M]),(0,K.useEffect)(()=>{if(!D)return;let e=!1;return bo().then(({installRenderAutomation:t})=>{e||t()}).catch(e=>{console.error(`Render automation failed to load`,e)}),()=>{e=!0}},[D]),(0,K.useEffect)(()=>{if(!o||!O||E.page!==`editor`)return;let e=!1,t=null;return(async()=>{let[{getLiveSession:n,openLiveEvents:r},{applyLiveDetailsToWorkspace:i}]=await Promise.all([xo(),So()]);if(e)return;let a=()=>{n(O).then(t=>{e||i(t)}).catch(()=>void 0)};a(),t=r(O,`owner`,a)})().catch(()=>void 0),()=>{e=!0,t?.close()}},[E.page,O,o]);let ee=(0,K.useCallback)(e=>{A(e),_(e),N(Jo(E,e))},[N,E]),te=(0,K.useCallback)(()=>h(!0),[]),P=(0,K.useCallback)(()=>h(!1),[]),I=(0,K.useCallback)(e=>{e&&x(e),$(fo),N(`/${E.locale}/live-word-cloud/rooms`)},[N,E.locale]),ne=(0,K.useCallback)(()=>{$(so),d(!0)},[d]),L=(0,K.useCallback)(()=>N(`/${E.locale}/`),[N,E.locale]);return D?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Uo,{}),(0,q.jsx)(`main`,{className:`flex h-screen min-h-0 min-w-0 overflow-hidden bg-white p-0 dark:bg-slate-950`,children:(0,q.jsx)($i,{presentationMode:!0})})]}):E.page===`liveJoin`&&E.liveId?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(Fo,{locale:E.locale,sessionId:E.liveId,onNavigate:N},E.liveId)}):E.page===`liveView`&&E.liveId?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(Io,{locale:E.locale,sessionId:E.liveId,onNavigate:N},E.liveId)}):E.page===`liveWorkspace`&&E.liveId?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(Lo,{locale:E.locale,sessionId:E.liveId,onNavigate:N,onOpenConsole:()=>I(E.liveId)},E.liveId)}),u&&(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Ho,{}),children:(0,q.jsx)(ko,{onOpenEditor:L})})]}):E.page===`stat`?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(Bo,{locale:E.locale,onNavigate:N})}):(0,q.jsxs)(q.Fragment,{children:[j?(0,q.jsx)(Uo,{}):null,(0,q.jsx)(Wo,{enabled:E.page===`editor`&&!D,locale:E.locale}),(0,q.jsx)(fn,{locale:E.locale,onOpenSidebar:te,onOpenAccount:ne,onPreloadLive:()=>$(po),onPreloadAccount:()=>$(so),onNavigate:N,onSwitchLocale:ee}),E.page===`templates`?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(jo,{locale:E.locale,onNavigate:N})}):E.page===`liveLanding`?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(Po,{locale:E.locale,onNavigate:N})}):E.page===`liveRooms`?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(No,{locale:E.locale,activeLiveRoomId:O,onActiveLiveRoomChange:x,onNavigate:N})}):E.page===`wordMap`?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(zo,{locale:E.locale,onNavigate:N})}
14):E.page===`privacy`?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(Ao,{locale:E.locale,onNavigate:N})}):E.page===`publishedTemplate`&&E.shareId?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Vo,{}),children:(0,q.jsx)(Mo,{locale:E.locale,templateId:E.shareId,onNavigate:N},E.shareId)}):(0,q.jsxs)(`div`,{className:`relative min-h-0 flex-1 overflow-hidden lg:grid lg:grid-cols-[340px_minmax(0,1fr)]`,children:[(0,q.jsx)(Or,{isOpen:m,onClose:P}),(0,q.jsx)(`main`,{className:`flex h-full min-h-0 min-w-0 flex-col overflow-hidden p-2 sm:p-3 lg:p-4`,children:a===`3d`?(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(`div`,{className:`min-h-0 flex-1`}),children:(0,q.jsx)(Ro,{})}):(0,q.jsx)($i,{onOpenSidebar:te})})]}),u&&(0,q.jsx)(K.Suspense,{fallback:(0,q.jsx)(Ho,{}),children:(0,q.jsx)(ko,{onOpenEditor:L})}),(0,q.jsx)(jr,{locale:E.locale,onNavigate:N,onPreloadLiveLanding:()=>$(po)})]})}function Qo(){`serviceWorker`in navigator&&window.addEventListener(`load`,()=>{navigator.serviceWorker.register(`/sw.js`).catch(e=>{})})}Et(),Qo(),(0,Vt.createRoot)(document.getElementById(`root`)).render((0,q.jsx)(K.StrictMode,{children:(0,q.jsx)(Zo,{})})),At();export{en as t};
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.