feat(core,extensions): 구동 에셋 자체 제공 · 자산 실패 폴백 · 운영자 추가 에셋(custom/)

공개 저장소 이슈 gnuboard/g7 (@bigmsg) 제보에서 출발한 작업이다.

브라우저가 화면을 그리려고 제3자 CDN 에 도달해야 하면, 그 도달 실패는 예외도 로그도
남기지 않고 화면 기능만 조용히 사라진다. 폐쇄망·방화벽·광고차단기에서 재현되는데
자체 서버 로그에는 흔적이 없어 운영자가 원인을 특정할 수 없다. 제보된 것은 편집기
하나였지만 같은 구조가 아이콘·글꼴·코드편집기·압축 라이브러리·설치 마법사·개발
대시보드에 똑같이 있었으므로, 번들 확장과 템플릿 전체를 자체 제공으로 옮겼다.
런타임에 외부로 나가는 것은 주소 검색 서비스 하나만 남았다.

자체 제공만으로는 부족하다 — 자기 서버에서 받는 파일도 실패할 수 있고, 종전에는 그
실패가 무음이었다. CSS 경로에 재시도 계층을 세우고(스크립트 경로와 동형), 서버가 HTML
에 직접 심는 externals 까지 실패를 붙잡아 안내 배너와 [다시 시도]로 표면화했다.
편집기·코드편집기는 확보 실패 시 평문 입력으로 내려앉되 저장 계약을 유지한다.

두 번째 축은 운영자가 CSS 를 덧붙일 자리가 없던 문제다(sir.kr 문의). 확장 디렉토리의
custom/ 을 운영자 소유로 정해, 확장 교체가 그 디렉토리만은 보존하게 했다. 출처에
의존하지 않는 서술자로 해석하므로 나중에 다른 출처가 붙어도 소비자는 바뀌지 않는다.
확장 자산과 같은 메커니즘으로 정적 게시되어 CSS 내부 상대 url 도 해석되고, 파일을
고치면 그 변경을 감지해 재게시까지 예약된다.

FTP 접근이 없는 운영자에게는 그 자리도 없는 것과 같으므로 레이아웃 편집기에서 직접
넣고 고칠 수 있게 했다. 모듈·플러그인·템플릿이 한 엔드포인트를 공유한다 — 타입별로
나누면 같은 검증이 세 벌로 갈리고 그중 약한 하나가 우회로가 된다. 여기서 올린
스크립트는 그 레이아웃 한 장이 아니라 사이트 전 화면에서 실행되므로 레이아웃 편집과
분리된 전용 권한으로 연다. 운영자 CSS 가 화면을 조작 불능으로 만들면 그것을 고칠
화면에도 같은 CSS 가 실려 스스로 갇히므로, 서버가 목록을 비우는 탈출구(?custom=off)를
함께 뒀다.

동봉 자산은 재생성 경로에 버전 대조 가드를 붙였다. 선언과 다른 버전을 버전 디렉토리에
써 넣는 조용한 거짓말은 배포된 뒤에는 드러나지 않는다.
This commit is contained in:
HeuJung committed 2026-08-27 16:47:14 +09:00
1 parent 72f2e94c1a
commit 3945b6f1b3
1042 files changed
+107435 -947

No files matched your search

@@ -4,6 +4,19 @@
형식은 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/)를 따르며,
[Semantic Versioning](https://semver.org/lang/ko/)을 준수합니다.
## [1.0.3] - 2026-08-25
### Added
- CKEditor 5 본체·스타일·번역 파일을 플러그인에 함께 담았습니다. 이제 외부 CDN 에 연결하지 않고 사이트 자신의 서버에서 불러오므로, 폐쇄망이나 외부 접속이 제한된 환경에서도 에디터가 동작합니다.
- 에디터를 불러오지 못한 경우 안내와 함께 임시 입력창으로 자동 전환됩니다. 작성한 내용은 그대로 저장되고, 이미 저장된 글을 수정할 때는 기존 본문이 임시 입력창에 그대로 실립니다. [다시 시도] 로 편집기를 되살리면 입력해 둔 내용이 그대로 이어집니다.
### Fixed
- 관리자 화면에서 글을 수정하다 다른 글의 수정 화면으로 곧바로 옮기면 편집기에 이전 글의 본문이 그대로 남아 있던 문제를 고쳤습니다. 그 상태에서 글자를 입력하면 저장 시 본문이 이전 글의 것으로 덮어써질 수 있었습니다.
- 에디터 스타일과 본문 스타일을 불러오지 못했을 때 아무 표시 없이 서식만 깨지던 문제를 고쳤습니다. 이제 다시 시도한 뒤에도 실패하면 화면에 알립니다.
- 번역 파일을 불러오지 못하면 아무 기록 없이 영어로 표시되던 동작에 경고 기록을 남기고, 일시적인 실패는 다시 시도합니다.
## [1.0.2] - 2026-08-19
### Security
+14 -1
View File
@@ -44,4 +44,17 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
## 동봉된 제3자 소프트웨어
이 플러그인은 아래 소프트웨어를 함께 배포합니다. 각 소프트웨어는 원저작자의 라이선스를
그대로 따르며, 위 MIT 라이선스는 이 플러그인 자신의 코드에만 적용됩니다.
| 소프트웨어 | 버전 | 라이선스 | 경로 |
| --- | --- | --- | --- |
| CKEditor 5 | 43.3.1 | GPL-2.0-or-later | `dist/vendor/ckeditor5/43.3.1/` |
원본 라이선스 전문은 `dist/vendor/ckeditor5/43.3.1/LICENSE.md` 에 수정 없이 포함되어
있습니다. 동봉본은 배포처(npm `ckeditor5@43.3.1`)의 파일이며, 참조하는 소스맵 파일을
배포에 포함하지 않으므로 각 파일 끝의 `sourceMappingURL` 주석 한 줄만 제거했습니다.
@@ -1,7 +1,7 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"identifier": "sirsoft-ckeditor5",
"version": "1.0.2",
"version": "1.0.3",
"components": {
"basic": [],
"composite": [],
@@ -2,7 +2,7 @@
"name": "plugins/sirsoft-ckeditor5",
"description": "CKEditor 5 WYSIWYG Editor Plugin for Gnuboard7 platform",
"type": "library",
"version": "1.0.2",
"version": "1.0.3",
"authors": [
{
"name": "sirsoft",
+4 -4
View File
@@ -1,4 +1,4 @@
var SirsoftCkeditor5=function(G){"use strict";const E=new Map,Y="https://cdn.ckeditor.com/ckeditor5/43.3.1/ckeditor5.css",Z="https://cdn.ckeditor.com/ckeditor5/43.3.1/translations",N="ckeditor5-cdn-css",H="ckeditor5-dark-override",D="ckeditor5-tab-style",O={minimal:["bold","italic","underline","|","link","uploadImage","|","undo","redo"],standard:["heading","|","bold","italic","underline","strikethrough","|","alignment","|","link","blockQuote","|","bulletedList","numberedList","indent","outdent","|","insertTable","uploadImage","|","undo","redo"],full:["heading","|","fontSize","fontColor","fontBackgroundColor","|","bold","italic","underline","strikethrough","|","alignment","|","link","blockQuote","insertTable","uploadImage","mediaEmbed","horizontalLine","|","bulletedList","numberedList","indent","outdent","|","codeBlock","sourceEditing","|","undo","redo"]};function R(t){if(t==="en")return Promise.resolve();const o=`ckeditor5-translations-${t}`;return document.getElementById(o)?Promise.resolve():new Promise(e=>{const r=document.createElement("script");r.id=o,r.src=`${Z}/${t}.umd.js`,r.onload=()=>e(),r.onerror=()=>e(),document.head.appendChild(r)})}function K(){if(document.getElementById(N))return;const t=document.createElement("link");t.id=N,t.rel="stylesheet",t.href=Y,document.head.appendChild(t)}function tt(){if(document.getElementById(D))return;const t=document.createElement("style");t.id=D,t.textContent=`
var SirsoftCkeditor5=function(D){"use strict";const E=new Map;let Z=!1;function _t(){return Z}function K(t){Z=t}const O=new Map;function tt(t,o){const e=O.get(t)??[];e.push(o),O.set(t,e)}function et(t){(O.get(t)??[]).forEach(o=>{try{o.stop()}catch{}}),O.delete(t)}const St=400,vt=1e4;function ot(t,o){const{name:e,locale:n,multilingual:r}=o;let l=location.pathname,i=null,s=!1,k=null,c=0;const a=()=>{const u=window.G7Core?.state?.getLocal?.()?.form;if(!u||!e)return;const f=r?u[e]?.[n]:u[e];return typeof f=="string"?f:void 0},b=window.setInterval(()=>{let d;try{d=t.getData()}catch{window.clearInterval(b);return}location.pathname!==l&&(l=location.pathname,i=null,s=!0,c=Date.now(),k=d);const u=a();if(u!==void 0){if(s){if(u===k){Date.now()-c>vt&&(s=!1,k=null);return}if(u!==d){K(!0);try{t.setData(u)}finally{K(!1)}}s=!1,k=null,i=u;return}if(u===i||u===d){i=u;return}}},St);return{shouldEmit:()=>!s,noteEmitted:d=>{i=d},stop:()=>window.clearInterval(b)}}const Et="43.3.1",F="sirsoft-ckeditor5",H=`dist/vendor/ckeditor5/${Et}`,q="ckeditor5-vendor-css";function V(){const t=window?.G7Core?.asset;if(!t||typeof t.plugin!="function")throw new Error("G7Core.asset is unavailable — core 7.0.10 or later is required to resolve bundled CKEditor5 assets");return t}function xt(){return V().plugin(F,`${H}/ckeditor5.umd.js`)}function nt(){return V().plugin(F,`${H}/ckeditor5.css`)}function Lt(t){return V().plugin(F,`${H}/translations/${t}.umd.js`)}const T="data-ckeditor5-fallback",W=new WeakMap;function j(t,o){const e=window.G7Core;if(!e?.state?.setLocal||!t)return;const n={[`form.${t}_mode`]:"text",hasChanges:!0};if(typeof o=="string")n[`form.${t}`]=o;else for(const[r,l]of Object.entries(o))n[`form.${t}.${r}`]=l;e.state.setLocal(n,{render:!1,selfManaged:!0})}function R(t){const{container:o,name:e,height:n,readOnly:r,placeholder:l,multilingual:i}=t;if(o.querySelector(`[${T}]`))return;o.innerHTML="";const s=i?t.locales??[]:[],k=t.activeLocale??s[0]??"",c=i?{...t.contentMap??{}}:{"":t.initialContent??""},a=document.createElement("textarea");a.setAttribute(T,"1"),a.name=e,a.readOnly=r,a.placeholder=l??"",a.style.cssText=["width:100%",`height:${n}px`,"padding:12px","border:1px solid #d1d5db","border-radius:6px","font-family:inherit","font-size:14px","line-height:1.6","resize:vertical","box-sizing:border-box"].join(";");let b=k;if(i){const d=document.createElement("div");d.className="ckeditor5-locale-tabs";const u=()=>{d.querySelectorAll("button").forEach(f=>{const m=f.dataset.locale??"",w=m===b;f.classList.toggle("is-active",w);const S=(c[m]??"").trim()!=="",v=f.querySelector("[data-check]");v&&(v.style.display=S?"":"none")})};s.forEach((f,m)=>{const w=document.createElement("button");w.type="button",w.dataset.locale=f,m===0&&w.classList.add("is-default"),w.textContent=f.toUpperCase();const S=document.createElement("span");S.dataset.check="1",S.textContent="✓",S.style.display="none",w.appendChild(S),w.addEventListener("click",()=>{c[b]=a.value,b=f,a.value=c[f]??"",a.dataset.locale=f,j(e,c),u()}),d.appendChild(w)}),o.appendChild(d),a.dataset.locale=b,a.value=c[b]??"",u(),a.addEventListener("input",()=>{c[b]=a.value,j(e,c),u()})}else a.value=c[""]??"",a.addEventListener("input",()=>{c[""]=a.value,j(e,a.value)});o.appendChild(a),W.set(o,{multilingual:i,values:c,activeLocale:b}),j(e,i?c:c[""]??"")}function $t(t){const o=W.get(t);if(!o)return null;const e=t.querySelector(`textarea[${T}]`);return e&&(o.values[o.multilingual?e.dataset.locale??o.activeLocale:""]=e.value),o.multilingual?{...o.values}:o.values[""]??""}function It(t){return t.querySelector(`[${T}]`)?(t.innerHTML="",W.delete(t),!0):!1}const rt="ckeditor5-dark-override",lt="ckeditor5-tab-style",ct={minimal:["bold","italic","underline","|","link","uploadImage","|","undo","redo"],standard:["heading","|","bold","italic","underline","strikethrough","|","alignment","|","link","blockQuote","|","bulletedList","numberedList","indent","outdent","|","insertTable","uploadImage","|","undo","redo"],full:["heading","|","fontSize","fontColor","fontBackgroundColor","|","bold","italic","underline","strikethrough","|","alignment","|","link","blockQuote","insertTable","uploadImage","mediaEmbed","horizontalLine","|","bulletedList","numberedList","indent","outdent","|","codeBlock","sourceEditing","|","undo","redo"]};function Gt(t){if(t==="en")return Promise.resolve();const o=`ckeditor5-translations-${t}`;if(document.getElementById(o))return Promise.resolve();const e=window?.G7Core?.asset?.loadScript;return new Promise(n=>{let r;try{r=Lt(t)}catch(i){console.warn("[ckeditor5] 번역 URL 을 만들지 못했습니다 (영어로 동작):",i),n();return}if(typeof e=="function"){e(r,{id:o},{label:`ckeditor5 translations: ${t}`,retries:1}).catch(i=>{console.warn(`[ckeditor5] 번역 로드 실패 (${t}) — 영어로 동작합니다:`,i)}).then(()=>n());return}const l=document.createElement("script");l.id=o,l.src=r,l.onload=()=>n(),l.onerror=()=>{console.warn(`[ckeditor5] 번역 로드 실패 (${t}) — 영어 Line truncated
/* 다국어 탭 컨테이너 */
.ckeditor5-locale-tabs {
display: flex;
@@ -149,7 +149,7 @@ var SirsoftCkeditor5=function(G){"use strict";const E=new Map,Y="https://cdn.cke
list-style-type: lower-roman;
padding-left: 2em;
}
`,document.head.appendChild(t)}function et(){return document.documentElement.classList.contains("dark")}function q(){const t=document.getElementById(H);if(!et()){t&&t.remove();return}if(t)return;const o=document.createElement("style");o.id=H,o.textContent=`
`,document.head.appendChild(t)}function zt(){return document.documentElement.classList.contains("dark")}function st(){const t=document.getElementById(rt);if(!zt()){t&&t.remove();return}if(t)return;const o=document.createElement("style");o.id=rt,o.textContent=`
/* CKEditor5 다크 모드 오버라이드 - CSS 변수 전역 적용 */
:root {
--ck-color-base-foreground: #1f2937;
@@ -332,7 +332,7 @@ var SirsoftCkeditor5=function(G){"use strict";const E=new Map,Y="https://cdn.cke
.ck.ck-editor__editable li::marker {
color: #d1d5db;
}
`,document.head.appendChild(o)}let x=null;function ot(){x||(x=new MutationObserver(()=>{q()}),x.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}))}function nt(){x&&(x.disconnect(),x=null)}const rt={ko:"한국어",en:"English",ja:"日本語",zh:"中文",fr:"Français",de:"Deutsch",es:"Español"};function ct(t){return rt[t]??t.toUpperCase()}function lt(){const t=window.G7Core;return t?.locale?.supported?t.locale.supported():[localStorage.getItem("g7_locale")||"ko"]}function I(){return window.G7Core?.locale?.current?.()??localStorage.getItem("g7_locale")??"ko"}function at(t,o,e){const r=[t.Essentials,t.Bold,t.Italic,t.Underline,t.Strikethrough,t.Link,t.Paragraph,t.Heading,t.BlockQuote,t.List,t.Alignment,t.Table,t.TableToolbar,t.TableProperties,t.TableCellProperties,t.Indent,t.IndentBlock,t.PasteFromOffice,t.GeneralHtmlSupport,t.Image,t.ImageResize,t.ImageStyle,t.ImageCaption,t.ImageToolbar];return o==="full"&&r.push(t.MediaEmbed,t.HorizontalLine,t.CodeBlock,t.SourceEditing,t.FontSize,t.FontColor,t.FontBackgroundColor),e&&r.push(t.ImageUpload,t.SimpleUploadAdapter),r}function it(){return"/api/plugins/sirsoft-ckeditor5/upload"}function dt(){const t=localStorage.getItem("auth_token");return t?{Authorization:`Bearer ${t}`}:{}}async function F(t,o){const e=window.CKEDITOR;if(!e)throw new Error("[sirsoft-ckeditor5] CKEDITOR 전역 객체를 찾을 수 없습니다. CDN 스크립트가 로드되었는지 확인하세요.");const r=O[o.toolbar]||O.standard,c=o.imageUpload?r:r.filter(n=>n!=="uploadImage"),l={initialData:o.initialContent,plugins:at(e,o.toolbar,o.imageUpload),toolbar:{items:c},table:{contentToolbar:["tableColumn","tableRow","mergeTableCells","|","tableProperties","tableCellProperties"],tableProperties:{defaultProperties:{borderStyle:"solid",borderColor:"#d1d5db",borderWidth:"1px",alignment:"left"}},tableCellProperties:{defaultProperties:{borderStyle:"solid",borderColor:"#d1d5db",borderWidth:"1px",padding:"8px"}}},image:{toolbar:["imageStyle:inline","imageStyle:alignLeft","imageStyle:alignCenter","imageStyle:alignRight","|","toggleImageCaption","|","resizeImage"],resizeOptions:[{name:"resizeImage:original",label:"Original",value:null},{name:"resizeImage:25",label:"25%",value:"25"},{name:"resizeImage:50",label:"50%",value:"50"},{name:"resizeImage:75",label:"75%",value:"75"}],resizeUnit:"%"},indentBlock:{offset:40,unit:"px"},link:{defaultProtocol:"https://",decorators:{openInNewTab:{mode:"automatic",callback:n=>n.startsWith("http://")||n.startsWith("https://"),attributes:{target:"_blank",rel:"noopener noreferrer"}}}},htmlSupport:{allow:[{name:/.*/,attributes:!0,classes:!0,styles:!0}]},placeholder:o.placeholder,language:I()};o.imageUpload&&(l.simpleUpload={uploadUrl:it(),headers:dt()});const i=await e.ClassicEditor.create(t,l),s=`ckeditor5-height-style-${o.containerId}`,m=document.getElementById(s);if(m)m.textContent=`#${o.containerId} .ck-editor__editable { min-height: ${o.height}px !important; }`;else{const n=document.createElement("style");n.id=s,n.textContent=`#${o.containerId} .ck-editor__editable { min-height: ${o.height}px !important; }`,document.head.appendChild(n)}return o.readOnly&&i.enableReadOnlyMode("read-only"),i}function st(t,o,e,r,c){const l=document.createElement("div");l.className="ckeditor5-locale-tabs";const i=new Map;o.forEach(n=>{const a=document.createElement("div");a.dataset.locale=n,n!==e&&(a.style.cssText="display:none;");const C=document.createElement("div");a.appendChild(C),i.set(n,C)});const s=()=>{c&&l.querySelectorAll("button").forEach(n=>{const a=n.dataset.locale;if(!a||n.classList.contains("is-active")){const h=n.querySelector(".ck5-check");h&&h.remove();return}const g=!!c(a)?.trim(),p=n.querySelector(".ck5-check");if(g&&!p){const h=document.createElement("i");h.className="fas fa-check ck5-check",n.appendChild(h)}else!g&&p&&p.remove()})},m=o[0];return o.forEach(n=>{const a=n===m,C=n===e,g=document.createElement("button");g.type="button",g.dataset.locale=n,g.className=[C?"is-active":"",a?"is-default":""].filter(Boolean).join(" "),g.innerHTML=`<i class="fas fa-globe ck5-lang-icon"></i><span>${ct(n)}</span>${a?'<span class="ck5-required">*</span>':""}`,g.addEventListener("click",async()=>{l.querySelectorAll("button").forEach(p=>{const L=p.dataset.locale===n;p.classList.toggle("is-active",L)}),i.forEach((p,h)=>{const L=p.parentElement;L&&(L.style.display=h===n?"block":"none")}),r&&await r(n),s()}),l.appendChild(g)}),t.appendChild(l),i.forEach(n=>{n.parentElement&&t.appendChild(n.parentElement)}),{tabsEl:l,contentEls:i,updateCheckIcons:s}}function T(t,o,e,r){const c=window.G7Core;if(!c?.state?.setLocal)return;const l={[`form.${t}_mode`]:"html",hasChanges:!0};r?l[`form.${t}.${o}`]=e:l[`form.${t}`]=e,c.state.setLocal(l,{debounce:300,debounceKey:`ckeditor-sync-${t}`,render:!1,selfManaged:!0})}async function ut(t,o){const e=t.params??{},c=`ckeditor5-${e.name??"content"}`,l=E.get(c);if(l&&l.size>0){const y=[];l.forEach(u=>{u&&typeof u.destroy=="function"&Line truncated
`,document.head.appendChild(o)}let I=null;function Ut(){I||(I=new MutationObserver(()=>{st()}),I.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}))}function At(){I&&(I.disconnect(),I=null)}const Pt={ko:"한국어",en:"English",ja:"日本語",zh:"中文",fr:"Français",de:"Deutsch",es:"Español"};function Bt(t){return Pt[t]??t.toUpperCase()}function dt(){const t=window.G7Core;return t?.locale?.supported?t.locale.supported():[localStorage.getItem("g7_locale")||"ko"]}function L(){return window.G7Core?.locale?.current?.()??localStorage.getItem("g7_locale")??"ko"}function Ot(t,o,e){const n=[t.Essentials,t.Bold,t.Italic,t.Underline,t.Strikethrough,t.Link,t.Paragraph,t.Heading,t.BlockQuote,t.List,t.Alignment,t.Table,t.TableToolbar,t.TableProperties,t.TableCellProperties,t.Indent,t.IndentBlock,t.PasteFromOffice,t.GeneralHtmlSupport,t.Image,t.ImageResize,t.ImageStyle,t.ImageCaption,t.ImageToolbar];return o==="full"&&n.push(t.MediaEmbed,t.HorizontalLine,t.CodeBlock,t.SourceEditing,t.FontSize,t.FontColor,t.FontBackgroundColor),e&&n.push(t.ImageUpload,t.SimpleUploadAdapter),n}function Tt(){return"/api/plugins/sirsoft-ckeditor5/upload"}function jt(){const t=localStorage.getItem("auth_token");return t?{Authorization:`Bearer ${t}`}:{}}async function ut(t,o){const e=window.CKEDITOR;if(!e)throw new Error("[sirsoft-ckeditor5] CKEDITOR 전역 객체를 찾을 수 없습니다. CDN 스크립트가 로드되었는지 확인하세요.");const n=ct[o.toolbar]||ct.standard,r=o.imageUpload?n:n.filter(c=>c!=="uploadImage"),l={initialData:o.initialContent,plugins:Ot(e,o.toolbar,o.imageUpload),toolbar:{items:r},table:{contentToolbar:["tableColumn","tableRow","mergeTableCells","|","tableProperties","tableCellProperties"],tableProperties:{defaultProperties:{borderStyle:"solid",borderColor:"#d1d5db",borderWidth:"1px",alignment:"left"}},tableCellProperties:{defaultProperties:{borderStyle:"solid",borderColor:"#d1d5db",borderWidth:"1px",padding:"8px"}}},image:{toolbar:["imageStyle:inline","imageStyle:alignLeft","imageStyle:alignCenter","imageStyle:alignRight","|","toggleImageCaption","|","resizeImage"],resizeOptions:[{name:"resizeImage:original",label:"Original",value:null},{name:"resizeImage:25",label:"25%",value:"25"},{name:"resizeImage:50",label:"50%",value:"50"},{name:"resizeImage:75",label:"75%",value:"75"}],resizeUnit:"%"},indentBlock:{offset:40,unit:"px"},link:{defaultProtocol:"https://",decorators:{openInNewTab:{mode:"automatic",callback:c=>c.startsWith("http://")||c.startsWith("https://"),attributes:{target:"_blank",rel:"noopener noreferrer"}}}},htmlSupport:{allow:[{name:/.*/,attributes:!0,classes:!0,styles:!0}]},placeholder:o.placeholder,language:L()};o.imageUpload&&(l.simpleUpload={uploadUrl:Tt(),headers:jt()});const i=await e.ClassicEditor.create(t,l),s=`ckeditor5-height-style-${o.containerId}`,k=document.getElementById(s);if(k)k.textContent=`#${o.containerId} .ck-editor__editable { min-height: ${o.height}px !important; }`;else{const c=document.createElement("style");c.id=s,c.textContent=`#${o.containerId} .ck-editor__editable { min-height: ${o.height}px !important; }`,document.head.appendChild(c)}return o.readOnly&&i.enableReadOnlyMode("read-only"),i}function Nt(t,o,e,n,r){const l=document.createElement("div");l.className="ckeditor5-locale-tabs";const i=new Map;o.forEach(c=>{const a=document.createElement("div");a.dataset.locale=c,c!==e&&(a.style.cssText="display:none;");const b=document.createElement("div");a.appendChild(b),i.set(c,b)});const s=()=>{r&&l.querySelectorAll("button").forEach(c=>{const a=c.dataset.locale;if(!a||c.classList.contains("is-active")){const f=c.querySelector(".ck5-check");f&&f.remove();return}const d=!!r(a)?.trim(),u=c.querySelector(".ck5-check");if(d&&!u){const f=document.createElement("i");f.className="fas fa-check ck5-check",c.appendChild(f)}else!d&&u&&u.remove()})},k=o[0];return o.forEach(c=>{const a=c===k,b=c===e,d=document.createElement("button");d.type="button",d.dataset.locale=c,d.className=[b?"is-active":"",a?"is-default":""].filter(Boolean).join(" "),d.innerHTML=`<i class="fas fa-globe ck5-lang-icon"></i><span>${Bt(c)}</span>${a?'<span class="ck5-required">*</span>':""}`,d.addEventListener("click",async()=>{l.querySelectorAll("button").forEach(u=>{const m=u.dataset.locale===c;u.classList.toggle("is-active",m)}),i.forEach((u,f)=>{const m=u.parentElement;m&&(m.style.display=f===c?"block":"none")}),n&&await n(c),s()}),l.appendChild(d)}),t.appendChild(l),i.forEach(c=>{c.parentElement&&t.appendChild(c.parentElement)}),{tabsEl:l,contentEls:i,updateCheckIcons:s}}function ft(t,o,e,n){if(_t())return;const r=window.G7Core;if(!r?.state?.setLocal)return;const l={[`form.${t}_mode`]:"html",hasChanges:!0};n?l[`form.${t}.${o}`]=e:l[`form.${t}`]=e,r.state.setLocal(l,{debounce:300,debounceKey:`ckeditor-sync-${t}`,render:!1,selfManaged:!0})}function kt(t,o){const e=window.G7Core,n=typeof t.content=="string"?t.content:"";let l=n.startsWith("{{")&&n.endsWith("}}")?"":n;if(!l&&o){consLine truncated
/* 이미지 캡션 - 다크모드 */
html.dark .ck-content .image > figcaption { color: hsl(0, 0%, 80%); background-color: hsl(0, 0%, 15%); }
@@ -369,4 +369,4 @@ var SirsoftCkeditor5=function(G){"use strict";const E=new Map,Y="https://cdn.cke
.ck-content ul ul ul { list-style-type: square; padding-left: 2em; }
.ck-content ol ol { list-style-type: lower-alpha; padding-left: 2em; }
.ck-content ol ol ol { list-style-type: lower-roman; padding-left: 2em; }
`,document.head.appendChild(t)}}const v={initEditor:ut,destroyEditor:ft,injectContentCss:bt},z=window.G7Core?.createLogger?.(`Plugin:${b}`)??{log:(...t)=>console.log(`[Plugin:${b}]`,...t),warn:(...t)=>console.warn(`[Plugin:${b}]`,...t),error:(...t)=>console.error(`[Plugin:${b}]`,...t)};function Q(t=!1){const o=window.G7Core?.getActionDispatcher?.();if(o)Object.entries(v).forEach(([e,r])=>{const c=`${b}.${e}`;o.registerHandler(c,r,{category:"plugin",source:b})}),z.log(`${Object.keys(v).length} handler(s) registered:`,Object.keys(v).map(e=>`${b}.${e}`));else if(t){let e=0;const r=50,c=()=>{const l=window.G7Core?.getActionDispatcher?.();l?(Object.entries(v).forEach(([i,s])=>{const m=`${b}.${i}`;l.registerHandler(m,s,{category:"plugin",source:b})}),z.log(`${Object.keys(v).length} handler(s) registered:`,Object.keys(v).map(i=>`${b}.${i}`))):(e++,e<=r?(z.warn(`ActionDispatcher not found, retrying... (${e}/${r})`),setTimeout(c,100)):z.error("Failed to register handlers: ActionDispatcher not available after maximum retries"))};c()}else z.warn("ActionDispatcher not found, handlers not registered")}function j(){if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>Q(!0));else{const t=!!window.G7Core?.getActionDispatcher?.();Q(!t)}}return j(),typeof window<"u"&&(window.__SirsoftCkeditor5={identifier:b,handlers:Object.keys(v),initPlugin:j}),G.initPlugin=j,Object.defineProperty(G,Symbol.toStringTag,{value:"Module"}),G}({});
`,document.head.appendChild(t)}}const $={initEditor:mt,destroyEditor:Dt,injectContentCss:pt},U=window.G7Core?.createLogger?.(`Plugin:${y}`)??{log:(...t)=>console.log(`[Plugin:${y}]`,...t),warn:(...t)=>console.warn(`[Plugin:${y}]`,...t),error:(...t)=>console.error(`[Plugin:${y}]`,...t)};function ht(t=!1){const o=window.G7Core?.getActionDispatcher?.();if(o)Object.entries($).forEach(([e,n])=>{const r=`${y}.${e}`;o.registerHandler(r,n,{category:"plugin",source:y})}),U.log(`${Object.keys($).length} handler(s) registered:`,Object.keys($).map(e=>`${y}.${e}`));else if(t){let e=0;const n=50,r=()=>{const l=window.G7Core?.getActionDispatcher?.();l?(Object.entries($).forEach(([i,s])=>{const k=`${y}.${i}`;l.registerHandler(k,s,{category:"plugin",source:y})}),U.log(`${Object.keys($).length} handler(s) registered:`,Object.keys($).map(i=>`${y}.${i}`))):(e++,e<=n?(U.warn(`ActionDispatcher not found, retrying... (${e}/${n})`),setTimeout(r,100)):U.error("Failed to register handlers: ActionDispatcher not available after maximum retries"))};r()}else U.warn("ActionDispatcher not found, handlers not registered")}function X(){if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>ht(!0));else{const t=!!window.G7Core?.getActionDispatcher?.();ht(!t)}}return X(),typeof window<"u"&&(window.__SirsoftCkeditor5={identifier:y,handlers:Object.keys($),initPlugin:X}),D.initPlugin=X,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"}),D}({});
@@ -0,0 +1,28 @@
Software License Agreement
==========================
**CKEditor&nbsp;5** – https://github.com/ckeditor/ckeditor5 <br>
Copyright (c) 2003–2024, [CKSource Holding sp. z o.o.](https://cksource.com) All rights reserved.
Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).
Sources of Intellectual Property Included in CKEditor
-----------------------------------------------------
Where not otherwise indicated, all CKEditor content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, CKEditor will incorporate work done by developers outside of CKSource with their express permission.
The following libraries are included in CKEditor under the [MIT license](https://opensource.org/licenses/MIT):
* BlurHash - Copyright (c) 2018 Wolt Enterprises (MIT license).
* color-convert - Copyright (c) 2011–2016 Heather Arthur <fayearthur@gmail.com>, copyright (c) 2016–2021 Josh Junon <josh@junon.me>.
* color-parse - Copyright (c) 2015 Dmitry Ivanov.
* Lodash - Copyright (c) JS Foundation and other contributors https://js.foundation/. Based on Underscore.js, copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors http://underscorejs.org/.
* Marked - Copyright (c) 2018+, MarkedJS (https://github.com/markedjs/), copyright (c) 2011–2018, Christopher Jeffrey (https://github.com/chjj/).
* Turndown - Copyright (c) 2017+ Dom Christie.
* turndown-plugin-gfm - Copyright (c) 2017+ Dom Christie.
* vanilla-colorful - Copyright (c) 2020 Serhii Kulykov <iamkulykov@gmail.com>.
Trademarks
----------
**CKEditor** is a trademark of [CKSource Holding sp. z o.o.](https://cksource.com) All other brand and product names are trademarks, registered trademarks or service marks of their respective holders.
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,583 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.CKEDITOR = {}));
})(this, (function (exports) { 'use strict';
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
function e(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(i){if("default"!==i&&!(i in e)){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}});}}));})),Object.freeze(e)}let t;try{t={window:window,document:document};}catch(e){t={window:{},document:{}};}var i=t;function n(){try{return navigator.userAgent.toLowerCase()}catch(e){return ""}}const s=n(),o={isMac:r(s),isWindows:a(s),isGecko:l(s),isSafari:c(s),isiOS:d(s),isAndroid:u(s),isBlink:h(s),get isMediaForcedColors(){return !!i.window.matchMedia&&i.window.matchMedia("(forced-colors: active)").matches},get isMotionReduced(){return !!i.window.matchMedia&&i.window.matchMedia("(prefers-reduced-motion)").matches},features:{isRegExpUnicodePropertySupported:m()}};function r(e){return e.indexOf("macintosh")>-1}function a(e){return e.indexOf("windows")>-1}function l(e){return !!e.match(/gecko\/\d+/)}function c(e){return e.indexOf(" applewebkit/")>-1&&-1===e.indexOf("chrome")}function d(e){return !!e.match(/iphone|ipad/i)||r(e)&&navigator.maxTouchPoints>0}function u(e){return e.indexOf("android")>-1}function h(e){return e.indexOf("chrome/")>-1&&e.indexOf("edge/")<0}function m(){let e=!1;try{e=0==="ć".search(new RegExp("[\\p{L}]","u"));}catch(e){}return e}function g(e,t,i,n){i=i||function(e,t){return e===t};const s=Array.isArray(e)?e:Array.prototype.slice.call(e),o=Array.isArray(t)?t:Array.prototype.slice.call(t),r=function(e,t,i){const n=f(e,t,i);if(-1===n)return {firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const s=p(e,n),o=p(t,n),r=f(s,o,i),a=e.length-r,l=t.length-r;return {firstIndex:n,lastIndexOld:a,lastIndexNew:l}}(s,o,i),a=n?function(e,t){const{firstIndex:i,lastIndexOld:n,lastIndexNew:s}=e;if(-1===i)return Array(t).fill("equal");let o=[];i>0&&(o=o.concat(Array(i).fill("equal")));s-i>0&&(o=o.concat(Array(s-i).fill("insert")));n-i>0&&(o=o.concat(Array(n-i).fill("delete")));s<t&&(o=o.concat(Array(t-s).fill("equal")));return o}(r,o.length):function(e,t){const i=[],{firstIndex:n,lastIndexOld:s,lastIndexNew:o}=t;o-n>0&&i.push({index:n,type:"insert",values:e.slice(n,o)});s-n>0&&i.push({index:n+(o-n),type:"delete",howMany:s-n});return i}(o,r);return a}function f(e,t,i){for(let n=0;n<Math.max(e.length,t.length);n++)if(void 0===e[n]||void 0===t[n]||!i(e[n],t[n]))return n;return -1}function p(e,t){return e.slice(t).reverse()}function b(e,t,i){i=i||function(e,t){return e===t};const n=e.length,s=t.length;if(n>200||s>200||n+s>300)return b.fastDiff(e,t,i,!0);let o,r;if(s<n){const i=e;e=t,t=i,o="delete",r="insert";}else o="insert",r="delete";const a=e.length,l=t.length,c=l-a,d={},u={};function h(n){const s=(void 0!==u[n-1]?u[n-1]:-1)+1,c=void 0!==u[n+1]?u[n+1]:-1,h=s>c?-1:1;d[n+h]&&(d[n]=d[n+h].slice(0)),d[n]||(d[n]=[]),d[n].push(s>c?o:r);let m=Math.max(s,c),g=m-n;for(;g<a&&m<l&&i(e[g],t[m]);)g++,m++,d[n].push("equal");return m}let m,g=0;do{for(m=-g;m<c;m++)u[m]=h(m);for(m=c+g;m>c;m--)u[m]=h(m);u[c]=h(c),g++;}while(u[c]!==l);return d[c].slice(1)}function w(e,t){const i=[];let n=0,s=null;return e.forEach((e=>{"equal"==e?(o(),n++):"insert"==e?(s&&"insert"==s.type?s.values.push(t[n]):(o(),s={type:"insert",index:n,values:[t[n]]}),n++):s&&"delete"==s.type?s.howMany++:(o(),s={type:"delete",index:n,howMany:1});})),o(),i;function o(){s&&(i.push(s),s=null);}}function _(e,...t){t.forEach((t=>{const i=Object.getOwnPropertyNames(t),n=Object.getOwnPropertySymbols(t);i.concat(n).forEach((i=>{if(i in e.prototype)return;if("function"==typeof t&&("length"==i||"name"==i||"prototype"==i))return;const n=Object.getOwnPropertyDescriptor(t,i);n.enumerable=!1,Object.defineProperty(e.prototype,i,n);}));}));}b.fastDiff=g;class v{source;name;path;stop;off;return;constructor(e,t){this.source=e,this.name=t,this.path=[],this.stop=function e(){e.called=!0;},this.off=function e(){e.called=!0;};}}const y=new Array(256).fill("").map(((e,t)=>("0"+t.toString(16)).slice(-2)));function k(){const[e,t,i,n]=crypto.getRandomValues(new Uint32Array(4));return "e"+y[255&e]+y[e>>8&255]+y[e>>16&255]+y[e>>24&255]+y[255&t]+y[t>>8&255]+y[t>>16&255]+y[t>>24&255]+y[255&i]+y[i>>8&255]+y[i>>16&255]+y[i>>24&255]+y[255&n]+y[n>>8&255]+y[n>>16&255]+y[n>>24&255]}const C={get(e="normal"){return "number"!=typeof e?this[e]||this.normal:e},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};function x(e,t){const i=C.get(t.priority);for(let n=0;n<e.length;n++)if(C.get(e[n].priority)<i)return void e.splice(n,0,t);e.push(t);}class A extends Error{context;data;constructor(e,t,i){super(function(e,t){const i=new WeakSet,n=(e,t)=>{if("object"==typeof t&&null!==t){if(i.has(t))return `[object ${t.constructor.name}]`;i.add(t);}return t},s=t?` ${JSON.stringify(t,n)}`:"",o=P(e);return e+s+o}(e,i)),this.name="CKEditorError",this.context=t,this.data=i;}is(e){return "CKEditorError"===e}static rethrowUnexpectedError(e,t){if(e.is&&e.is("CKEditorError"))throw e;const i=new A(e.message,t);throw i.stack=e.stack,i}}function ELine truncated
exports.AccessibilityHelp = Fg;
exports.AdjacentListsSupport = AI;
exports.Alignment = fw;
exports.AlignmentEditing = Dm;
exports.AlignmentUI = gw;
exports.AttributeCommand = r_;
exports.AttributeElement = Ma;
exports.AttributeOperation = Dd;
exports.AutoImage = FA;
exports.AutoLink = WT;
exports.AutoMediaEmbed = wR;
exports.AutocompleteView = Kb;
exports.Autoformat = n_;
exports.Autosave = o_;
exports.BalloonEditor = Ik;
exports.BalloonPanelView = Df;
exports.BalloonToolbar = ew;
exports.Base64UploadAdapter = xm;
exports.BlockQuote = ov;
exports.BlockQuoteEditing = nv;
exports.BlockQuoteUI = sv;
exports.BlockToolbar = sw;
exports.BodyCollection = Ng;
exports.Bold = h_;
exports.BoldEditing = l_;
exports.BoldUI = u_;
exports.BoxedEditorUIView = Vb;
exports.BubblingEventInfo = Ta;
exports.ButtonLabelView = fg;
exports.ButtonLabelWithHighlightView = Jb;
exports.ButtonView = pg;
exports.CKBox = Rv;
exports.CKBoxEditing = Tv;
exports.CKBoxImageEdit = Fv;
exports.CKBoxImageEditEditing = Mv;
exports.CKBoxImageEditUI = Lv;
exports.CKBoxUI = rv;
exports.CKEditorError = A;
exports.CKFinder = $v;
exports.CKFinderEditing = Hv;
exports.CKFinderUI = Nv;
exports.CKFinderUploadAdapter = Vm;
exports.ClassicEditor = Bk;
exports.ClickObserver = Uu;
exports.Clipboard = Qy;
exports.ClipboardMarkersUtils = Zv;
exports.ClipboardPipeline = Jv;
exports.CloudServices = ok;
exports.CloudServicesCore = sk;
exports.CloudServicesUploadAdapter = Ak;
exports.Code = b_;
exports.CodeBlock = xk;
exports.CodeBlockEditing = vk;
exports.CodeBlockUI = Ck;
exports.CodeEditing = g_;
exports.CodeUI = p_;
exports.CollapsibleView = jg;
exports.Collection = br;
exports.ColorGridView = Jg;
exports.ColorPickerView = Hp;
exports.ColorSelectorView = Jp;
exports.ColorTileView = Zg;
exports.Command = Hr;
exports.ComponentFactory = Qp;
exports.Config = ao;
exports.Context = jr;
exports.ContextPlugin = qr;
exports.ContextWatchdog = rm;
exports.ContextualBalloon = Db;
exports.Conversion = kd;
exports.CssTransitionDisablerMixin = ug;
exports.DataApiMixin = pm;
exports.DataController = yd;
exports.DataFilter = sA;
exports.DataSchema = nA;
exports.DataTransfer = Ml;
exports.DecoupledEditor = Nk;
exports.DefaultMenuBarItems = fb;
exports.Delete = Rw;
exports.Dialog = Sg;
exports.DialogView = Pg;
exports.DialogViewPosition = Eg;
exports.DocumentFragment = yu;
exports.DocumentList = TI;
exports.DocumentListProperties = PI;
exports.DocumentSelection = _c;
exports.DomConverter = yl;
exports.DomEmitterMixin = go;
exports.DomEventData = El;
exports.DomEventObserver = Tl;
exports.DomWrapperView = OR;
exports.DowncastWriter = qa;
exports.DragDrop = qy;
exports.DragDropBlockToolbar = jy;
exports.DragDropTarget = Dy;
exports.DropdownButtonView = Af;
exports.DropdownMenuListItemButtonView = Ef;
exports.DropdownMenuListItemView = Bf;
exports.DropdownMenuListView = Rf;
exports.DropdownMenuNestedMenuView = $f;
exports.DropdownMenuPanelPositioningFunctions = Of;
exports.DropdownMenuRootListView = Uf;
exports.DropdownPanelView = Cf;
exports.DropdownView = xf;
exports.EasyImage = Tk;
exports.EditingController = Xc;
exports.EditingView = zl;
exports.Editor = gm;
exports.EditorUI = Pb;
exports.EditorUIView = Ib;
exports.EditorWatchdog = nm;
exports.Element = ql;
exports.ElementApiMixin = bm;
exports.ElementReplacer = to;
exports.EmitterMixin = L;
exports.Enter = K_;
exports.Essentials = cC;
exports.EventInfo = v;
exports.FileDialogButtonView = zg;
exports.FileDialogListItemButtonView = Hg;
exports.FileRepository = km;
exports.FindAndReplace = CC;
exports.FindAndReplaceEditing = kC;
exports.FindAndReplaceUI = hC;
exports.FindAndReplaceUtils = vC;
exports.FindCommand = mC;
exports.FindNextCommand = bC;
exports.FindPreviousCommand = wC;
exports.FocusCycler = _g;
exports.FocusObserver = Rl;
exports.FocusTracker = _r;
exports.Font = sx;
exports.FontBackgroundColor = nx;
exports.FontBackgroundColorEditing = tx;
exports.FontBackgroundColorUI = ix;
exports.FontColor = XC;
exports.FontColorEditing = JC;
exports.FontColorUI = YC;
exports.FontFamily = DC;
exports.FontFamilyEditing = LC;
exports.FontFamilyUI = NC;
exports.FontSize = KC;
exports.FontSizeEditing = jC;
exports.FontSizeUI = GC;
exports.FormHeaderView = wg;
exports.FullPage = TA;
exports.GeneralHtmlSupport = CA;
exports.Heading = px;
exports.HeadingButtonsUI = wx;
exports.HeadingEditing = mx;
exports.HeadingUI = fx;
exports.Highlight = Rx;
exports.HighlightEditing = Sx;
exports.HighlightUI = Ix;
exports.HighlightedTextView = Zb;
exports.History = mu;
exports.HorizontalLine = Lx;
exports.HorizontalLineEditing = Bx;
exports.HorizontalLineUI = Mx;
exports.HtmlComment = AA;
exports.HtmlDataProcessor = vd;
exports.HtmlEmbed = $x;
exports.HtmlEmbedEditing = Dx;
exports.HtmlEmbedUI = Hx;
exports.HtmlPageDataProcessor = EA;
exports.IconView = gg;
exports.IframeView = Bb;
exports.Image = oE;
exports.ImageBlock = iE;
exports.ImageBlockEditing = XA;
exports.ImageCaption = dE;
exports.ImageCaptionEditing = lE;
exports.ImageCaptionUI = cE;
exports.ImageCaptionUtils = rE;
exports.ImageCustomResizeUI = $E;
exports.ImageEditing = ZA;
exports.ImageInline = sE;
exports.ImageInsert = PE;
exports.ImageInsertUI = tE;
exports.ImageInsertViaUrl = TE;
exports.ImageResize = UE;
exports.ImageResizeButtons = RE;
exports.ImageResizeEditing = IE;
exports.ImageResizeHandles = FE;
exports.ImageSizeAttributes = JA;
exports.ImageStyle = iT;
exports.ImageStyleEditing = QE;
exports.ImageStyleUI = YE;
exports.ImageTextAlternative = UA;
exports.ImageTextAlternativeEditing = DA;
exports.ImageTextAlternativeUI = $A;
exports.ImageToolbar = nT;
exports.ImageUpload = xE;
exports.ImageUploadEditing = kE;
exports.ImageUploadProgress = fE;
exports.ImageUploadUI = gE;
exports.ImageUtils = BA;
exports.Indent = aT;
exports.IndentBlock = hT;
exports.IndentEditing = oT;
exports.IndentUI = rT;
exports.InlineEditableUIView = Ob;
exports.InlineEditor = Uk;
exports.Input = yw;
exports.InputNumberView = vf;
exports.InputTextView = _f;
exports.InputView = wf;
exports.InsertOperation = Md;
exports.InsertTextCommand = bw;
exports.Italic = k_;
exports.ItalicEditing = __;
exports.ItalicUI = y_;
exports.KeystrokeHandler = Cr;
exports.LabelView = Og;
exports.LabelWithHighlightView = Qb;
exports.LabeledFieldView = pf;
exports.LegacyIndentCommand = PS;
exports.LegacyList = nI;
exports.LegacyListEditing = tI;
exports.LegacyListProperties = gI;
exports.LegacyListPropertiesEditing = lI;
exports.LegacyListUtils = HS;
exports.LegacyTodoList = xI;
exports.LegacyTodoListEditing = kI;
exports.Link = qT;
exports.LinkActionsView = NT;
exports.LinkCommand = IT;
exports.LinkEditing = LT;
exports.LinkFormView = FT;
exports.LinkImage = QT;
exports.LinkImageEditing = GT;
exports.LinkImageUI = JT;
exports.LinkUI = HT;
exports.List = WP;
exports.ListCommand = kP;
exports.ListEditing = DP;
exports.ListIndentCommand = vP;
exports.ListItemButtonView = Ig;
exports.ListItemGroupView = If;
exports.ListItemView = Pf;
exports.ListProperties = gS;
exports.ListPropertiesEditing = aS;
exports.ListPropertiesUI = cS;
exports.ListPropertiesUtils = nS;
exports.ListSeparatorView = Sf;
exports.ListUI = UP;
exports.ListUtils = AP;
exports.ListView = Vf;
exports.LivePosition = su;
exports.LiveRange = fc;
exports.Locale = pr;
exports.MSWordNormalizer = _O;
exports.Markdown = oR;
exports.MarkerOperation = Nd;
exports.Matcher = aa;
exports.MediaEmbed = yR;
exports.MediaEmbedEditing = pR;
exports.MediaEmbedToolbar = kR;
exports.MediaEmbedUI = vR;
exports.Mention = WR;
exports.MentionEditing = AR;
exports.MentionListItemView = BR;
exports.MentionUI = FR;
exports.MentionsView = RR;
exports.MenuBarMenuListItemButtonView = Rg;
exports.MenuBarMenuListItemFileDialogButtonView = dw;
exports.MenuBarMenuListItemView = ub;
exports.MenuBarMenuListView = lw;
exports.MenuBarMenuView = aw;
exports.MenuBarView = hw;
exports.MergeOperation = Fd;
exports.Minimap = XR;
exports.Model = Hu;
exports.MouseObserver = Wu;
exports.MoveOperation = Bd;
exports.MultiCommand = Ur;
exports.MultiRootEditor = Gk;
exports.NoOperation = zd;
exports.Notification = Lb;
exports.ObservableMixin = Zs;
exports.Observer = Al;
exports.OperationFactory = jd;
exports.PageBreak = nO;
exports.PageBreakEditing = tO;
exports.PageBreakUI = iO;
exports.Paragraph = lx;
exports.ParagraphButtonUI = cx;
exports.PasteFromMarkdownExperimental = aR;
exports.PasteFromOffice = PO;
exports.PastePlainText = Jy;
exports.PendingActions = _m;
exports.PictureEditing = sT;
exports.PlainTableOutput = fL;
exports.Plugin = Dr;
exports.Position = Zl;
exports.Range = tc;
exports.Rect = Eo;
exports.RemoveFormat = OO;
exports.RemoveFormatEditing = RO;
exports.RemoveFormatUI = IO;
exports.RenameOperation = Hd;
exports.Renderer = ul;
exports.ReplaceAllCommand = pC;
exports.ReplaceCommand = fC;
exports.ResizeObserver = Vo;
exports.RestrictedEditingMode = GO;
exports.RestrictedEditingModeEditing = $O;
exports.RestrictedEditingModeUI = qO;
exports.RootAttributeOperation = $d;
exports.RootOperation = Ud;
exports.SearchInfoView = jb;
exports.SearchTextView = Gb;
exports.SelectAll = eC;
exports.SelectAllEditing = Yk;
exports.SelectAllUI = Xk;
exports.ShiftEnter = Y_;
exports.ShowBlocks = tB;
exports.ShowBlocksCommand = YO;
exports.ShowBlocksEditing = XO;
exports.ShowBlocksUI = eB;
exports.SimpleUploadAdapter = Em;
exports.SourceEditing = oB;
exports.SpecialCharacters = mB;
exports.SpecialCharactersArrows = gB;
exports.SpecialCharactersCurrency = wB;
exports.SpecialCharactersEssentials = _B;
exports.SpecialCharactersLatin = bB;
exports.SpecialCharactersMathematical = pB;
exports.SpecialCharactersText = fB;
exports.SpinnerView = Yb;
exports.SplitButtonView = Yf;
exports.SplitOperation = Ld;
exports.StandardEditingMode = QO;
exports.StandardEditingModeEditing = ZO;
exports.StandardEditingModeUI = JO;
exports.StickyPanelView = Ub;
exports.Strikethrough = T_;
exports.StrikethroughEditing = x_;
exports.StrikethroughUI = E_;
exports.Style = MB;
exports.StyleEditing = BB;
exports.StyleUI = TB;
exports.StyleUtils = AB;
exports.StylesMap = da;
exports.StylesProcessor = ua;
exports.Subscript = R_;
exports.SubscriptEditing = S_;
exports.SubscriptUI = V_;
exports.Superscript = F_;
exports.SuperscriptEditing = B_;
exports.SuperscriptUI = L_;
exports.SwitchButtonView = Dg;
exports.TabObserver = Dl;
exports.Table = gL;
exports.TableCaption = LF;
exports.TableCaptionEditing = BF;
exports.TableCaptionUI = MF;
exports.TableCellProperties = uF;
exports.TableCellPropertiesEditing = dF;
exports.TableCellPropertiesUI = JL;
exports.TableCellWidthEditing = XL;
exports.TableClipboard = rL;
exports.TableColumnResize = zF;
exports.TableColumnResizeEditing = DF;
exports.TableEditing = eL;
exports.TableKeyboard = dL;
exports.TableMouse = hL;
exports.TableProperties = PF;
exports.TablePropertiesEditing = kF;
exports.TablePropertiesUI = TF;
exports.TableSelection = oL;
exports.TableToolbar = yL;
exports.TableUI = nL;
exports.TableUtils = OM;
exports.Template = Hm;
exports.Text = Wl;
exports.TextPartLanguage = bT;
exports.TextPartLanguageEditing = fT;
exports.TextPartLanguageUI = pT;
exports.TextProxy = jl;
exports.TextTransformation = qw;
exports.TextWatcher = Mw;
exports.TextareaView = yf;
exports.Title = vx;
exports.TodoDocumentList = SI;
exports.TodoList = xS;
exports.TodoListEditing = wS;
exports.TodoListUI = CS;
exports.Token = ek;
exports.ToolbarLineBreakView = jf;
exports.ToolbarSeparatorView = Wf;
exports.ToolbarView = Kf;
exports.TooltipManager = eb;
exports.TreeWalker = Gl;
exports.TwoStepCaretMovement = Lw;
exports.Typing = Ow;
exports.Underline = $_;
exports.UnderlineEditing = D_;
exports.UnderlineUI = H_;
exports.Undo = lC;
exports.UndoEditing = rC;
exports.UndoUI = aC;
exports.UnlinkCommand = RT;
exports.UpcastWriter = ju;
exports.View = lg;
exports.ViewAttributeElement = Ma;
exports.ViewCollection = zm;
exports.ViewContainerElement = pa;
exports.ViewDocument = Ba;
exports.ViewDocumentFragment = ja;
exports.ViewEditableElement = wa;
exports.ViewElement = ga;
exports.ViewEmptyElement = Na;
exports.ViewModel = Fb;
exports.ViewRawElement = Ua;
exports.ViewRootEditableElement = va;
exports.ViewText = oa;
exports.ViewTreeWalker = ya;
exports.ViewUIElement = za;
exports.WIDGET_CLASS_NAME = iy;
exports.WIDGET_SELECTED_CLASS_NAME = ny;
exports.Watchdog = Xh;
exports.Widget = Ty;
exports.WidgetResize = Ly;
exports.WidgetToolbarRepository = Sy;
exports.WidgetTypeAround = Cy;
exports.WordCount = $F;
exports.XmlDataProcessor = Ad;
exports._getModelData = jh;
exports._getViewData = Nh;
exports._parseModel = Kh;
exports._parseView = Hh;
exports._setModelData = qh;
exports._setViewData = Dh;
exports._stringifyModel = Gh;
exports._stringifyView = zh;
exports.abortableDebounce = io;
exports.addBackgroundRules = _h;
exports.addBorderRules = vh;
exports.addKeyboardHandlingForGrid = mg;
exports.addLinkProtocolIfApplicable = TT;
exports.addListToDropdown = sp;
exports.addMarginRules = Ih;
exports.addMenuToDropdown = ep;
exports.addPaddingRules = Vh;
exports.addToolbarToDropdown = ip;
exports.attachToForm = fm;
exports.autoParagraphEmptyRoots = Dc;
exports.blockAutoformatEditing = e_;
exports.calculateResizeHostAncestorWidth = fy;
exports.calculateResizeHostPercentageWidth = py;
exports.clickOutsideHandler = cg;
exports.compareArrays = so;
exports.count = no;
exports.createDropdown = Xf;
exports.createElement = ro;
exports.createImageTypeRegExp = uE;
exports.createLabeledDropdown = hp;
exports.createLabeledInputNumber = dp;
exports.createLabeledInputText = cp;
exports.createLabeledTextarea = up;
exports.delay = Sr;
exports.diff = b;
exports.diffToChanges = w;
exports.disablePlaceholder = Jr;
exports.enablePlaceholder = Zr;
exports.env = o;
exports.exponentialDelay = Tr;
exports.fastDiff = g;
exports.filterGroupAndItemNames = Mb;
exports.findAttributeRange = Qw;
exports.findAttributeRangeBound = Yw;
exports.findClosestScrollableAncestor = bo;
exports.findOptimalInsertionRange = hy;
exports.first = wr;
exports.focusChildOnDropdownOpen = rp;
exports.getAncestors = wo;
exports.getBorderWidths = vo;
exports.getBoxSidesShorthandValue = ph;
exports.getBoxSidesValueReducer = fh;
exports.getBoxSidesValues = gh;
exports.getCode = or;
exports.getDataFromElement = _o;
exports.getEnvKeystrokeText = ar;
exports.getFillerOffset = ba;
exports.getLabel = dy;
exports.getLanguageDirection = mr;
exports.getLastTextLine = Bw;
exports.getLocalizedArrowKeyCodeDirection = cr;
exports.getLocalizedColorOptions = qg;
exports.getOptimalPosition = Do;
exports.getPositionShorthandNormalizer = bh;
exports.getRangeFromMouseEvent = yo;
exports.getShorthandValues = wh;
exports.global = i;
exports.hidePlaceholder = Yr;
exports.icons = vm;
exports.indexOf = Bo;
exports.injectCssTransitionDisabler = dg;
exports.inlineAutoformatEditing = t_;
exports.inlineHighlight = Xw;
exports.insertAt = Mo;
exports.insertToPriorityArray = x;
exports.isArrowKeyCode = lr;
exports.isAttachment = uh;
exports.isColor = Xu;
exports.isCombiningMark = Vr;
exports.isComment = Lo;
exports.isFocusable = yg;
exports.isForwardArrowKeyCode = dr;
exports.isHighSurrogateHalf = Rr;
exports.isInsideCombinedSymbol = Mr;
exports.isInsideEmojiSequence = Fr;
exports.isInsideSurrogatePair = Br;
exports.isIterable = oo;
exports.isLength = nh;
exports.isLineStyle = th;
exports.isLinkableElement = ET;
exports.isLowSurrogateHalf = Or;
exports.isNode = uo;
exports.isParagraphable = zc;
exports.isPercentage = oh;
exports.isPosition = ch;
exports.isRange = Co;
exports.isRepeat = ah;
exports.isText = ko;
exports.isURL = mh;
exports.isValidAttributeName = Fo;
exports.isViewWithFocusCycler = kg;
exports.isViewWithFocusTracker = vr;
exports.isVisible = No;
exports.isWidget = sy;
exports.keyCodes = nr;
exports.logError = T;
exports.logWarning = E;
exports.mix = _;
exports.needsPlaceholder = Xr;
exports.normalizeColorOptions = Gg;
exports.normalizeMenuBarConfig = pb;
exports.normalizeSingleColorDefinition = Kg;
exports.normalizeToolbarConfig = qf;
exports.parseHtml = TO;
exports.parseKeystroke = rr;
exports.plainTextToHtml = Wv;
exports.priorities = C;
exports.releaseDate = V;
exports.remove = $o;
exports.retry = Er;
exports.scrollAncestorsToShowTarget = Wo;
exports.scrollViewportToShowTarget = Uo;
exports.secureSourceElement = wm;
exports.setDataInElement = Ro;
exports.setHighlightHandling = ly;
exports.setLabel = cy;
exports.showPlaceholder = Qr;
exports.spliceArray = Pr;
exports.submitHandler = hg;
exports.toArray = gr;
exports.toMap = xr;
exports.toUnit = Oo;
exports.toWidget = oy;
exports.toWidgetEditable = uy;
exports.transformSets = Jd;
exports.uid = k;
exports.verifyLicense = Ir;
exports.version = I;
exports.viewToModelPositionOutsideModelElement = my;
exports.wait = Ar;
exports.wrapInParagraph = Hc;
}));
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'af' ]: { dictionary, getPluralForm } } = {"af":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Wysig","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter a with breve":"","Latin capital letterLine truncated
e[ 'af' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'af' ].dictionary = Object.assign( e[ 'af' ].dictionary, dictionary );
e[ 'af' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ar' ]: { dictionary, getPluralForm } } = {"ar":{"dictionary":{"Words: %0":"الكلمات: %0","Characters: %0":"الأحرف: %0","Widget toolbar":"شريط أدوات الواجهة","Insert paragraph before block":"إدراج فقرة قبل الكتلة","Insert paragraph after block":"إدراج فقرة بعد الكتلة","Press Enter to type after or press Shift + Enter to type before the widget":"اضغط على Enter للكتابة بعد ذلك أو اضغط على Shift + Enter للكتابة قبل الأداة","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"ضغطة المفاتيح التي يمكن استخدامها عند اختيار الأداة (على سبيل المثال: الصورة والجدول وما إلى ذلك)","Insert a new paragraph directly after a widget":"قم بإدراج فقرة جديدة مباشرةً بعد الأداة","Insert a new paragraph directly before a widget":"قم بإدراج فقرة جديدة مباشرةً قبل الأداة","Move the caret to allow typing directly before a widget":"حرّكْ علامة الإقحام للسماح بالكتابة مباشرةً قبل الأداة","Move the caret to allow typing directly after a widget":"حرّكْ علامة الإقحام للسماح بالكتابة مباشرةً بعد الأداة","Move focus from an editable area back to the parent widget":"انقل التركيز من منطقة قابلة للتحرير لتعيده إلى الأداة الأصلية","Upload in progress":"جاري الرفع","Undo":"تراجع","Redo":"إعادة","Rich Text Editor":"معالج نصوص","Edit block":"كتلة التحرير","Click to edit block":"انقر لتحرير الوحدة التجميعية","Drag to move":"اسحب للنقل","Next":"التالي","Previous":"السابق","Editor toolbar":"شريط أدوات المحرر","Dropdown toolbar":"شريط أدوات القائمة المنسدلة","Dropdown menu":"القائمة المنسدلة","Black":"أسود","Dim grey":"رمادي خافت","Grey":"رمادي","Light grey":"رمادي فاتح","White":"أبيض","Red":"أحمر","Orange":"برتقالي","Yellow":"أصفر","Light green":"أخضر فاتح","Green":"أخضر","Aquamarine":"أخضر زبرجد","Turquoise":"فيروزي","Light blue":"أزرق فاتح","Blue":"أزرق","Purple":"أرجواني","Editor block content toolbar":"شريط المحرر لأدوات كتلة المحتوى","Editor contextual toolbar":"شريط المحرر للأدوات السياقية","HEX":"لون سداسي عشري","No results found":"لم يتم العثور على نتائج","No searchable items":"لا توجد عناصر قابلة للبحث متاحة","Editor dialog":"حوار المحرر","Close":"إغلاق","Help Contents. To close this dialog press ESC.":"محتويات التعليمات. لإغلاق هذا الحوار، اضغطْ على مفتاح ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"ستجد أدناه قائمة باختصارات لوحة المفاتيح التي يمكن استخدامها في المحرِّر.","(may require <kbd>Fn</kbd>)":"(قد يتطلب <kbd>مفتاح Fn</kbd>)","Accessibility":"إمكانية الوصول","Accessibility help":"تعليمات إمكانية الوصول","Press %0 for help.":"اضغط على %0 للحصول على التعليمات.","Move focus in and out of an active dialog window":"انقلْ التركيز داخل وخارج نافذة الحوار النشطة","MENU_BAR_MENU_FILE":"ملف","MENU_BAR_MENU_EDIT":"تحرير","MENU_BAR_MENU_VIEW":"عرض","MENU_BAR_MENU_INSERT":"إدراج","MENU_BAR_MENU_FORMAT":"صيغة","MENU_BAR_MENU_TOOLS":"أدوات","MENU_BAR_MENU_HELP":"مساعدة","MENU_BAR_MENU_TEXT":"نص","MENU_BAR_MENU_FONT":"خط","Editor menu bar":"شريط قائمة المحرِّر","Please enter a valid color (e.g. \"ff0000\").":"يُرجى إدخال لون صالح (على سبيل المثال \"ff0000\").","Insert table":"إدراج جدول","Header column":"عمود عنوان","Insert column left":"أدخل العمود إلى اليسار","Insert column right":"أدخل العمود إلى اليمين","Delete column":"حذف العمود","Select column":"حدد العمود","Column":"عمود","Header row":"صف عنوان","Insert row below":"ادراج صف بعد","Insert row above":"ادراج صف قبل","Delete row":"حذف الصف","Select row":"حدد صفًا","Row":"صف","Merge cell up":"دمج الخلايا للأعلى","Merge cell right":"دمج الخلايا لليمين","Merge cell down":"دمج الخلايا للأسفل","Merge cell left":"دمج الخلايا لليسار","Split cell vertically":"فصل الخلايا بشكل عمودي","Split cell horizontally":"فصل الخلايا بشكل افقي","Merge cells":"دمج الLine truncated
e[ 'ar' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ar' ].dictionary = Object.assign( e[ 'ar' ].dictionary, dictionary );
e[ 'ar' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ast' ]: { dictionary, getPluralForm } } = {"ast":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"Desfacer","Redo":"Refacer","Rich Text Editor":"Editor de testu arriquecíu","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letterLine truncated
e[ 'ast' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ast' ].dictionary = Object.assign( e[ 'ast' ].dictionary, dictionary );
e[ 'ast' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'az' ]: { dictionary, getPluralForm } } = {"az":{"dictionary":{"Words: %0":"Sözlər: %0","Characters: %0":"Simvolar: %0","Widget toolbar":"Vidgetin paneli","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Yüklənir","Undo":"İmtina et","Redo":"Təkrar et","Rich Text Editor":"Rich Text Redaktoru","Edit block":"Redaktə etmək bloku","Click to edit block":"","Drag to move":"","Next":"Növbəti","Previous":"Əvvəlki","Editor toolbar":"Redaktorun paneli","Dropdown toolbar":"Açılan paneli","Dropdown menu":"","Black":"Qara","Dim grey":"Tünd boz","Grey":"Boz","Light grey":"Açıq boz","White":"Ağ","Red":"Qırmızı","Orange":"Narıncı","Yellow":"Sarı","Light green":"Açıq yaşıl","Green":"Yaşıl","Aquamarine":"Akvamarin","Turquoise":"Firuzəyi","Light blue":"Açıq mavi","Blue":"Mavi","Purple":"Bənövşəyi","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Cədvəli əlavə et","Header column":"Başlıqlı sütun","Insert column left":"Sola sütun əlavə et","Insert column right":"Sağa sütun əlavə et","Delete column":"Sütunları sil","Select column":"","Column":"Sütun","Header row":"Başlıqlı sətir","Insert row below":"Yuxarıya sətir əlavə et","Insert row above":"Aşağıya sətir əlavə et","Delete row":"Sətirləri sil","Select row":"","Row":"Sətir","Merge cell up":"Xanaları yuxarı birləşdir","Merge cell right":"Xanaları sağa birləşdir","Merge cell down":"Xanaları aşağı birləşdir","Merge cell left":"Xanaları sola birləşdir","Split cell vertically":"Xanaları şaquli böl","Split cell horizontally":"Xanaları üfüqi böl","Merge cells":"Xanaları birləşdir","Table toolbar":"Cədvəl paneli","Table properties":"Cədvəl xüsusiyyətləri","Cell properties":"","Border":"Sərhəd","Style":"","Width":"Eni","Height":"Hündürlük","Color":"Rəng","Background":"Fon","Padding":"","Dimensions":"Ölçülər","Table cell text alignment":"Cədvəl hüceyrəsi mətninin uyğunlaşdırılması","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"Xüsusi simvollar","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"sola ikiqat ox","rightwards double arrow":"sağa ikiqat ox","upwards double arrow":"yuxarı ikiqat ox","downwards double arrow":"aşağı ikiqat ox","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards Line truncated
e[ 'az' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'az' ].dictionary = Object.assign( e[ 'az' ].dictionary, dictionary );
e[ 'az' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'bg' ]: { dictionary, getPluralForm } } = {"bg":{"dictionary":{"Words: %0":"Думи: %0","Characters: %0":"Знаци: %0","Widget toolbar":"Лента с помощни средства","Insert paragraph before block":"Въведи параграф преди блока","Insert paragraph after block":"Въведи параграф след блока","Press Enter to type after or press Shift + Enter to type before the widget":"Натиснете Enter за въвеждане или натиснете Shift + Enter за въвеждане преди изпълнимия модул","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Клавишни комбинации, които могат да се използват при избран елемент (например: изображение, таблица и др.)","Insert a new paragraph directly after a widget":"Въвеждане на нов параграф директно след елемента","Insert a new paragraph directly before a widget":"Въвеждане на нов параграф директно преди елемента","Move the caret to allow typing directly before a widget":"Преместване на карето за директно писане преди елемент","Move the caret to allow typing directly after a widget":"Преместване на карето за директно писане след елемент","Move focus from an editable area back to the parent widget":"Преместване на фокуса от област с възможност за редактиране обратно към родителския изпълним модукл","Upload in progress":"Качването е в процес","Undo":"Отмени","Redo":"Повтори","Rich Text Editor":"Богат текстов редактор","Edit block":"Редактирай блок","Click to edit block":"Кликнете, за да редактирате блок","Drag to move":"Плъзнете за преместване","Next":"Следващ","Previous":"Предишен","Editor toolbar":"Лента за редакция","Dropdown toolbar":"Лента с падащо меню","Dropdown menu":"Падащо меню","Black":"Черен","Dim grey":"Тъмно сив","Grey":"Сив","Light grey":"Светло сив","White":"Бял","Red":"Червен","Orange":"Оранжев","Yellow":"Жълт","Light green":"Светло зелен","Green":"Зелен","Aquamarine":"Аквамарин","Turquoise":"Тюркоазен","Light blue":"Светло син","Blue":"Син","Purple":"Лилав","Editor block content toolbar":"Лента с инструменти за блокиране на съдържанието на редактора","Editor contextual toolbar":"Контекстна лента с инструменти на редактора","HEX":"НЕХ","No results found":"Няма намерени резултати","No searchable items":"Няма елементи за търсене","Editor dialog":"Диалогов прозорец на редактора","Close":"Затвори","Help Contents. To close this dialog press ESC.":"Помощно съдържание. За да затворите този прозорец, натиснете ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Долу можете да намерите списък от клавишни комбинации, които могат да се използват в редактора.","(may require <kbd>Fn</kbd>)":"(може да изисква <kbd>Fn</kbd>)","Accessibility":"Достъпност","Accessibility help":"Помощ за достъпност","Press %0 for help.":"Натиснете %0 за помощ.","Move focus in and out of an active dialog window":"Приближаване и отдалечаване на фокуса в активен диалогов прозорец","MENU_BAR_MENU_FILE":"Файл","MENU_BAR_MENU_EDIT":"Редактирай","MENU_BAR_MENU_VIEW":"Преглед","MENU_BAR_MENU_INSERT":"Вмъкни","MENU_BAR_MENU_FORMAT":"Формат","MENU_BAR_MENU_TOOLS":"Инструменти","MENU_BAR_MENU_HELP":"Помощ","MENU_BAR_MENU_TEXT":"Текст","MENU_BAR_MENU_FONT":"Шрифт","Editor menu bar":"Редактор на лентата с менюта","Please enter a valid color (e.g. \"ff0000\").":"Моля, въведете валиден цвят (напр. \"ff0000\").","Insert table":"Вмъкни таблица","Header column":"Заглавна колона","Insert column left":"Вмъкни колона отляво","Insert column right":"Вмъкни колона отдясно","Delete column":"Изтриване на колона","Select column":"Избери колона","Column":"Колона","Header row":"Заглавен ред","Insert row below":"ВмъкLine truncated
e[ 'bg' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'bg' ].dictionary = Object.assign( e[ 'bg' ].dictionary, dictionary );
e[ 'bg' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'bn' ]: { dictionary, getPluralForm } } = {"bn":{"dictionary":{"Words: %0":"শব্দগুলোঃ %0","Characters: %0":"অক্ষরসমূহঃ %0","Widget toolbar":"উইজেট টুলবার","Insert paragraph before block":"ব্লক করার আগে অনুচ্ছেদ ঢোকান","Insert paragraph after block":"ব্লকের পর অনুচ্ছেদ ঢোকান","Press Enter to type after or press Shift + Enter to type before the widget":"পরে টাইপ করতে এন্টার চাপুন বা উইজেটের আগে টাইপ করতে Shift + এন্টার চাপুন","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"কোনো উইজেট সিলেক্ট থাকা অবস্থায় যে কীস্ট্রোকগুলি ব্যবহার করা যেতে পারে (উদাহরণ: ছবি, টেবিল, ইত্যাদি)","Insert a new paragraph directly after a widget":"কোনো উইজেটের পরে সরাসরি একটি নতুন প্যারাগ্রাফ প্রবেশ করুন","Insert a new paragraph directly before a widget":"কোনো উইজেটের আগে সরাসরি একটি নতুন প্যারাগ্রাফ প্রবেশ করুন","Move the caret to allow typing directly before a widget":"কোনো উইজেটের আগে সরাসরি টাইপ করতে দিতে ক্যারেটটি সরান","Move the caret to allow typing directly after a widget":"কোনো উইজেটের পরে সরাসরি টাইপ করতে দিতে ক্যারেটটি সরান","Move focus from an editable area back to the parent widget":"এডিটযোগ্য এরিয়া থেকে প্যারেন্ট উইজেটে ফোকাসে সরিয়ে নিন","Upload in progress":"আপলোড চলছে","Undo":"পূর্বাবস্থায় ফেরান","Redo":"রেডো","Rich Text Editor":"রিচ টেক্সট এডিটর","Edit block":"এডিট ব্লক","Click to edit block":"ব্লক এডিট করতে ক্লিক করুন","Drag to move":"সরানোর জন্য টেনে আনুন","Next":"পরবর্তী","Previous":"পূর্ববর্তী","Editor toolbar":"সম্পাদক টুলবার","Dropdown toolbar":"ড্রপডাউন টুলবার","Dropdown menu":"ড্রপডাউন মেনু","Black":"কালো","Dim grey":"আবছা ধূসর","Grey":"ধূসর","Light grey":"হালকা ধূসর","White":"সাদা","Red":"লাল","Orange":"কমলা","Yellow":"হলুদ ","Light green":"হালকা সবুজ","Green":"সবুজ","Aquamarine":"ফেকাশে সবুজবর্ণ","Turquoise":"ফিরোজা","Light blue":"হালকা নীল","Blue":"নীল ","Purple":"বেগুনি","Editor block content toolbar":"সম্পাদক ব্লক কন্টেন্ট টুলবার","Editor contextual toolbar":"সম্পাদক প্রাসঙ্গিক টুলবার","HEX":"HEX","No results found":"কোন ফলাফল পাওয়া যায়নি","No searchable items":"কোনো অনুসন্ধানযোগ্য আইটেম নেই","Editor dialog":"ইডিটর ডায়ালগ","Close":"বন্ধ করুন","Help Contents. To close this dialog press ESC.":"সহায়তাকারী কনটেন্টগুলি। এই ডায়ালগটি বন্ধ করতে ESC প্রেস করুন।","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"এডিটরে ব্যবহার করা যেতে পারে এমন কীবোর্ড শর্টকাটগুলির একটি তালিকা আপনি নিচে দেখতে পাবেন।","(may require <kbd>Fn</kbd>)":"(<kbd>Fn[</kbd>] এর প্রয়োজন হতে পারে)","Accessibility":"প্রবেশযোগ্যতা","Accessibility help":"প্রবেশযোগ্যতা জন্য সহায়তা","Press %0 for help.":"সহায়তার জন্য %0 প্রেস করুন।","Move focus in and out of an active dialog window":"সক্রিয় ডায়ালগ উইন্ডোর ভিতরে এবং বাইরে ফোকাস স্থানান্তর করুন","MENU_BAR_MENU_FILE":"ফাইল","MENU_BAR_MENU_EDIT":"এডিট করুন","MENU_BAR_MENU_VIEW":"দেখুন","MENU_BAR_MENU_INSERT":"Line truncated
e[ 'bn' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'bn' ].dictionary = Object.assign( e[ 'bn' ].dictionary, dictionary );
e[ 'bn' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'bs' ]: { dictionary, getPluralForm } } = {"bs":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Uredi","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"Umetni","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter a with breve":"","Latin capital Line truncated
e[ 'bs' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'bs' ].dictionary = Object.assign( e[ 'bs' ].dictionary, dictionary );
e[ 'bs' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ca' ]: { dictionary, getPluralForm } } = {"ca":{"dictionary":{"Words: %0":"Paraules: %0","Characters: %0":"Caràcters: %0","Widget toolbar":"Barra d'eines de ginys","Insert paragraph before block":"Inserir un paràgraf abans del bloc","Insert paragraph after block":"Inserir un paràgraf després del bloc","Press Enter to type after or press Shift + Enter to type before the widget":"Premeu Retorn per escriure després o premeu Maj + Retorn per escriure abans del giny","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Tecles que es poden emprar en seleccionar un giny (com ara: imatge, taula, etc.)","Insert a new paragraph directly after a widget":"Insereix un paràgraf nou immediatament després d'un giny","Insert a new paragraph directly before a widget":"Insereix un paràgraf nou immediatament abans d'un giny","Move the caret to allow typing directly before a widget":"Mou el punt d'inserció per a permetre l'escriptura immediatament abans d'un giny","Move the caret to allow typing directly after a widget":"Mou el punt d'inserció per a permetre l'escriptura immediatament després d'un giny","Move focus from an editable area back to the parent widget":"Torna a moure el focus des d'una àrea editable al giny principal","Upload in progress":"Carrega en curs","Undo":"Desfer","Redo":"Refer","Rich Text Editor":"Editor de text enriquit","Edit block":"Editar bloc","Click to edit block":"Fes clic per editar el bloc","Drag to move":"Arrossega per moure","Next":"Següent","Previous":"Anterior","Editor toolbar":"Barra d'eines de l'editor","Dropdown toolbar":"Barra d'eines desplegable","Dropdown menu":"Menú desplegable","Black":"Negre","Dim grey":"Gris fosc","Grey":"Gris","Light grey":"Gris clar","White":"Blanc","Red":"Vermell","Orange":"Taronja","Yellow":"Groc","Light green":"Verd clar","Green":"Verd","Aquamarine":"Aiguamarina","Turquoise":"Turquesa","Light blue":"Blau clar","Blue":"Blau","Purple":"Lila","Editor block content toolbar":"Barra d'eines de contingut del bloc de l'editor","Editor contextual toolbar":"Barra d'eines contextual de l'editor","HEX":"HEX","No results found":"Sense resultats","No searchable items":"No hi ha elements de cerca","Editor dialog":"Diàleg de l'editor","Close":"Tanca","Help Contents. To close this dialog press ESC.":"Continguts d'Ajuda. Per a tancar aquesta finestra premeu ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Sota hi trobareu un llistat de dreceres del teclat que podeu emprar amb aquest editor.","(may require <kbd>Fn</kbd>)":"(pot requerir <kbd>Fn</kbd>))","Accessibility":"Accessibilitat","Accessibility help":"Ajuda d'accessibilitat","Press %0 for help.":"Premeu %0 per obtenir ajuda.","Move focus in and out of an active dialog window":"Canvieu l'engrandiment d'una finestra activa","MENU_BAR_MENU_FILE":"Arxiu","MENU_BAR_MENU_EDIT":"Edita","MENU_BAR_MENU_VIEW":"Visualitza","MENU_BAR_MENU_INSERT":"Introduir","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Eines","MENU_BAR_MENU_HELP":"Ajuda","MENU_BAR_MENU_TEXT":"Text","MENU_BAR_MENU_FONT":"Font","Editor menu bar":"Barra de menú del editor","Please enter a valid color (e.g. \"ff0000\").":"Introdueix un color vàlid (p. ex. \"ff0000\").","Insert table":"Introduir taula","Header column":"Columna d'encapçalament","Insert column left":"Inserir columna a l'esquerra","Insert column right":"Inserir la columna a la dreta","Delete column":"Suprimir la columna","Select column":"Seleccionar columna","Column":"Columna","Header row":"Fila d'encapçalament","Insert row below":"Inserir la fila a continuació","Insert row above":"Inserir fila a sobre","Delete row":"Suprimir fila","Select row":"Seleccionar fila","Row":"Fila","Merge cell up":"Combinar la cel·la cap amunt","Merge cell right":"Combinar la cel·la a la dreta","Merge cell down":"Combinar la cel·la cap avall","Merge cell left":"Combinar la cel·la a l'esquerra","Split cell vertically":"Dividir la cel·la verticalment","Split cell horizontally":"Dividir la cel·la horitzontalment","Merge cells":"Combinar cel·les","Table toolbar":"Barra d'eines de taula","Table properties":"Propietats de la taula","Cell properties":"Propietats de la cel·la","Border":"Vora","Style":"Estil","Width":"Amplada","Height":"Alçada","Color":"Color","Background":"Fons","Padding":"Padding","Dimensions":"Dimensions","Table cell text alignment":"Alineació del text de la cel·la de la taula","Alignment":"Alineació","Horizontal text alignment toolbar":"Barra d'eines d'alineació de text horitzontal","Vertical text alignment toolbar":"Barra d'eines d'alineació de text vertical","Table alignment toolbar":"Barra d'eines d'alineació de taules","None":"Cap","Solid":"Sòlid","Dotted":"De punts","Dashed":"De guions","Double":"Doble","Groove":"De solc","Ridge":"De cresta","Inset":"Entrant","Outset":"Sortint","Align cell text to the left":"Alinear el text de la cel·la a l'esquerra","Align cell text to the center":"Line truncated
e[ 'ca' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ca' ].dictionary = Object.assign( e[ 'ca' ].dictionary, dictionary );
e[ 'ca' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'cs' ]: { dictionary, getPluralForm } } = {"cs":{"dictionary":{"Words: %0":"Počet slov: %0","Characters: %0":"Počet znaků: %0","Widget toolbar":"Panel nástrojů ovládacího prvku","Insert paragraph before block":"Vložte odstavec před blok","Insert paragraph after block":"Vložte odstavec za blok","Press Enter to type after or press Shift + Enter to type before the widget":"Stisknutím klávesy Enter můžete psát za widgetem a stisknutím Shift + Enter před ním","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Klávesy, které lze použít, když je vybraný widget (např: obrázek, tabulka atd.)","Insert a new paragraph directly after a widget":"Vložte odstavec přímo po widgetu","Insert a new paragraph directly before a widget":"Vložte nový odstavec přímo před widget","Move the caret to allow typing directly before a widget":"Přesuňte stříšku pro umožnění psaní přímo před widget","Move the caret to allow typing directly after a widget":"Přesuňte stříšku pro umožnění psaní přímo před widget","Move focus from an editable area back to the parent widget":"Přesunout zaměření z upravitelné oblasti zpět na nadřazený widget","Upload in progress":"Probíhá nahrávání","Undo":"Zpět","Redo":"Znovu","Rich Text Editor":"Textový editor","Edit block":"Upravit blok","Click to edit block":"Kliknutím upravíte blok","Drag to move":"Přesuňte potažením","Next":"Další","Previous":"Předchozí","Editor toolbar":"Panel nástrojů editoru","Dropdown toolbar":"Rozbalovací panel nástrojů","Dropdown menu":"Rozbalovací nabídka","Black":"Černá","Dim grey":"Tmavě šedá","Grey":"Šedá","Light grey":"Světle šedá","White":"Bílá","Red":"Červená","Orange":"Oranžová","Yellow":"Žlutá","Light green":"Světle zelená","Green":"Zelená","Aquamarine":"Akvamarínová","Turquoise":"Tyrkysová","Light blue":"Světle modrá","Blue":"Modrá","Purple":"Fialová","Editor block content toolbar":"Panel nástrojů obsahu bloku editoru","Editor contextual toolbar":"Kontextový panel nástrojů editoru","HEX":"HEX","No results found":"Nenalezeny žádné výsledky","No searchable items":"Žádné položky k vyhledání","Editor dialog":"Dialog editoru","Close":"Zavřít","Help Contents. To close this dialog press ESC.":"Obsah podpory. Pro zavření tohoto dialogu stiskněte ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Seznam klávesových zkratek, které lze v editoru použít, můžete nalézt níže.","(may require <kbd>Fn</kbd>)":"(může vyžadovat <kbd>Fn</kbd>)","Accessibility":"Přístupnost","Accessibility help":"Podpora přístupnosti","Press %0 for help.":"Stiskněte %0 pro podporu","Move focus in and out of an active dialog window":"Přesouvejte zaměření dovnitř a ven z aktivního dialogového okna","MENU_BAR_MENU_FILE":"Soubor","MENU_BAR_MENU_EDIT":"Upravit","MENU_BAR_MENU_VIEW":"Zobrazit","MENU_BAR_MENU_INSERT":"Vložit","MENU_BAR_MENU_FORMAT":"Formát","MENU_BAR_MENU_TOOLS":"Nástroje","MENU_BAR_MENU_HELP":"Nápověda","MENU_BAR_MENU_TEXT":"Text","MENU_BAR_MENU_FONT":"Písmo","Editor menu bar":"Panel nabídek editoru","Please enter a valid color (e.g. \"ff0000\").":"Zadejte platnou barvu (např. „ff0000“).","Insert table":"Vložit tabulku","Header column":"Sloupec záhlaví","Insert column left":"Vložit sloupec vlevo","Insert column right":"Vložit sloupec vpravo","Delete column":"Smazat sloupec","Select column":"Vybrat sloupec","Column":"Sloupec","Header row":"Řádek záhlaví","Insert row below":"Vložit řádek pod","Insert row above":"Vložit řádek před","Delete row":"Smazat řádek","Select row":"Vybrat řádek","Row":"Řádek","Merge cell up":"Sloučit s buňkou nad","Merge cell right":"Sloučit s buňkou vpravo","Merge cell down":"Sloučit s buňkou pod","Merge cell left":"Sloučit s buňkou vlevo","Split cell vertically":"Rozdělit buňky vertikálně","Split cell horizontally":"Rozdělit buňky horizontálně","Merge cells":"Sloučit buňky","Table toolbar":"Panel nástrojů tabulky","Table properties":"Vlastnosti tabulky","Cell properties":"Vlastnosti buňky","Border":"Okraj","Style":"Styl","Width":"Šířka","Height":"Výška","Color":"Barva","Background":"Pozadí","Padding":"Vnitřní okraj","Dimensions":"Rozměry","Table cell text alignment":"Zarovnání textu buňky tabulky","Alignment":"Zarovnání","Horizontal text alignment toolbar":"Horizontální zarovnání textu v panelu","Vertical text alignment toolbar":"Vertikální zarovnání textu v panelu","Table alignment toolbar":"Panel zarovnání tabulky","None":"Žádná","Solid":"Plná","Dotted":"Tečkovaná","Dashed":"Čárkovaná","Double":"Dvojitá","Groove":"Drážkovaná","Ridge":"Rámovaná","Inset":"Vložená zevnitř","Outset":"Vložená zvenku","Align cell text to the left":"Zarovnat text buňky doleva","Align cell text to the center":"Zarovnat text buňky na střed","Align cellLine truncated
e[ 'cs' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'cs' ].dictionary = Object.assign( e[ 'cs' ].dictionary, dictionary );
e[ 'cs' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'da' ]: { dictionary, getPluralForm } } = {"da":{"dictionary":{"Words: %0":"Ord: %0","Characters: %0":"Karakterer: %0","Widget toolbar":"Widget værktøjslinje","Insert paragraph before block":"Indsæt paragraf før blok","Insert paragraph after block":"Indsæt paragraf efter blok","Press Enter to type after or press Shift + Enter to type before the widget":"Tryk på Enter for at skrive efter, eller tryk på Shift + Enter for at skrive før widgetten","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Tastaturtryk, der kan bruges når en widget er valgt (for eksempel: billede, tabel, osv.)","Insert a new paragraph directly after a widget":"Indsæt en ny paragraf direkte efter en widget","Insert a new paragraph directly before a widget":"Indsæt en ny paragraf direkte før en widget","Move the caret to allow typing directly before a widget":"Flyt indsætningstegnet for at tillade skrift direkte før en widget","Move the caret to allow typing directly after a widget":"Flyt indsætningstegnet for at tillade skrift direkte efter en widget","Move focus from an editable area back to the parent widget":"Flyt fokus fra et redigerbart område tilbage til den overordnede widget","Upload in progress":"Upload i gang","Undo":"Fortryd","Redo":"Gentag","Rich Text Editor":"Wysiwyg editor","Edit block":"Redigér blok","Click to edit block":"Klik for at redigere blok","Drag to move":"Træk for at flytte","Next":"Næste","Previous":"Forrige","Editor toolbar":"Editor værktøjslinje","Dropdown toolbar":"Dropdown værktøjslinje","Dropdown menu":"Rullemenu","Black":"Sort","Dim grey":"Dunkel grå","Grey":"Grå","Light grey":"Lys grå","White":"Hvid","Red":"Rød","Orange":"Orange","Yellow":"Gyl","Light green":"Lys grøn","Green":"Grøn","Aquamarine":"Marineblå","Turquoise":"Turkis","Light blue":"Lys blå","Blue":"Blå","Purple":"Lilla","Editor block content toolbar":"Redigeringskasse indholdsværktøjslinje","Editor contextual toolbar":"Kontekstuel værktøjslinje til redigeringsprogram","HEX":"Hex","No results found":"Ingen resultater blev fundet","No searchable items":"Ingen søgbare artikler","Editor dialog":"Editor-dialog","Close":"Luk","Help Contents. To close this dialog press ESC.":"Hjælpeindhold. Tryk ESC for at lykke denne dialog.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Nedenfor kan du finde en liste over tastaturgenveje, der kan bruges i editoren.","(may require <kbd>Fn</kbd>)":"(kan kræve <kbd>Fn</kbd>)","Accessibility":"Tilgængelighed","Accessibility help":"Tilgængelighedshjælp","Press %0 for help.":"Tryk %0 for at få hjælp.","Move focus in and out of an active dialog window":"Flyt fokus ind og ud af et aktivt dialogvindue","MENU_BAR_MENU_FILE":"Fil","MENU_BAR_MENU_EDIT":"Rediger","MENU_BAR_MENU_VIEW":"Vis","MENU_BAR_MENU_INSERT":"Indsæt","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Værktøjer","MENU_BAR_MENU_HELP":"Hjælp","MENU_BAR_MENU_TEXT":"Tekst","MENU_BAR_MENU_FONT":"Font","Editor menu bar":"Editor menulinje","Please enter a valid color (e.g. \"ff0000\").":"Indtast venligst en gyldig farve (f.eks. \"ff0000","Insert table":"Indsæt tabel","Header column":"Headerkolonne","Insert column left":"Indsæt kolonne venstre","Insert column right":"Indsæt kolonne højre","Delete column":"Slet kolonne","Select column":"Vælg kolonne","Column":"Kolonne","Header row":"Headerrække","Insert row below":"Indsæt header under","Insert row above":"Indsæt header over","Delete row":"Slet række","Select row":"Vælg række","Row":"Række","Merge cell up":"Flet celler op","Merge cell right":"Flet celler højre","Merge cell down":"Flet celler ned","Merge cell left":"Flet celler venstre","Split cell vertically":"Del celle vertikalt","Split cell horizontally":"Del celle horisontalt","Merge cells":"Flet celler","Table toolbar":"Tabel værktøjslinje","Table properties":"Tabelegenskaber","Cell properties":"Celleegenskaber","Border":"Ramme","Style":"Stil","Width":"Bredde","Height":"Højde","Color":"Farve","Background":"Baggrund","Padding":"Fyld","Dimensions":"Dimensioner","Table cell text alignment":"Tabelcelle tekstjustering","Alignment":"Justering","Horizontal text alignment toolbar":"Horisontal tekstjustering værktøjslinje","Vertical text alignment toolbar":"Vertikal tekstjustering værktøjslinje","Table alignment toolbar":"Tabeljustering værktøjslinje","None":"Ingen","Solid":"Massiv","Dotted":"Stiplet (prik)","Dashed":"Stiplet (streg)","Double":"Dobbel","Groove":"Not","Ridge":"Kam","Inset":"Forsænket","Outset":"Fra starten","Align cell text to the left":"Justér tekstcelle til venstre","Align cell text to the center":"Justér tekstcelle centreret","Align cell text to the right":"Justér tekstcelle til højre","Justify cell text":"Justér tekstcelle","Align cell text to the top":"Justér tekstcelle til top","Align cell text to the middle":"Justér tekstcelle til midten","Align cell text to the bottom":"Justér teksLine truncated
e[ 'da' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'da' ].dictionary = Object.assign( e[ 'da' ].dictionary, dictionary );
e[ 'da' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'de-ch' ]: { dictionary, getPluralForm } } = {"de-ch":{"dictionary":{"Words: %0":"Wörter: %0","Characters: %0":"Zeichen: %0","Widget toolbar":"Widget Werkzeugleiste","Insert paragraph before block":"Absatz vor Block einfügen","Insert paragraph after block":"Absatz nach Block einfügen","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Upload läuft","Undo":"Rückgängig","Redo":"Wiederherstellen","Rich Text Editor":"Rich-Text-Edito","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Bearbeiten","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"Einfügen","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Tabelle einfügen","Header column":"Kopfspalte","Insert column left":"","Insert column right":"","Delete column":"Spalte löschen","Select column":"","Column":"Spalte","Header row":"Kopfspalte","Insert row below":"Zeile unten einfügen","Insert row above":"Zeile oben einfügen","Delete row":"Zeile löschen","Select row":"","Row":"Zeile","Merge cell up":"Zelle oben verbinden","Merge cell right":"Zele rechts verbinden","Merge cell down":"Zelle unten verbinden","Merge cell left":"Zelle links verbinden","Split cell vertically":"Zelle vertikal teilen","Split cell horizontally":"Zelle horizontal teilen","Merge cells":"Zellen verbinden","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German pLine truncated
e[ 'de-ch' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'de-ch' ].dictionary = Object.assign( e[ 'de-ch' ].dictionary, dictionary );
e[ 'de-ch' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'de' ]: { dictionary, getPluralForm } } = {"de":{"dictionary":{"Words: %0":"Wörter: %0 ","Characters: %0":"Zeichen: %0 ","Widget toolbar":"Widget Werkzeugleiste","Insert paragraph before block":"Absatz vor Block einfügen","Insert paragraph after block":"Absatz nach Block einfügen","Press Enter to type after or press Shift + Enter to type before the widget":"Drücken Sie die Eingabetaste, um nach dem Widget zu tippen oder Shift + Eingabetaste, um vor dem Widget zu tippen.","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Tastatureingaben, die verwendet werden können, wenn ein Widget ausgewählt wurde (zum Beispiel: Bilder, Tabellen etc.)","Insert a new paragraph directly after a widget":"Einen neuen Abschnitt direkt nach einem Widget einfügen","Insert a new paragraph directly before a widget":"Einen neuen Abschnitt direkt vor einem Widget einfügen","Move the caret to allow typing directly before a widget":"Verschieben Sie den Textcursor, um die Eingabe direkt nach dem Widget zu erlauben","Move the caret to allow typing directly after a widget":"Verschieben Sie den Textcursor, um die direkte Eingabe nach dem Widget zu erlauben","Move focus from an editable area back to the parent widget":"Bewegen Sie den Fokus von einem bearbeitbaren Bereich zurück zum übergeordneten Widget","Upload in progress":"Upload läuft","Undo":"Rückgängig","Redo":"Wiederherstellen","Rich Text Editor":"Rich Text Editor","Edit block":"Absatz bearbeiten","Click to edit block":"Zum Bearbeiten des Blocks klicken","Drag to move":"Zum Verschieben ziehen","Next":"Nächste","Previous":"vorherige","Editor toolbar":"Editor Werkzeugleiste","Dropdown toolbar":"Dropdown-Liste Werkzeugleiste","Dropdown menu":"Dropdown-Menü","Black":"Schwarz","Dim grey":"Dunkelgrau","Grey":"Grau","Light grey":"Hellgrau","White":"Weiß","Red":"Rot","Orange":"Orange","Yellow":"Gelb","Light green":"Hellgrün","Green":"Grün","Aquamarine":"Aquamarinblau","Turquoise":"Türkis","Light blue":"Hellblau","Blue":"Blau","Purple":"Violett","Editor block content toolbar":"Editor Blockinhalt-Toolbar","Editor contextual toolbar":"Editor kontextuelle Toolbar","HEX":"HEX","No results found":"Keine Ergebnisse gefunden","No searchable items":"Keine durchsuchbaren Elemente","Editor dialog":"Editor-Dialog","Close":"Schließen","Help Contents. To close this dialog press ESC.":"Hilfe zum Inhalt. Drücken Sie die Esc-Taste, um dieses Dialogfenster zu schließen.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Unten finden Sie eine Liste mit Tastenkombinationen, die im Editor benutzt werden können.","(may require <kbd>Fn</kbd>)":"(erfordert gegebenenfalls <kbd>Fn</kbd>)","Accessibility":"Bedienungshilfen","Accessibility help":"Hilfe zur Eingabe","Press %0 for help.":"Drücken Sie %0 für Hilfe.","Move focus in and out of an active dialog window":"Fokus auf ein aktives Dialogfenster richten oder aufheben","MENU_BAR_MENU_FILE":"Datei","MENU_BAR_MENU_EDIT":"Bearbeiten","MENU_BAR_MENU_VIEW":"Anzeigen","MENU_BAR_MENU_INSERT":"Einfügen","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Werkzeuge","MENU_BAR_MENU_HELP":"Hilfe","MENU_BAR_MENU_TEXT":"Text","MENU_BAR_MENU_FONT":"Schriftart","Editor menu bar":"Menüleiste des Editors","Please enter a valid color (e.g. \"ff0000\").":"Bitte geben Sie eine gültige Farbe ein (z. B. „ff0000“).","Insert table":"Tabelle einfügen","Header column":"Kopfspalte","Insert column left":"Spalte links einfügen","Insert column right":"Spalte rechts einfügen","Delete column":"Spalte löschen","Select column":"Spalte auswählen","Column":"Spalte","Header row":"Kopfzeile","Insert row below":"Zeile unten einfügen","Insert row above":"Zeile oben einfügen","Delete row":"Zeile löschen","Select row":"Zeile auswählen","Row":"Zeile","Merge cell up":"Zelle verbinden","Merge cell right":"Zelle rechts verbinden","Merge cell down":"Zelle unten verbinden","Merge cell left":"Zelle links verbinden","Split cell vertically":"Zelle vertikal teilen","Split cell horizontally":"Zelle horizontal teilen","Merge cells":"Zellen verbinden","Table toolbar":"Tabelle Werkzeugleiste","Table properties":"Tabelleneigenschaften","Cell properties":"Zelleneigenschaften","Border":"Rahmen","Style":"Rahmenart","Width":"Breite","Height":"Höhe","Color":"Farbe","Background":"Hintergrund","Padding":"Innenabstand","Dimensions":"Größe","Table cell text alignment":"Ausrichtung des Zellentextes","Alignment":"Ausrichtung","Horizontal text alignment toolbar":"Werkzeugleiste für die horizontale Zellentext-Ausrichtung","Vertical text alignment toolbar":"Werkzeugleiste für die vertikale Zellentext-Ausrichtung","Table alignment toolbar":"Werkzeugleiste für die Tabellen-Ausrichtung","None":"Kein Rahmen","Solid":"Durchgezogen","Dotted":"Gepunktet","Dashed":"Gestrichelt","Double":"Doppelt","Groove":"Eingeritzt","Ridge":"Hervorgehoben","Inset":"Eingelassen","Outset":"Geprägt","Align cell text to the leLine truncated
e[ 'de' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'de' ].dictionary = Object.assign( e[ 'de' ].dictionary, dictionary );
e[ 'de' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'el' ]: { dictionary, getPluralForm } } = {"el":{"dictionary":{"Words: %0":"Λέξεις: %0","Characters: %0":"Χαρακτήρες: %0","Widget toolbar":"Γραμμή εργαλείων γραφικού στοιχείου","Insert paragraph before block":"Εισαγωγή παραγράφου πριν το τμήμα","Insert paragraph after block":"Εισαγωγή παραγράφου μετά το τμήμα","Press Enter to type after or press Shift + Enter to type before the widget":"Πατήστε Enter για να πληκτρολογήσετε μετά ή πατήστε Shift + Enter για να πληκτρολογήσετε πριν από το γραφικό στοιχείο","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Πλήκτρα που μπορείτε να χρησιμοποιήσετε όταν επιλέγετε ένα widget (για παράδειγμα: εικόνα, πίνακα κ.λπ.)","Insert a new paragraph directly after a widget":"Εισαγωγή νέας παραγράφου απευθείας μετά από ένα widget","Insert a new paragraph directly before a widget":"Εισαγωγή νέας παραγράφου απευθείας πριν από ένα widget","Move the caret to allow typing directly before a widget":"Μετακινήστε τον δρομέα caret για να είναι δυνατή η πληκτρολόγηση απευθείας πριν από ένα widget","Move the caret to allow typing directly after a widget":"Μετακινήστε τον δρομέα caret για να είναι δυνατή η πληκτρολόγηση απευθείας μετά από ένα widget","Move focus from an editable area back to the parent widget":"Μετακίνηση της εστίασης από μια επεξεργάσιμη περιοχή πίσω στο αρχικό widget","Upload in progress":"Αποστολή σε εξέλιξη","Undo":"Αναίρεση","Redo":"Επανάληψη","Rich Text Editor":"Επεξεργαστής εμπλουτισμένου κειμένου","Edit block":"Επεξεργασία τμήματος","Click to edit block":"Κάντε κλικ για να επεξεργαστείτε το μπλοκ","Drag to move":"Σύρετε για μετακίνηση","Next":"Επόμενο","Previous":"Προηγούμενο","Editor toolbar":"Γραμμή εργαλείων επεξεργαστή","Dropdown toolbar":"Γραμμή εργαλείων αναδυόμενου μενού","Dropdown menu":"Αναπτυσσόμενο μενού","Black":"Μαύρο","Dim grey":"Θολό γκρι","Grey":"Γκρι","Light grey":"Φωτινό γκρι","White":"Λευκό","Red":"Κόκκινο","Orange":"Πορτοκαλί","Yellow":"Κίτρινο","Light green":"Φωτινό πράσινο","Green":"Πράσινο","Aquamarine":"Ακουαμαρίνα","Turquoise":"Τιρκουάζ","Light blue":"Φωτινό μπλε","Blue":"Μπλε","Purple":"Πορφυρό","Editor block content toolbar":"Γραμμή εργαλείων επεξεργασίας περιεχομένου αποκλεισμού","Editor contextual toolbar":"Γραμμή εργαλείων επεξεργασίας συμφραζομένων","HEX":"Δεκαεξαδική μορφή χρωμάτων","No results found":"Δεν βρέθηκαν αποτελέσματα","No searchable items":"Δεν υπάρχει δυνατότητα αναζήτησης στοιχείων","Editor dialog":"Παράθυρο διαλόγου επεξεργαστή","Close":"Κλείσιμο","Help Contents. To close this dialog press ESC.":"Περιεχόμενα βοήθειας. Για να κλείσετε αυτό το παράθυρο διαλόγου, πατήστε ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Παρακάτω, μπορείτε να βρείτε μια λίστα με συντομεύσεις πληκτρολογίου που μπορείτε να χρησιμοποιήσετε στο εργαλείο επεξεργασίας.","(may require <kbd>Fn</kbd>)":"(μπορεί να απαιτείται το <kbd> Fn</kbd>)","Accessibility":"Προσβασιμότητα","Accessibility help":"Βοήθεια προσβασιμότητας","Press %0 for help.":"Πατήστε %0 για βοήθεια.","Move focus in and out of an active dialog window":"Μετακίνηση της εστίασης από ένα ενεργό παράθυρο διαλόγου","MENU_BAR_MENU_FILE":"Αρχείο","MENU_BAR_MENU_EDIT":"Επεξεργασία","MENU_BAR_MENU_VIEW":"Προβολή","MENU_BAR_MENU_INSERT":"Εισαγωγή","MENU_BAR_MENU_FORMAT":"Μορφή","MENU_BAR_MENU_TOOLS":"Εργαλεία","MENU_BAR_MENU_HELP":"Βοήθεια","MENU_BAR_MENU_TEXT":"Κείμενο","MENU_BAR_MENU_FONT":"Γραμματοσειρά","Editor menu bar":"Γραμμή μενού επεξLine truncated
e[ 'el' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'el' ].dictionary = Object.assign( e[ 'el' ].dictionary, dictionary );
e[ 'el' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'en-au' ]: { dictionary, getPluralForm } } = {"en-au":{"dictionary":{"Words: %0":"Words: %0","Characters: %0":"Characters: %0","Widget toolbar":"Widget toolbar","Insert paragraph before block":"Insert paragraph before block","Insert paragraph after block":"Insert paragraph after block","Press Enter to type after or press Shift + Enter to type before the widget":"Press Enter to type after or press Shift + Enter to type before the widget","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Upload in progress","Undo":"Undo","Redo":"Redo","Rich Text Editor":"Rich Text Editor","Edit block":"Edit block","Click to edit block":"","Drag to move":"","Next":"Next","Previous":"Previous","Editor toolbar":"Editor toolbar","Dropdown toolbar":"Dropdown toolbar","Dropdown menu":"","Black":"Black","Dim grey":"Dim grey","Grey":"Grey","Light grey":"Light grey","White":"White","Red":"Red","Orange":"Orange","Yellow":"Yellow","Light green":"Light green","Green":"Green","Aquamarine":"Aquamarine","Turquoise":"Turquoise","Light blue":"Light blue","Blue":"Blue","Purple":"Purple","Editor block content toolbar":"Editor block content toolbar","Editor contextual toolbar":"Editor contextual toolbar","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Edit","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"Insert","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"Text","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Insert table","Header column":"Header column","Insert column left":"Insert column left","Insert column right":"Insert column right","Delete column":"Delete column","Select column":"Select column","Column":"Column","Header row":"Header row","Insert row below":"Insert row below","Insert row above":"Insert row above","Delete row":"Delete row","Select row":"Select row","Row":"Row","Merge cell up":"Merge cell up","Merge cell right":"Merge cell right","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Split cell vertically":"Split cell vertically","Split cell horizontally":"Split cell horizontally","Merge cells":"Merge cells","Table toolbar":"Table toolbar","Table properties":"Table properties","Cell properties":"Cell properties","Border":"Border","Style":"Style","Width":"Width","Height":"Height","Color":"Colour","Background":"Background","Padding":"Padding","Dimensions":"Dimensions","Table cell text alignment":"Table cell text alignment","Alignment":"Alignment","Horizontal text alignment toolbar":"Horizontal text alignment toolbar","Vertical text alignment toolbar":"Vertical text alignment toolbar","Table alignment toolbar":"Table alignment toolbar","None":"None","Solid":"Solid","Dotted":"Dotted","Dashed":"Dashed","Double":"Double","Groove":"Groove","Ridge":"Ridge","Inset":"Inset","Outset":"Outset","Align cell text to the left":"Align cell text to the left","Align cell text to the center":"Align cell text to the center","Align cell text to the right":"Align cell text to the right","Justify cell text":"Justify cell text","Align cell text to the top":"Align cell text to the top","Align cell text to the middle":"Align cell text to the middle","Align cell text to the bottom":"Align cell text to the bottom","Align table to the left":"Align table to the left","Center table":"Centre table","Align table to the right":"Align table to the right","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"The colour is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".","Enter table caption":"Enter table caption","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"Styles","Multiple styles":"Multiple styles","Block styles":"Block styles","Text styles":"Text styles","Special characters":"Special characters","Category":"","All":"All","Arrows":"Arrows","Currency":"Currency","Latin":"Latin","Mathematical":"Mathematical","Text":"Text","leftwards simple arrowLine truncated
e[ 'en-au' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'en-au' ].dictionary = Object.assign( e[ 'en-au' ].dictionary, dictionary );
e[ 'en-au' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'en-gb' ]: { dictionary, getPluralForm } } = {"en-gb":{"dictionary":{"Words: %0":"Words: %0","Characters: %0":"Characters: %0","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Upload in progress","Undo":"Undo","Redo":"Redo","Rich Text Editor":"Rich Text Editor","Edit block":"Edit block","Click to edit block":"","Drag to move":"","Next":"Next","Previous":"Previous","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"Black","Dim grey":"Dim grey","Grey":"Grey","Light grey":"Light grey","White":"White","Red":"Red","Orange":"Orange","Yellow":"Yellow","Light green":"Light green","Green":"Green","Aquamarine":"Aquamarine","Turquoise":"Turquoise","Light blue":"Light blue","Blue":"Blue","Purple":"Purple","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Insert table","Header column":"Header column","Insert column left":"Insert column left","Insert column right":"Insert column right","Delete column":"Delete column","Select column":"","Column":"Column","Header row":"Header row","Insert row below":"Insert row below","Insert row above":"Insert row above","Delete row":"Delete row","Select row":"","Row":"Row","Merge cell up":"Merge cell up","Merge cell right":"Merge cell right","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Split cell vertically":"Split cell vertically","Split cell horizontally":"Split cell horizontally","Merge cells":"Merge cells","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","GLine truncated
e[ 'en-gb' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'en-gb' ].dictionary = Object.assign( e[ 'en-gb' ].dictionary, dictionary );
e[ 'en-gb' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'en' ]: { dictionary, getPluralForm } } = {"en":{"dictionary":{"Words: %0":"Words: %0","Characters: %0":"Characters: %0","Widget toolbar":"Widget toolbar","Insert paragraph before block":"Insert paragraph before block","Insert paragraph after block":"Insert paragraph after block","Press Enter to type after or press Shift + Enter to type before the widget":"Press Enter to type after or press Shift + Enter to type before the widget","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Keystrokes that can be used when a widget is selected (for example: image, table, etc.)","Insert a new paragraph directly after a widget":"Insert a new paragraph directly after a widget","Insert a new paragraph directly before a widget":"Insert a new paragraph directly before a widget","Move the caret to allow typing directly before a widget":"Move the caret to allow typing directly before a widget","Move the caret to allow typing directly after a widget":"Move the caret to allow typing directly after a widget","Move focus from an editable area back to the parent widget":"Move focus from an editable area back to the parent widget","Upload in progress":"Upload in progress","Undo":"Undo","Redo":"Redo","Rich Text Editor":"Rich Text Editor","Edit block":"Edit block","Click to edit block":"Click to edit block","Drag to move":"Drag to move","Next":"Next","Previous":"Previous","Editor toolbar":"Editor toolbar","Dropdown toolbar":"Dropdown toolbar","Dropdown menu":"Dropdown menu","Black":"Black","Dim grey":"Dim grey","Grey":"Grey","Light grey":"Light grey","White":"White","Red":"Red","Orange":"Orange","Yellow":"Yellow","Light green":"Light green","Green":"Green","Aquamarine":"Aquamarine","Turquoise":"Turquoise","Light blue":"Light blue","Blue":"Blue","Purple":"Purple","Editor block content toolbar":"Editor block content toolbar","Editor contextual toolbar":"Editor contextual toolbar","HEX":"HEX","No results found":"No results found","No searchable items":"No searchable items","Editor dialog":"Editor dialog","Close":"Close","Help Contents. To close this dialog press ESC.":"Help Contents. To close this dialog press ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Below, you can find a list of keyboard shortcuts that can be used in the editor.","(may require <kbd>Fn</kbd>)":"(may require <kbd>Fn</kbd>)","Accessibility":"Accessibility","Accessibility help":"Accessibility help","Press %0 for help.":"Press %0 for help.","Move focus in and out of an active dialog window":"Move focus in and out of an active dialog window","MENU_BAR_MENU_FILE":"File","MENU_BAR_MENU_EDIT":"Edit","MENU_BAR_MENU_VIEW":"View","MENU_BAR_MENU_INSERT":"Insert","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Tools","MENU_BAR_MENU_HELP":"Help","MENU_BAR_MENU_TEXT":"Text","MENU_BAR_MENU_FONT":"Font","Editor menu bar":"Editor menu bar","Please enter a valid color (e.g. \"ff0000\").":"Please enter a valid color (e.g. \"ff0000\").","Insert table":"Insert table","Header column":"Header column","Insert column left":"Insert column left","Insert column right":"Insert column right","Delete column":"Delete column","Select column":"Select column","Column":"Column","Header row":"Header row","Insert row below":"Insert row below","Insert row above":"Insert row above","Delete row":"Delete row","Select row":"Select row","Row":"Row","Merge cell up":"Merge cell up","Merge cell right":"Merge cell right","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Split cell vertically":"Split cell vertically","Split cell horizontally":"Split cell horizontally","Merge cells":"Merge cells","Table toolbar":"Table toolbar","Table properties":"Table properties","Cell properties":"Cell properties","Border":"Border","Style":"Style","Width":"Width","Height":"Height","Color":"Color","Background":"Background","Padding":"Padding","Dimensions":"Dimensions","Table cell text alignment":"Table cell text alignment","Alignment":"Alignment","Horizontal text alignment toolbar":"Horizontal text alignment toolbar","Vertical text alignment toolbar":"Vertical text alignment toolbar","Table alignment toolbar":"Table alignment toolbar","None":"None","Solid":"Solid","Dotted":"Dotted","Dashed":"Dashed","Double":"Double","Groove":"Groove","Ridge":"Ridge","Inset":"Inset","Outset":"Outset","Align cell text to the left":"Align cell text to the left","Align cell text to the center":"Align cell text to the center","Align cell text to the right":"Align cell text to the right","Justify cell text":"Justify cell text","Align cell text to the top":"Align cell text to the top","Align cell text to the middle":"Align cell text to the middle","Align cell text to the bottom":"Align cell text to the bottom","Align table to the left":"Align table to the left","Center table":"Center table","Align table to the right":"Align table to the right","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"The color is Line truncated
e[ 'en' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'en' ].dictionary = Object.assign( e[ 'en' ].dictionary, dictionary );
e[ 'en' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'eo' ]: { dictionary, getPluralForm } } = {"eo":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"Malfari","Redo":"Refari","Rich Text Editor":"Redaktilo de Riĉa Teksto","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter a witLine truncated
e[ 'eo' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'eo' ].dictionary = Object.assign( e[ 'eo' ].dictionary, dictionary );
e[ 'eo' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'es-co' ]: { dictionary, getPluralForm } } = {"es-co":{"dictionary":{"Words: %0":"Palabras: %0","Characters: %0":"Caracteres: %0","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Carga en progreso","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Editar","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"Insertar","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"",Line truncated
e[ 'es-co' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'es-co' ].dictionary = Object.assign( e[ 'es-co' ].dictionary, dictionary );
e[ 'es-co' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'es' ]: { dictionary, getPluralForm } } = {"es":{"dictionary":{"Words: %0":"Palabras: %0","Characters: %0":"Caracteres: %0","Widget toolbar":"Barra de herramientas del widget","Insert paragraph before block":"Insertar párrafo antes del bloque","Insert paragraph after block":"Insertar párrafo después del bloque","Press Enter to type after or press Shift + Enter to type before the widget":"Pulse Intro para escribir después o pulse Mayús + Intro para escribir antes del «widget».","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Teclas que se pueden utilizar cuando se selecciona un módulo interactivo (por ejemplo: imagen, tabla, etc.)","Insert a new paragraph directly after a widget":"Inserta un nuevo párrafo directamente después de un módulo interactivo","Insert a new paragraph directly before a widget":"Inserta un nuevo párrafo directamente antes de un módulo interactivo","Move the caret to allow typing directly before a widget":"Mueve el cursor para permitir escribir directamente antes de un módulo interactivo","Move the caret to allow typing directly after a widget":"Mueve el cursor para permitir escribir directamente después de un módulo interactivo","Move focus from an editable area back to the parent widget":"Cambiar el foco de un área editable al widget principal","Upload in progress":"Subida en progreso","Undo":"Deshacer","Redo":"Rehacer","Rich Text Editor":"Editor de Texto Enriquecido","Edit block":"Cuadro de edición","Click to edit block":"Haz clic para editar el bloque","Drag to move":"Arrastra para mover","Next":"Siguiente","Previous":"Anterior","Editor toolbar":"Barra de herramientas de edición","Dropdown toolbar":"Barra de herramientas desplegable","Dropdown menu":"Menú desplegable","Black":"Negro","Dim grey":"Gris oscuro","Grey":"Gris","Light grey":"Gris claro","White":"Blanco","Red":"Rojo","Orange":"Naranja","Yellow":"Amarillo","Light green":"Verde claro","Green":"Verde","Aquamarine":"Aguamarina","Turquoise":"Turquesa","Light blue":"Azul claro","Blue":"Azul","Purple":"Morado","Editor block content toolbar":"Barra de herramientas de contenido del bloque del editor","Editor contextual toolbar":"Barra de herramientas contextual del editor","HEX":"HEX","No results found":"No se han encontrado resultados","No searchable items":"No hay elementos que buscar","Editor dialog":"Diálogo del editor","Close":"Cerrar","Help Contents. To close this dialog press ESC.":"Contenidos de ayuda. Presione ESC para cerrar este cuadro de diálogo.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"A continuación, encontrará una lista de atajos de teclado que se pueden utilizar en el editor.","(may require <kbd>Fn</kbd>)":"(puede requerir <kbd>Fn</kbd>)","Accessibility":"Accesibilidad","Accessibility help":"Ayuda de accesibilidad","Press %0 for help.":"Presione %0 para obtener ayuda.","Move focus in and out of an active dialog window":"Mueve el foco dentro y fuera de una ventana de diálogo activa","MENU_BAR_MENU_FILE":"Archivo","MENU_BAR_MENU_EDIT":"Editar","MENU_BAR_MENU_VIEW":"Ver","MENU_BAR_MENU_INSERT":"Insertar","MENU_BAR_MENU_FORMAT":"Formato","MENU_BAR_MENU_TOOLS":"Herramientas","MENU_BAR_MENU_HELP":"Ayuda","MENU_BAR_MENU_TEXT":"Texto","MENU_BAR_MENU_FONT":"Fuente","Editor menu bar":"Barra de menú del editor","Please enter a valid color (e.g. \"ff0000\").":"Introduzca un color válido (p. ej., \"ff0000\").","Insert table":"Insertar tabla","Header column":"Columna de encabezado","Insert column left":"Insertar columna izquierda","Insert column right":"Insertar columna derecha","Delete column":"Eliminar columna","Select column":"Seleccionar columna","Column":"Columna","Header row":"Fila de encabezado","Insert row below":"Insertar fila debajo","Insert row above":"Insertar fila encima","Delete row":"Eliminar fila","Select row":"Seleccionar fila","Row":"Fila","Merge cell up":"Combinar celda superior","Merge cell right":"Combinar celda derecha","Merge cell down":"Combinar celda inferior","Merge cell left":"Combinar celda izquierda","Split cell vertically":"Dividir celdas verticalmente","Split cell horizontally":"Dividir celdas horizontalmente","Merge cells":"Combinar celdas","Table toolbar":"Barra de herramientas de tabla","Table properties":"Propiedades de tabla","Cell properties":"Propiedades de celda","Border":"Borde","Style":"Estilo","Width":"Ancho","Height":"Altura","Color":"Color","Background":"Fondo","Padding":"Márgenes","Dimensions":"Dimensiones","Table cell text alignment":"Alineación texto de celda","Alignment":"Alineación","Horizontal text alignment toolbar":"Alineación horizontal de texto","Vertical text alignment toolbar":"Alineación vertical de texto","Table alignment toolbar":"Alineación de tabla","None":"Ninguno","Solid":"Sólido","Dotted":"Línea de puntos","Dashed":"Línea discontinua","Double":"Doble línea","Groove":"Bisel","Ridge":"Marco","Inset":"Incrustación","Outset":"Relieve","ALine truncated
e[ 'es' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'es' ].dictionary = Object.assign( e[ 'es' ].dictionary, dictionary );
e[ 'es' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'et' ]: { dictionary, getPluralForm } } = {"et":{"dictionary":{"Words: %0":"Sõnu: %0","Characters: %0":"Märke: %0","Widget toolbar":"Vidinate tööriistariba","Insert paragraph before block":"Sisesta lõik enne plokki","Insert paragraph after block":"Sisesta lõik pärast plokki","Press Enter to type after or press Shift + Enter to type before the widget":"Vajutage Enter, et tippida pärast, või Shift + Enter, et tippida enne vidinat","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Klahvikombinatsioonid, mida kasutada vidina (nt pildi, tabeli jne) valimisel","Insert a new paragraph directly after a widget":"Sisesta uus lõik kohe pärast vidinat","Insert a new paragraph directly before a widget":"Sisesta uus lõik kohe enne vidinat","Move the caret to allow typing directly before a widget":"Kohe enne vidinat kirjutamiseks liiguta katusesümbolit","Move the caret to allow typing directly after a widget":"Kohe pärast vidinat kirjutamiseks liiguta katusemärki","Move focus from an editable area back to the parent widget":"Liiguta fookus redigeeritavalt alalt tagasi põhividinale","Upload in progress":"Üleslaadimine pooleli","Undo":"Võta tagasi","Redo":"Tee uuesti","Rich Text Editor":"Tekstiredaktor","Edit block":"Muuda plokki","Click to edit block":"Ploki muutmiseks klõpsa","Drag to move":"Liigutamiseks lohista","Next":"Järgmine","Previous":"Eelmine","Editor toolbar":"Redaktori tööriistariba","Dropdown toolbar":"Avatav tööriistariba","Dropdown menu":"Rippmenüü","Black":"Must","Dim grey":"Tumehall","Grey":"Hall","Light grey":"Helehall","White":"Valge","Red":"Punane","Orange":"Oranž","Yellow":"Kollane","Light green":"Heleroheline","Green":"Roheline","Aquamarine":"Akvamariin","Turquoise":"Türkiis","Light blue":"Helesinine","Blue":"Sinine","Purple":"Lilla","Editor block content toolbar":"Redigeerija ploki sisu tööriistariba","Editor contextual toolbar":"Redigeerija kontekstuaalne tööriistariba","HEX":"HEX","No results found":"Tulemusi ei leitud","No searchable items":"Tulemusi pole","Editor dialog":"Muutja dialoog","Close":"Sulge","Help Contents. To close this dialog press ESC.":"Abistav materjal. Selle dialoogi sulgemiseks vajuta ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Altpoolt leiad redaktoris kasutatavad klahvikombinatsioonid.","(may require <kbd>Fn</kbd>)":"(võib vajada klahvi <kbd>Fn</kbd>)","Accessibility":"Juurdepääsetavus","Accessibility help":"Juurdepääsu abi","Press %0 for help.":"Abi saamiseks vajuta %0.","Move focus in and out of an active dialog window":"Vii kasutusel dialoogiaken fookuses või mitte","MENU_BAR_MENU_FILE":"Fail","MENU_BAR_MENU_EDIT":"Muuda","MENU_BAR_MENU_VIEW":"Kuva","MENU_BAR_MENU_INSERT":"Sisesta","MENU_BAR_MENU_FORMAT":"Vorming","MENU_BAR_MENU_TOOLS":"Tööriistad","MENU_BAR_MENU_HELP":"Abi","MENU_BAR_MENU_TEXT":"Tekst","MENU_BAR_MENU_FONT":"Font","Editor menu bar":"Redaktori menüüriba","Please enter a valid color (e.g. \"ff0000\").":"Sisestage õige värv (nt „ff0000”).","Insert table":"Sisesta tabel","Header column":"Päise veerg","Insert column left":"Sisesta veerg vasakule","Insert column right":"Sisesta veerg paremale","Delete column":"Kustuta veerg","Select column":"Vali veerg","Column":"Veerg","Header row":"Päise rida","Insert row below":"Sisesta rida allapoole","Insert row above":"Sisesta rida ülespoole","Delete row":"Kustuta rida","Select row":"Vali rida","Row":"Rida","Merge cell up":"Liida ülemise lahtriga","Merge cell right":"Liida paremal oleva lahtriga","Merge cell down":"Liida alumise lahtriga","Merge cell left":"Liida vasakul oleva lahtriga","Split cell vertically":"Jaga lahter vertikaalselt","Split cell horizontally":"Jaga lahter horisontaalselt","Merge cells":"Liida lahtrid","Table toolbar":"Tabelite tööriistariba","Table properties":"Tabeli omadused","Cell properties":"Lahtri omadused","Border":"Ääris","Style":"Stiil","Width":"Laius","Height":"Kõrgus","Color":"Värvus","Background":"Taust","Padding":"Vahe sisuni","Dimensions":"Mõõtmed","Table cell text alignment":"Teksti paigutus lahtris","Alignment":"Joondus","Horizontal text alignment toolbar":"Teksti rõhtpaigutuse tööriistariba","Vertical text alignment toolbar":"Teksti püstpaigutuse tööriistariba","Table alignment toolbar":"Tabeli paigutuse tööriistariba","None":"Puudub","Solid":"Pidev","Dotted":"Punktiir","Dashed":"Kriipsjoon","Double":"Topelt","Groove":"Kraav","Ridge":"Vall","Inset":"Süvik","Outset":"Küngas","Align cell text to the left":"Lahtri tekst vasakul","Align cell text to the center":"Lahtri tekst keskel","Align cell text to the right":"Lahtri tekst paremal","Justify cell text":"Lahtri tekst rööpjoondatud","Align cell text to the top":"Lahtri tekst üleval","Align cell text to the middle":"Lahtri tekst kõrguse järgi keskel","Align cell text to the bottom":"Lahtri tekst all","Align table to the left":"Tabel joondatud vasakule","Center table":"TLine truncated
e[ 'et' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'et' ].dictionary = Object.assign( e[ 'et' ].dictionary, dictionary );
e[ 'et' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'eu' ]: { dictionary, getPluralForm } } = {"eu":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"Desegin","Redo":"Berregin","Rich Text Editor":"Testu aberastuaren editorea","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter aLine truncated
e[ 'eu' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'eu' ].dictionary = Object.assign( e[ 'eu' ].dictionary, dictionary );
e[ 'eu' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'fa' ]: { dictionary, getPluralForm } } = {"fa":{"dictionary":{"Words: %0":"تعداد لغات : %0","Characters: %0":"تعداد حروف : %0","Widget toolbar":"نوار ابزار ویجت","Insert paragraph before block":"درج پاراگراف قبل از بلوک","Insert paragraph after block":"درج پاراگراف بعد از بلوک","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"آپلود در حال انجام","Undo":"بازگردانی","Redo":"باز انجام","Rich Text Editor":"ویرایشگر متن غنی","Edit block":"ویرایش قطعه","Click to edit block":"برای ویرایش بلوک کلیک کنید","Drag to move":"برای حرکت دادن بکشید","Next":"بعدی","Previous":"قبلی","Editor toolbar":"نوارابزار ویرایشگر","Dropdown toolbar":"نوارابزار کشویی","Dropdown menu":"","Black":"سیاه","Dim grey":"خاکستری تیره","Grey":"خاکستری","Light grey":"خاکستری روشن","White":"سفید","Red":"قرمز","Orange":"نارنجی","Yellow":"زرد","Light green":"سبز روشن","Green":"سبز","Aquamarine":"زمرد کبود","Turquoise":"فیروزه ای","Light blue":"آبی روشن","Blue":"آبی","Purple":"بنفش","Editor block content toolbar":"نوار ابزار محتوای بلوک ویرایشگر","Editor contextual toolbar":"","HEX":"هگز","No results found":"نتیجه ای یافت نشد","No searchable items":"موارد قابل جستجو وجود ندارد","Editor dialog":"","Close":"بستن","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"در زیر، می توانید لیستی از میانبرهای صفحه کلید را که می توان در ویرایشگر استفاده کرد، پیدا کنید.","(may require <kbd>Fn</kbd>)":"","Accessibility":"دسترسی","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"فایل","MENU_BAR_MENU_EDIT":"ویرایش","MENU_BAR_MENU_VIEW":"نمایش","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"قالب","MENU_BAR_MENU_TOOLS":"ابزار ها","MENU_BAR_MENU_HELP":"کمک","MENU_BAR_MENU_TEXT":"متن","MENU_BAR_MENU_FONT":"فونت","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"درج جدول","Header column":"ستون سربرگ","Insert column left":"درج ستون در سمت چپ","Insert column right":"درج ستون در سمت راست","Delete column":"حذف ستون","Select column":"","Column":"ستون","Header row":"سطر سربرگ","Insert row below":"درج سطر در پایین","Insert row above":"درج سطر در بالا","Delete row":"حذف سطر","Select row":"","Row":"سطر","Merge cell up":"ادغام سلول بالا","Merge cell right":"ادغام سلول راست","Merge cell down":"ادغام سلول پایین","Merge cell left":"ادغام سلول چپ","Split cell vertically":"تقسیم عمودی سلول","Split cell horizontally":"تقسیم افقی سلول","Merge cells":"ادغام سلول ها","Table toolbar":"نوارابزار جدول","Table properties":"خصوصیات جدول","Cell properties":"خصوصیات سلول","Border":"حاشیه","Style":"","Width":"عرض","Height":"ارتفاع","Color":"رنگ","Background":"زمینه","Padding":"حاشیه داخلی","Dimensions":"ابعاد","Table cell text alignment":"","Alignment":"ترازبندی","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"هیچ کدام","Solid":"توپر","Dotted":"خط چین","Dashed":"نقطه چین","Double":"دوبل","Groove":"خط دار کردن","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"متن سلول را در سمت راست تراز کنید","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"جدول وسط","Align table to the right":"جدول را در سمت راست تراز کنید","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move tLine truncated
e[ 'fa' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'fa' ].dictionary = Object.assign( e[ 'fa' ].dictionary, dictionary );
e[ 'fa' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'fi' ]: { dictionary, getPluralForm } } = {"fi":{"dictionary":{"Words: %0":"Sanoja: %0","Characters: %0":"Merkkejä: %0","Widget toolbar":"Widget-työkalupalkki","Insert paragraph before block":"Liitä kappale ennen lohkoa","Insert paragraph after block":"Liitä kappale lohkon jälkeen","Press Enter to type after or press Shift + Enter to type before the widget":"Paina enter-näppäintä kirjoittaaksesi tai paina shift + enter kirjoittaaksesi ennen widget-sovellusta","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Painallukset, joita voidaan käyttää widgetin valitsemisen yhteydessä (esimerkiksi: kuva, taulukko jne.)","Insert a new paragraph directly after a widget":"Lisää uusi kappale suoraan widgetin jälkeen","Insert a new paragraph directly before a widget":"Lisää uusi kappale suoraan widgetin eteen","Move the caret to allow typing directly before a widget":"Siirrä sirkumfleksimerkkiä voidaksesi kirjoittaa suoraan ennen widgetiä","Move the caret to allow typing directly after a widget":"Siirrä sirkumfleksimerkkiä voidaksesi kirjoittaa suoraan widgetin jälkeen","Move focus from an editable area back to the parent widget":"Siirrä valinta muokattavasta alueesta takaisin pääpienoissovellukseen","Upload in progress":"Lähetys käynnissä","Undo":"Peru","Redo":"Tee uudelleen","Rich Text Editor":"Rikas tekstieditori","Edit block":"Muokkaa lohkoa","Click to edit block":"Muokkaa lohkoa klikkaamalla","Drag to move":"Siirrä raahamalla","Next":"Seuraava","Previous":"Edellinen","Editor toolbar":"Editorin työkalupalkki","Dropdown toolbar":"Pudotusvalikon työkalupalkki","Dropdown menu":"Pudotusvalikko","Black":"Musta","Dim grey":"Vaaleanharmaa","Grey":"Harmaa","Light grey":"Vaaleanharmaa","White":"Valkoinen","Red":"Punainen","Orange":"Oranssi","Yellow":"Keltainen","Light green":"Vaaleanvihreä","Green":"Vihreä","Aquamarine":"Akvamariini","Turquoise":"Turkoosi","Light blue":"Vaaleansininen","Blue":"Sininen","Purple":"Purppura","Editor block content toolbar":"Editorin lohkon sisällön työkalupalkki","Editor contextual toolbar":"Editorin kontekstuaalinen työkalupalkki","HEX":"HEX","No results found":"Tuloksia ei löytynyt","No searchable items":"Ei haettavia nimikkeitä","Editor dialog":"Editorin dialogi","Close":"Sulje","Help Contents. To close this dialog press ESC.":"Tukisisältö. Voit sulkea tämän dialogin painamalla ESC-näppäintä.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Ohessa on tässä editointityökalussa käytettävien näppäinoikoteiden lista.","(may require <kbd>Fn</kbd>)":"(Saattaa vaatia <kbd>Fn</kbd>:n)","Accessibility":"Käytettävyys","Accessibility help":"Esteettömyystuki","Press %0 for help.":"Paina %0 -näppäintä, jos tarvitset apua.","Move focus in and out of an active dialog window":"Siirry lähemmäs ja kauemmas käytössä olevasta dialogi-ikkunasta","MENU_BAR_MENU_FILE":"Tiedosto","MENU_BAR_MENU_EDIT":"Muokkaa","MENU_BAR_MENU_VIEW":"Näytä","MENU_BAR_MENU_INSERT":"Liitä","MENU_BAR_MENU_FORMAT":"Muoto","MENU_BAR_MENU_TOOLS":"Työkalut","MENU_BAR_MENU_HELP":"Tuki","MENU_BAR_MENU_TEXT":"Teksti","MENU_BAR_MENU_FONT":"Fontti","Editor menu bar":"Muokkaustyökalun valikkopalkki","Please enter a valid color (e.g. \"ff0000\").":"Syötäthän pätevän värin (esim. \"ff0000\").","Insert table":"Lisää taulukko","Header column":"Otsikkosarake","Insert column left":"Lisää sarake vasemmalle","Insert column right":"Lisää sarake oikealle","Delete column":"Poista sarake","Select column":"Valitse sarake","Column":"Sarake","Header row":"Otsikkorivi","Insert row below":"Lisää rivi alle","Insert row above":"Lisää rivi ylle","Delete row":"Poista rivi","Select row":"Valitse rivi","Row":"Rivi","Merge cell up":"Yhdistä solu ylös","Merge cell right":"Yhdistä solu oikealle","Merge cell down":"Yhdistä solu alas","Merge cell left":"Yhdistä solu vasemmalle","Split cell vertically":"Jaa solu pystysuunnassa","Split cell horizontally":"Jaa solu vaakasuunnassa","Merge cells":"Yhdistä tai jaa soluja","Table toolbar":"Taulukon työkalupalkki","Table properties":"Taulukon ominaisuudet","Cell properties":"Solun ominaisuudet","Border":"Reunus","Style":"Tyyli","Width":"Leveys","Height":"Korkeus","Color":"Väri","Background":"Tausta","Padding":"Täyte","Dimensions":"Mittasuhteet","Table cell text alignment":"Taulukkosolun tekstin suunta","Alignment":"Suunta","Horizontal text alignment toolbar":"Vaakasuoran tekstin suunnan työkalupalkki","Vertical text alignment toolbar":"Pystysuoran tekstin suunnan työkalupalkki","Table alignment toolbar":"Taulukon suunnan työkalupalkki","None":"Ei mitään","Solid":"Kiinteä","Dotted":"Pisteviiva","Dashed":"Katkoviiva","Double":"Kaksinkertainen","Groove":"Uurrettu","Ridge":"Harjanne","Inset":"Upote","Outset":"Ulkonema","Align cell text to the left":"Siirrä solun teksti vasemmalle","Align cell text to the center":"Siirrä solun teksti keskelle","Align Line truncated
e[ 'fi' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'fi' ].dictionary = Object.assign( e[ 'fi' ].dictionary, dictionary );
e[ 'fi' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'fr' ]: { dictionary, getPluralForm } } = {"fr":{"dictionary":{"Words: %0":"Mots : %0","Characters: %0":"Caractères : %0","Widget toolbar":"Barre d'outils du widget","Insert paragraph before block":"Insérer du texte avant ce bloc","Insert paragraph after block":"Insérer du texte après ce bloc","Press Enter to type after or press Shift + Enter to type before the widget":"Appuyez sur la touche Entrée pour taper après ou sur Maj + Entrée pour taper avant le widget.","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Frappes de touches pouvant être utilisées lorsqu'un widget est sélectionné (par exemple : image, tableau, etc.)","Insert a new paragraph directly after a widget":"Insérer un nouveau paragraphe directement après un widget","Insert a new paragraph directly before a widget":"Insérer un nouveau paragraphe directement avant un widget","Move the caret to allow typing directly before a widget":"Déplacez le curseur pour permettre la saisie directement avant un widget","Move the caret to allow typing directly after a widget":"Déplacez le curseur pour permettre de taper directement après un widget","Move focus from an editable area back to the parent widget":"Déplacer le focus d'une zone modifiable vers le widget parent","Upload in progress":"Téléchargement en cours","Undo":"Annuler","Redo":"Restaurer","Rich Text Editor":"Éditeur de texte enrichi","Edit block":"Modifier le bloc","Click to edit block":"Cliquer pour modifier le bloc","Drag to move":"Faire glisser pour déplacer","Next":"Suivant","Previous":"Précedent","Editor toolbar":"Barre d'outils de l'éditeur","Dropdown toolbar":"Barre d'outils dans un menu déroulant","Dropdown menu":"Menu déroulant","Black":"Noir","Dim grey":"Gris pâle","Grey":"Gris","Light grey":"Gris clair","White":"Blanc","Red":"Rouge","Orange":"Orange","Yellow":"Jaune","Light green":"Vert clair","Green":"Vert","Aquamarine":"Bleu vert","Turquoise":"Turquoise","Light blue":"Bleu clair","Blue":"Bleu","Purple":"Violet","Editor block content toolbar":"Barre d'outils du contenu du bloc éditeur","Editor contextual toolbar":"Barre d'outils contextuelle de l'éditeur","HEX":"HEX","No results found":"Aucun résultat trouvé","No searchable items":"Aucun élément consultable","Editor dialog":"Boîte de dialogue de l'éditeur","Close":"Fermer","Help Contents. To close this dialog press ESC.":"Contenu de l'aide. Pour fermer cette boîte de dialogue, appuyez sur ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Ci-dessous, vous trouverez une liste de raccourcis clavier pouvant être utilisés dans l’éditeur.","(may require <kbd>Fn</kbd>)":"(peut nécessiter <kbd> Fn </kbd> )","Accessibility":"Accessibilité","Accessibility help":"Aide à l'accessibilité","Press %0 for help.":"Appuyez sur %0 pour obtenir de l'aide.","Move focus in and out of an active dialog window":"Déplacer le focus vers et hors d'une fenêtre de dialogue active","MENU_BAR_MENU_FILE":"Fichier","MENU_BAR_MENU_EDIT":"Éditer","MENU_BAR_MENU_VIEW":"Afficher","MENU_BAR_MENU_INSERT":"Insérer","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Outils","MENU_BAR_MENU_HELP":"Aide","MENU_BAR_MENU_TEXT":"Texte","MENU_BAR_MENU_FONT":"Police de caractère","Editor menu bar":"Barre de menu de l'éditeur","Please enter a valid color (e.g. \"ff0000\").":"Veuillez saisir une couleur valide (par exemple « ff0000 »).","Insert table":"Insérer un tableau","Header column":"Colonne d'entête","Insert column left":"Insérer une colonne à gauche","Insert column right":"Insérer une colonne à droite","Delete column":"Supprimer la colonne","Select column":"Sélectionner la colonne","Column":"Colonne","Header row":"Ligne d'entête","Insert row below":"Insérer une ligne en-dessous","Insert row above":"Insérer une ligne au-dessus","Delete row":"Supprimer la ligne","Select row":"Sélectionner la ligne","Row":"Ligne","Merge cell up":"Fusionner la cellule au-dessus","Merge cell right":"Fusionner la cellule à droite","Merge cell down":"Fusionner la cellule en-dessous","Merge cell left":"Fusionner la cellule à gauche","Split cell vertically":"Scinder la cellule verticalement","Split cell horizontally":"Scinder la cellule horizontalement","Merge cells":"Fusionner les cellules","Table toolbar":"Barre d'outils des tableaux","Table properties":"Propriétés du tableau","Cell properties":"Propriétés de la cellule","Border":"Bordure","Style":"Style","Width":"Largeur","Height":"Hauteur","Color":"Couleur","Background":"Fond","Padding":"Remplissage pour aérer le texte","Dimensions":"Dimensions","Table cell text alignment":"Alignement du texte de la cellule","Alignment":"Alignement","Horizontal text alignment toolbar":"Barre d'outils pour modifier l'alignement horizontal du texte","Vertical text alignment toolbar":"Barre d'outils pour modifier l'alignement vertical du texte","Table alignment toolbar":"Barre d'outils pour modifier l'aLine truncated
e[ 'fr' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'fr' ].dictionary = Object.assign( e[ 'fr' ].dictionary, dictionary );
e[ 'fr' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'gl' ]: { dictionary, getPluralForm } } = {"gl":{"dictionary":{"Words: %0":"Palabras: %0","Characters: %0":"Caracteres: %0","Widget toolbar":"Barra de ferramentas de trebellos","Insert paragraph before block":"Inserir parágrafo antes do bloque","Insert paragraph after block":"Inserir parágrafo após o bloque","Press Enter to type after or press Shift + Enter to type before the widget":"Prema Intro para escribir após ou prema Maiús + Intro para escribir antes do trebello","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Teclas de atallo que se poden usar cando se selecciona un trebello (por exemplo: imaxe, táboa, etc.)","Insert a new paragraph directly after a widget":"Inserir directamente un novo parágrafo após un trebello","Insert a new paragraph directly before a widget":"Inserir directamente un novo parágrafo antes dun trebello","Move the caret to allow typing directly before a widget":"Mover o cursor para permitir escribir directamente antes dun trebello","Move the caret to allow typing directly after a widget":"Mover o cursor para permitir escribir directamente após un trebello","Move focus from an editable area back to the parent widget":"Mover o foco dunha área editábel de volta ao trebello principal","Upload in progress":"Envío en proceso","Undo":"Desfacer","Redo":"Refacer","Rich Text Editor":"Editor de texto mellorado","Edit block":"Editar bloque","Click to edit block":"Prema para editar o bloque","Drag to move":"Arrastre para mover","Next":"Seguinte","Previous":"Anterior","Editor toolbar":"Barra de ferramentas do editor","Dropdown toolbar":"Barra de ferramentas despregábel","Dropdown menu":"Menú despregábel","Black":"Negro","Dim grey":"Gris fume","Grey":"Gris","Light grey":"Gris claro","White":"Branco","Red":"Vermello","Orange":"Laranxa","Yellow":"Amarelo","Light green":"Verde claro","Green":"Verde","Aquamarine":"Augamariña","Turquoise":"Turquesa","Light blue":"Azul claro","Blue":"Azul","Purple":"Púrpura","Editor block content toolbar":"Barra de ferramentas de contido do bloque do editor","Editor contextual toolbar":"Barra de ferramentas contextual do editor","HEX":"HEX","No results found":"Non se atoparon resultados","No searchable items":"Non hai elementos que se poidan buscar","Editor dialog":"Diálogo do editor","Close":"Pechar","Help Contents. To close this dialog press ESC.":"Contidos de axuda. Para pechar este diálogo prema ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"A continuación, pode atopar unha lista de atallos de teclado que se poden usar no editor.","(may require <kbd>Fn</kbd>)":"(pode ser necesaria <kbd>Fn</kbd>)","Accessibility":"Accesibilidade","Accessibility help":"Axuda de accesibilidade","Press %0 for help.":"Prema %0 para obter axuda.","Move focus in and out of an active dialog window":"Move o foco dentro e fóra dunha xanela de diálogo activa","MENU_BAR_MENU_FILE":"Ficheiro","MENU_BAR_MENU_EDIT":"Editar","MENU_BAR_MENU_VIEW":"Ver","MENU_BAR_MENU_INSERT":"Inserir","MENU_BAR_MENU_FORMAT":"Formato","MENU_BAR_MENU_TOOLS":"Ferramentas","MENU_BAR_MENU_HELP":"Axuda","MENU_BAR_MENU_TEXT":"Texto","MENU_BAR_MENU_FONT":"Tipo de letra","Editor menu bar":"Barra de menú do editor","Please enter a valid color (e.g. \"ff0000\").":"Introduza unha cor válida (p. ex., «ff0000»).","Insert table":"Inserir táboa","Header column":"Cabeceira de columna","Insert column left":"Inserir columna á esquerda","Insert column right":"Inserir columna á dereita","Delete column":"Eliminar columna","Select column":"Seleccionar columna","Column":"Columna","Header row":"Cabeceira de fila","Insert row below":"Inserir fila embaixo","Insert row above":"Inserir fila enriba","Delete row":"Eliminar fila","Select row":"Seleccionar fila","Row":"Fila","Merge cell up":"Combinar cela cara arriba","Merge cell right":"Combinar cela cara a dereita","Merge cell down":"Combinar cela cara abaixo","Merge cell left":"Combinar cela cara a esquerda","Split cell vertically":"Dividir cela en vertical","Split cell horizontally":"Dividir cela en horizontal","Merge cells":"Combinar celas","Table toolbar":"Barra de ferramentas de táboas","Table properties":"Propiedades da táboa","Cell properties":"Propiedades da cela","Border":"Bordo","Style":"Estilo","Width":"Largo","Height":"Alto","Color":"Cor","Background":"Fondo","Padding":"Recheo","Dimensions":"Dimensións","Table cell text alignment":"Aliñamento do texto das celas da táboa","Alignment":"Aliñamento","Horizontal text alignment toolbar":"Barra de ferramentas de aliñamento de texto horizontal","Vertical text alignment toolbar":"Barra de ferramentas de aliñamento de texto vertical","Table alignment toolbar":"Barra de ferramentas de aliñamento da táboa","None":"Ningún","Solid":"Sólido","Dotted":"Punteado","Dashed":"Raiado","Double":"Dobre","Groove":"Rañura","Ridge":"Crista","Inset":"Inserción","Outset":"Inicio","Align cell text to the left":"Aliñar o tLine truncated
e[ 'gl' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'gl' ].dictionary = Object.assign( e[ 'gl' ].dictionary, dictionary );
e[ 'gl' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'gu' ]: { dictionary, getPluralForm } } = {"gu":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter a with breve":"","Latin capital letter a wiLine truncated
e[ 'gu' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'gu' ].dictionary = Object.assign( e[ 'gu' ].dictionary, dictionary );
e[ 'gu' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'he' ]: { dictionary, getPluralForm } } = {"he":{"dictionary":{"Words: %0":"מס' מילים: %0","Characters: %0":"מס' תווים: %0","Widget toolbar":"סרגל יישומון","Insert paragraph before block":"הוספת פסקה מעל","Insert paragraph after block":"הוספת פסקה מתחת","Press Enter to type after or press Shift + Enter to type before the widget":"לחץ Enter כדי להקליד לפני היישומון או Shift + Enter כדי להקליד אחריו","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"מקשים בהם ניתן להשתמש כאשר נבחר ווידג'ט (לדוגמה: תמונה, טבלה וכו')","Insert a new paragraph directly after a widget":"הוספת פסקה חדשה ישירות אחרי ווידג'ט","Insert a new paragraph directly before a widget":"הוספת פסקה חדשה ישירות לפני ווידג'ט","Move the caret to allow typing directly before a widget":"הזזת הסמן כדי לאפשר הקלדה ישירות לפני ווידג'ט","Move the caret to allow typing directly after a widget":"הזזת הסמן כדי לאפשר הקלדה ישירות אחרי ווידג'ט","Move focus from an editable area back to the parent widget":"החזרת המיקוד מאזור בר-עריכה לחפיץ האב","Upload in progress":"העלאה מתבצעת","Undo":"ביטול","Redo":"ביצוע מחדש","Rich Text Editor":"עורך טקסט עשיר","Edit block":"הגדרות בלוק","Click to edit block":"להקיש לעריכת בלוק","Drag to move":"לגרור כדי להזיז","Next":"הבא","Previous":"הקודם","Editor toolbar":"סרגל הכלים","Dropdown toolbar":"סרגל כלים נפתח","Dropdown menu":"תפריט נפתח","Black":"שחור","Dim grey":"אפור עמום","Grey":"אפור","Light grey":"אפור בהיר","White":"לבן","Red":"אדום","Orange":"כתום","Yellow":"צהוב","Light green":"ירוק בהיר","Green":"ירוק","Aquamarine":"ירוק-כחלחל","Turquoise":"טורקיז","Light blue":"כחול בהיר","Blue":"כחול","Purple":"סגול","Editor block content toolbar":"סרגל כלים של תוכן בלוק של העורך","Editor contextual toolbar":"סרגל כלים הקשרי של העורך","HEX":"HEX","No results found":"לא נמצאו תוצאות","No searchable items":"אין פריטים ניתנים לחיפוש","Editor dialog":"חלון דו-שיח של העורך","Close":"סגור","Help Contents. To close this dialog press ESC.":"תוכן עזרה. כדי לסגור תיבת דו-שיח זו יש להקיש על ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"להלן, תוכלו למצוא רשימה של קיצורי מקשים בהם ניתן להשתמש בעורך.","(may require <kbd>Fn</kbd>)":"(עשוי לדרוש <kbd>Fn</kbd>)","Accessibility":"נגישות","Accessibility help":"עזרה בנושא נגישות","Press %0 for help.":"לחצו על %0 לקבלת עזרה.","Move focus in and out of an active dialog window":"הזזת המיקוד פנימה והחוצה מחלון דו-שיח פעיל","MENU_BAR_MENU_FILE":"קובץ","MENU_BAR_MENU_EDIT":"ערוך","MENU_BAR_MENU_VIEW":"תצוגה","MENU_BAR_MENU_INSERT":"הכנס","MENU_BAR_MENU_FORMAT":"עיצוב","MENU_BAR_MENU_TOOLS":"כלים","MENU_BAR_MENU_HELP":"עזרה","MENU_BAR_MENU_TEXT":"טקסט","MENU_BAR_MENU_FONT":"גופן","Editor menu bar":"שורת התפריטים של העורך","Please enter a valid color (e.g. \"ff0000\").":"נא להזין צבע חוקי (למשל \"ff0000\").","Insert table":"הכנס טבלה","Header column":"עמודת כותרת","Insert column left":"הכנסת עמודה משמאל","Insert column right":"הכנסת עמודה מימן","Delete column":"מחיקת עמודה","Select column":"בחירת עמודה","Column":"עמודה","Header row":"שורת כותרת","Insert row below":"הכנה שורה מתחת","Insert row above":"הכנסת שורה מעל","Delete row":"מחיקת שורה","Select row":"בחירת שורה","Row":"שורה","Merge cell up":"מיזוג תא למעלה","Merge cell right":"מיזוג תא ימינה","Merge cell down":"מיזוג תא למטה","Merge cell left":"מיזוג תא שמאלה","Split cell vertically":"פיצול תא אנכית","Split cell horizontally":"פיצול תא אופקית","Merge cells":"מיזוג תאים","Table toolbar":"סרגל כלים של טבלה","Table properties":"אפשרויות טבלה","Cell properties":"אפשרויות תא","Border":"גבול","Style":"עיצוב","Width":"רוחב","Height":"גובה","Color":"צבע","Background":"רקע","Padding":"מרווח","Dimensions":"ממדים","Table cell text alignment":"יישור טקסט של תא טבלה","Alignment":"יישור","Horizontal text alignment toolbar":"סרגל כלים של יישורLine truncated
e[ 'he' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'he' ].dictionary = Object.assign( e[ 'he' ].dictionary, dictionary );
e[ 'he' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'hi' ]: { dictionary, getPluralForm } } = {"hi":{"dictionary":{"Words: %0":"Words: %0","Characters: %0":"Characters: %0","Widget toolbar":"Widget toolbar","Insert paragraph before block":"Insert paragraph before block","Insert paragraph after block":"Insert paragraph after block","Press Enter to type after or press Shift + Enter to type before the widget":"विजेट के बाद टाइप करने के लिए एंटर दबाएं या पहले टाइप करने के लिए शिफ्ट+एंटर दबाएं","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"वे कीस्ट्रोक्स जिनका इस्तेमाल किसी विजेट के सेलेक्ट किए जाने पर किया जा सकता है (जैसे: इमेज, टेबल, आदि)","Insert a new paragraph directly after a widget":"किसी विजेट के ठीक आगे एक नया पैराग्राफ़ इंसर्ट करें","Insert a new paragraph directly before a widget":"किसी विजेट के ठीक पीछे एक नया पैराग्राफ़ इंसर्ट करें","Move the caret to allow typing directly before a widget":"किसी विजेट के ठीक पीछे टाइप करने के लिए कैरेट को मूव करें","Move the caret to allow typing directly after a widget":"किसी विजेट के ठीक आगे टाइप करने के लिए कैरेट को मूव करें","Move focus from an editable area back to the parent widget":"एक एडिटेबल एरिया से पेरेंट विजेट पर फ़ोकस वापिस लाएँ","Upload in progress":"Upload in progress","Undo":"Undo","Redo":"Redo","Rich Text Editor":"Rich Text Editor","Edit block":"Edit block","Click to edit block":"ब्लॉक एडिट करने के लिए क्लिक करें","Drag to move":"मूव करने के लिए ड्रैग करें","Next":"Next","Previous":"Previous","Editor toolbar":"Editor toolbar","Dropdown toolbar":"Dropdown toolbar","Dropdown menu":"ड्रापडाउन मेन्यू","Black":"Black","Dim grey":"Dim grey","Grey":"Grey","Light grey":"Light grey","White":"White","Red":"Red","Orange":"Orange","Yellow":"Yellow","Light green":"Light green","Green":"Green","Aquamarine":"Aquamarine","Turquoise":"Turquoise","Light blue":"Light blue","Blue":"Blue","Purple":"Purple","Editor block content toolbar":"एडीटर ब्लॉक कंटेंट टूलबार","Editor contextual toolbar":"एडीटर कॉन्टेक्स्टूअल टूलबार","HEX":"HEX","No results found":"कोई रिजल्ट नहीं","No searchable items":"कोई खोजने लायक आइटम नहीं","Editor dialog":"एडिटर डायलॉग","Close":"बंद करें","Help Contents. To close this dialog press ESC.":"हेल्प कॉन्टेंट्स. इस डायलॉग को बंद करने के लिए ESC दबाएँ.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"नीचे, आप उन कीबोर्ड शॉर्टकट्स की एक लिस्ट देख सकते हैं जिनका इस्तेमाल एडिटर में किया जा सकता है.","(may require <kbd>Fn</kbd>)":"(इसके लिए <kbd>Fn</kbd> की ज़रूरत हो सकती है)","Accessibility":"पहुँच","Accessibility help":"एक्सेसिबिलिटी हेल्प","Press %0 for help.":"हेल्प के लिए %0 दबाएँ.","Move focus in and out of an active dialog window":"एक एक्टिव डायलॉग विंडो में फ़ोकस को अंदर और बाहर मूव करें","MENU_BAR_MENU_FILE":"फाइल","MENU_BAR_MENU_EDIT":"Edit","MENU_BAR_MENU_VIEW":"दृश्य","MENU_BAR_MENU_INSERT":"Insert","MENU_BAR_MENU_FORMAT":"फॉर्मेट","MENU_BAR_MENU_TOOLS":"टूल्स","MENU_BAR_MENU_HELP":"हेल्प","MENU_BAR_MENU_TEXT":"टेक्स्ट","MENU_BAR_MENU_FONT":"फ़ॉन्ट","Editor menu bar":"एडिटर मेनू बार","Please enter a valid color (e.g. \"ff0000\").":"कृपया एक वैध रंग दर्ज करें (उदाहरण के लिए \"ff0000\").","Insert table":"Insert table","Header column":"Header column","Insert column left":"Insert column left","Insert column right":"Insert column right","Delete column":"Delete column","Select column":"Line truncated
e[ 'hi' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'hi' ].dictionary = Object.assign( e[ 'hi' ].dictionary, dictionary );
e[ 'hi' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'hr' ]: { dictionary, getPluralForm } } = {"hr":{"dictionary":{"Words: %0":"Riječi: %0","Characters: %0":"Znakova: %0","Widget toolbar":"Traka sa spravicama","Insert paragraph before block":"Umetni odlomak prije bloka","Insert paragraph after block":"Umetni odlomak poslije bloka","Press Enter to type after or press Shift + Enter to type before the widget":"Pritisnite Enter za upisivanje nakon ili pritisnite Shift + Enter za upisivanje prije widgeta","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Slanje u tijeku","Undo":"Poništi","Redo":"Ponovi","Rich Text Editor":"Rich Text Editor","Edit block":"Uredi blok","Click to edit block":"","Drag to move":"","Next":"Sljedeći","Previous":"Prethodni","Editor toolbar":"Traka uređivača","Dropdown toolbar":"Traka padajućeg izbornika","Dropdown menu":"","Black":"Crna","Dim grey":"Tamnosiva","Grey":"Siva","Light grey":"Svijetlosiva","White":"Bijela","Red":"Crvena","Orange":"Narančasta","Yellow":"Žuta","Light green":"Svijetlozelena","Green":"Zelena","Aquamarine":"Akvamarin","Turquoise":"Tirkizna","Light blue":"Svijetloplava","Blue":"Plava","Purple":"Ljubičasta","Editor block content toolbar":"Alatna traka sadržaja uređivača blokova","Editor contextual toolbar":"Kontekstualna alatna traka uređivača","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Promijeni","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"Ubaci","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"Tekst","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Ubaci tablicu","Header column":"Kolona zaglavlja","Insert column left":"Umetni stupac lijevo","Insert column right":"Umetni stupac desno","Delete column":"Obriši kolonu","Select column":"Odaberi stupac","Column":"Kolona","Header row":"Red zaglavlja","Insert row below":"Ubaci red ispod","Insert row above":"Ubaci red iznad","Delete row":"Obriši red","Select row":"Odaberi redak","Row":"Red","Merge cell up":"Spoji ćelije prema gore","Merge cell right":"Spoji ćelije prema desno","Merge cell down":"Spoji ćelije prema dolje","Merge cell left":"Spoji ćelije prema lijevo","Split cell vertically":"Razdvoji ćeliju okomito","Split cell horizontally":"Razdvoji ćeliju vodoravno","Merge cells":"Spoji ćelije","Table toolbar":"Traka za tablice","Table properties":"Svojstva tablice","Cell properties":"Svojstva ćelije","Border":"Granica","Style":"Stil","Width":"Širina","Height":"Visina","Color":"Boja","Background":"Pozadina","Padding":"Podstava","Dimensions":"Dimenzije","Table cell text alignment":"Poravnanje teksta ćelije tablice","Alignment":"Poravnanje","Horizontal text alignment toolbar":"Alatna traka za horizontalno poravnanje teksta","Vertical text alignment toolbar":"Alatna traka za vertikalno poravnanje teksta","Table alignment toolbar":"Alatna traka za poravnanje tablice","None":"Nikakva","Solid":"Neprekidna","Dotted":"Točkasta","Dashed":"Crtičasta","Double":"Dvostruka","Groove":"","Ridge":"Greben","Inset":"","Outset":"","Align cell text to the left":"Tekst ćelije poravnaj lijevo","Align cell text to the center":"Tekst ćelije poravnaj u sredinu","Align cell text to the right":"Tekst ćelije poravnaj udesno","Justify cell text":"Razvuci tekst ćelije","Align cell text to the top":"Tekst ćelije poravnaj prema gore","Align cell text to the middle":"Tekst ćelije poravnaj u sredinu","Align cell text to the bottom":"Tekst ćelije poravnaj prema dolje","Align table to the left":"Poravnaj tablicu ulijevo","Center table":"Centriraj tablicu","Align table to the right":"Poravnaj tablicu udesno","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"Neispravna boja. Pokušajte \"#FF0000\" ili \"rgb(255,0,0)\" ili \"red\".","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"Neispravna vrijednost. Pokušajte \"10px\" ili \"2em\" ili jednostavno \"2\".","Enter table caption":"Unesite natpis","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"Stilovi","Multiple styles":"Više stilova","BlockLine truncated
e[ 'hr' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'hr' ].dictionary = Object.assign( e[ 'hr' ].dictionary, dictionary );
e[ 'hr' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'hu' ]: { dictionary, getPluralForm } } = {"hu":{"dictionary":{"Words: %0":"Szavak: %0","Characters: %0":"Karakterek: %0","Widget toolbar":"Widget eszköztár","Insert paragraph before block":"Bekezdés beszúrása elé","Insert paragraph after block":"Bekezdés beszúrása utána","Press Enter to type after or press Shift + Enter to type before the widget":"Az Enter billentyű megnyomásával a widget után, a Shift + Enter kombinációval pedig a widget előtt írhatja be a szöveget","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Billentyűleütések, amelyek egy widget kiválasztásakor (például: kép, táblázat, stb.) használhatók","Insert a new paragraph directly after a widget":"Egy új bekezdés beszúrása közvetlenül a widget mögé","Insert a new paragraph directly before a widget":"Egy új bekezdés beszúrása közvetlenül a widget elé","Move the caret to allow typing directly before a widget":"Mozgasd a kurzort, hogy hogy közvetlenül a widget elé tudj gépelni","Move the caret to allow typing directly after a widget":"Mozgasd a kurzort, hogy közvetlenül a widget után tudj gépelni","Move focus from an editable area back to the parent widget":"Helyezze vissza a fókuszt egy szerkeszthető területről a szülő widgetre.","Upload in progress":"A feltöltés folyamatban","Undo":"Visszavonás","Redo":"Újra","Rich Text Editor":"Bővített szövegszerkesztő","Edit block":"Blokk szerkesztése","Click to edit block":"Kattintson a blokk szerkesztéséhez","Drag to move":"Húzza a mozgatáshoz","Next":"Következő","Previous":"Előző","Editor toolbar":"Szerkesztő eszköztár","Dropdown toolbar":"Lenyíló eszköztár","Dropdown menu":"Legördülő menü","Black":"Fekete","Dim grey":"Halvány szürke","Grey":"Szürke","Light grey":"Világosszürke","White":"Fehér","Red":"Piros","Orange":"Narancs","Yellow":"Sárga","Light green":"Világoszöld","Green":"Zöld","Aquamarine":"Kékeszöld","Turquoise":"Türkiz","Light blue":"Világoskék","Blue":"Kék","Purple":"Lila","Editor block content toolbar":"Szerkesztő - tartalomblokk eszköztár","Editor contextual toolbar":"Szerkesztő - szövegre vonatkozó eszköztár","HEX":"HEX színkód","No results found":"Nincs találat","No searchable items":"Nincsenek kereshető elemek","Editor dialog":"Szerkesztői párbeszédpanel","Close":"Bezárás","Help Contents. To close this dialog press ESC.":"Súgó tartalmak. A párbeszéd ablak bezárásához használd az ESC billentyűt.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Alább megtalálod a szerkesztéshez használható gyorsbillentyűk listáját.","(may require <kbd>Fn</kbd>)":"(szükség lehet a <kbd>Fn</kbd> használatára)","Accessibility":"Elérhetőség","Accessibility help":"Kisegítő lehetőségek","Press %0 for help.":"Segítségért nyomd le a %0 billentyűt.","Move focus in and out of an active dialog window":"Mozdítsd ki és be az aktív párbeszéd ablakot","MENU_BAR_MENU_FILE":"Fájl","MENU_BAR_MENU_EDIT":"Szerkesztés","MENU_BAR_MENU_VIEW":"Megjelenítés","MENU_BAR_MENU_INSERT":"Beszúrás","MENU_BAR_MENU_FORMAT":"Formátum","MENU_BAR_MENU_TOOLS":"Eszközök","MENU_BAR_MENU_HELP":"Súgó","MENU_BAR_MENU_TEXT":"Szöveg","MENU_BAR_MENU_FONT":"Betűtípus","Editor menu bar":"Szerkesztő menüsora","Please enter a valid color (e.g. \"ff0000\").":"Adjon meg egy érvényes színt (pl. \"ff0000\").","Insert table":"Táblázat beszúrása","Header column":"Oszlop fejléc","Insert column left":"Oszlop beszúrása balra","Insert column right":"Oszlop beszúrása jobbra","Delete column":"Oszlop törlése","Select column":"Oszlop kijelölése","Column":"Oszlop","Header row":"Sor fejléc","Insert row below":"Sor beszúrása alá","Insert row above":"Sor beszúrása fölé","Delete row":"Sor törlése","Select row":"Sor kijelölése","Row":"Sor","Merge cell up":"Cellák egyesítése felfelé","Merge cell right":"Cellák egyesítése jobbra","Merge cell down":"Cellák egyesítése lefelé","Merge cell left":"Cellák egyesítése balra","Split cell vertically":"Cella felosztása függőlegesen","Split cell horizontally":"Cella felosztása vízszintesen","Merge cells":"Cellaegyesítés","Table toolbar":"Táblázat eszköztár","Table properties":"Táblázat tulajdonságai","Cell properties":"Cella tulajdonságok","Border":"Keret","Style":"Stílus","Width":"Szélesség","Height":"Magasság","Color":"Szín","Background":"Háttér","Padding":"Térköz","Dimensions":"Méretek","Table cell text alignment":"Szöveg igazítása a cellában","Alignment":"Igazítás","Horizontal text alignment toolbar":"Vízszintes szövegigazítási eszköztár","Vertical text alignment toolbar":"Függőleges szövegigazítási eszköztár","Table alignment toolbar":"Táblázatigazítási eszköztár","None":"Nincs","Solid":"Tömör","Dotted":"Pontozott","Dashed":"Szaggatott","Double":"Dupla","Groove":"Árok","Ridge":"GerLine truncated
e[ 'hu' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'hu' ].dictionary = Object.assign( e[ 'hu' ].dictionary, dictionary );
e[ 'hu' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'hy' ]: { dictionary, getPluralForm } } = {"hy":{"dictionary":{"Words: %0":"%0 բառեր","Characters: %0":"%0 նիշեր","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"Սյունակ","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter a wLine truncated
e[ 'hy' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'hy' ].dictionary = Object.assign( e[ 'hy' ].dictionary, dictionary );
e[ 'hy' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'id' ]: { dictionary, getPluralForm } } = {"id":{"dictionary":{"Words: %0":"Kata: %0","Characters: %0":"Karakter: %0","Widget toolbar":"Alat widget","Insert paragraph before block":"Tambahkan paragraf sebelum blok","Insert paragraph after block":"Tambahkan paragraf setelah blok","Press Enter to type after or press Shift + Enter to type before the widget":"Tekan Enter untuk mengetik setelah atau tekan Shift + Enter untuk mengetik sebelum widget","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Penekanan tombol yang bisa dilakukan saat widget dipilih (contoh: gambar, tabel, dll.)","Insert a new paragraph directly after a widget":"Sisipkan paragraf baru secara langsung setelah widget","Insert a new paragraph directly before a widget":"Sisipkan paragraf baru secara langsung sebelum widget","Move the caret to allow typing directly before a widget":"Pindahkan tanda sisipan untuk memungkinkan mengetik langsung setelah widget","Move the caret to allow typing directly after a widget":"Pindahkan tanda sisipan untuk memungkinkan mengetik langsung setelah widget","Move focus from an editable area back to the parent widget":"Pindahkan fokus dari area yang dapat diedit kembali ke widget induk","Upload in progress":"Sedang mengunggah","Undo":"Batal","Redo":"Lakukan lagi","Rich Text Editor":"Editor Teks Kaya","Edit block":"Sunting blok","Click to edit block":"Klik untuk mengedit blok","Drag to move":"Seret untuk memindahkan","Next":"Berikutnya","Previous":"Sebelumnya","Editor toolbar":"Alat editor","Dropdown toolbar":"Alat dropdown","Dropdown menu":"Menu tarik-turun","Black":"Hitam","Dim grey":"Kelabu gelap","Grey":"Kelabu","Light grey":"Kelabu terang","White":"Putih","Red":"Merah","Orange":"Jingga","Yellow":"Kuning","Light green":"Hijau terang","Green":"Hijau","Aquamarine":"Biru laut","Turquoise":"Turkish","Light blue":"Biru terang","Blue":"Biru","Purple":"Ungu","Editor block content toolbar":"Bilah alat konten blok editor","Editor contextual toolbar":"Bilah alat kontekstual editor","HEX":"HEX","No results found":"Hasil tidak ditemukan","No searchable items":"Tidak ada item yang dapat dicari","Editor dialog":"Dialog editor","Close":"Tutup","Help Contents. To close this dialog press ESC.":"Konten Bantuan. Untuk menutup dialog ini, tekan ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Di bawah ini, Anda dapat menemukan daftar pintasan keyboard yang dapat digunakan di editor.","(may require <kbd>Fn</kbd>)":"(mungkin memerlukan <kbd>Fn</kbd>)","Accessibility":"Aksesibilitas","Accessibility help":"Bantuan aksesibilitas","Press %0 for help.":"Tekan %0 untuk mendapatkan bantuan.","Move focus in and out of an active dialog window":"Pindahkan fokus ke dalam dan ke luar jendela dialog yang aktif","MENU_BAR_MENU_FILE":"File","MENU_BAR_MENU_EDIT":"Ubah","MENU_BAR_MENU_VIEW":"Lihat","MENU_BAR_MENU_INSERT":"Sisipkan","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Alat","MENU_BAR_MENU_HELP":"Bantuan","MENU_BAR_MENU_TEXT":"Teks","MENU_BAR_MENU_FONT":"Fon","Editor menu bar":"Bilah menu editor","Please enter a valid color (e.g. \"ff0000\").":"Silakan masukkan warna yang absah (e.g. “ff0000”).","Insert table":"Sisipkan tabel","Header column":"Kolom tajuk","Insert column left":"Sisipkan kolom ke kiri","Insert column right":"Sisipkan kolom ke kanan","Delete column":"Hapus kolom","Select column":"Seleksi kolom","Column":"Kolom","Header row":"Baris tajuk","Insert row below":"Sisipkan baris ke bawah","Insert row above":"Sisipkan baris ke atas","Delete row":"Hapus baris","Select row":"Seleksi baris","Row":"Baris","Merge cell up":"Gabungkan sel ke atas","Merge cell right":"Gabungkan sel ke kanan","Merge cell down":"Gabungkan sel ke bawah","Merge cell left":"Gabungkan sel ke kiri","Split cell vertically":"Bagikan sel secara vertikal","Split cell horizontally":"Bagikan sel secara horizontal","Merge cells":"Gabungkan sel","Table toolbar":"Alat tabel","Table properties":"Properti tabel","Cell properties":"Properti sel","Border":"Garis batas","Style":"Gaya","Width":"Lebar","Height":"Tinggi","Color":"Warna","Background":"Latar belakang","Padding":"Padding","Dimensions":"Dimensi","Table cell text alignment":"Penjajaran teks sel tabel","Alignment":"Penjajaran","Horizontal text alignment toolbar":"Bilah alat penjajaran teks horizontal","Vertical text alignment toolbar":"Bilah alat penjajaran teks vertikal","Table alignment toolbar":"Bilah alat penjajaran tabel","None":"Tidak ada","Solid":"Garis utuh","Dotted":"Titik titik","Dashed":"Garis putus-putus","Double":"Ganda","Groove":"Groove","Ridge":"Ridge","Inset":"Inset","Outset":"Outset","Align cell text to the left":"Sejajarkan teks sel ke kiri","Align cell text to the center":"Sejajarkan teks sel ke tengah","Align cell text to the right":"Sejajarkan teks sel ke kanan","Justify cell text":"Ratakan teks sel","Align cell text to the top":"Sejajarkan teks sel ke atas","Align cell text to the middle":"SejajLine truncated
e[ 'id' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'id' ].dictionary = Object.assign( e[ 'id' ].dictionary, dictionary );
e[ 'id' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'it' ]: { dictionary, getPluralForm } } = {"it":{"dictionary":{"Words: %0":"Parole: %0","Characters: %0":"Caratteri: %0","Widget toolbar":"Barra degli strumenti del widget","Insert paragraph before block":"Inserisci paragrafo prima di blocco","Insert paragraph after block":"Inserisci paragrafo dopo blocco","Press Enter to type after or press Shift + Enter to type before the widget":"Premere Invio per inserire dopo il widget o premere Maiusc + Invio per inserire prima del widget","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Tasti che possono essere utilizzati quando viene selezionato un widget (ad esempio: immagine, tabella ecc.)","Insert a new paragraph directly after a widget":"Inserisce un nuovo paragrafo direttamente dopo un widget","Insert a new paragraph directly before a widget":"Inserisce un nuovo paragrafo direttamente prima di un widget","Move the caret to allow typing directly before a widget":"Sposta il cursore per consentire la digitazione direttamente prima di un widget","Move the caret to allow typing directly after a widget":"Sposta il cursore per consentire la digitazione direttamente dopo un widget","Move focus from an editable area back to the parent widget":"Sposta lo stato attivo da un'area modificabile al widget principale","Upload in progress":"Caricamento in corso","Undo":"Annulla","Redo":"Ripristina","Rich Text Editor":"Editor di testo formattato","Edit block":"Modifica blocco","Click to edit block":"Clicca per modificare il blocco","Drag to move":"Trascina per spostare","Next":"Avanti","Previous":"Indietro","Editor toolbar":"Barra degli strumenti dell'editor","Dropdown toolbar":"Barra degli strumenti del menu a discesa","Dropdown menu":"Menu a discesa","Black":"Nero","Dim grey":"Grigio tenue","Grey":"Grigio","Light grey":"Grigio chiaro","White":"Bianco","Red":"Rosso","Orange":"Arancio","Yellow":"Giallo","Light green":"Verde chiaro","Green":"Verde","Aquamarine":"Aquamarina","Turquoise":"Turchese","Light blue":"Azzurro","Blue":"Blu","Purple":"Porpora","Editor block content toolbar":"Barra degli strumenti contestuale dell'editor del blocco","Editor contextual toolbar":"Barra degli strumenti contestuale dell'editor","HEX":"HEX","No results found":"Nessun risultato trovato","No searchable items":"Nessun elemento ricercabile","Editor dialog":"Finestra di dialogo dell'editor","Close":"Chiudi","Help Contents. To close this dialog press ESC.":"Sommario della guida. Per chiudere questa finestra di dialogo premi ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Qui sotto puoi trovare un elenco di scorciatoie da tastiera che possono essere utilizzate nell'editor.","(may require <kbd>Fn</kbd>)":"(può richiedere <kbd>Fn</kbd>)","Accessibility":"Accessibilità","Accessibility help":"Guida all'accessibilità","Press %0 for help.":"Premi %0 per aprire la guida.","Move focus in and out of an active dialog window":"Seleziona/deseleziona una finestra di dialogo attiva","MENU_BAR_MENU_FILE":"File","MENU_BAR_MENU_EDIT":"Modifica","MENU_BAR_MENU_VIEW":"Vista","MENU_BAR_MENU_INSERT":"Inserisci","MENU_BAR_MENU_FORMAT":"Formato","MENU_BAR_MENU_TOOLS":"Strumenti","MENU_BAR_MENU_HELP":"Aiuto","MENU_BAR_MENU_TEXT":"Testo","MENU_BAR_MENU_FONT":"Carattere","Editor menu bar":"Barra dei menu dell'editor","Please enter a valid color (e.g. \"ff0000\").":"Inserisci un colore valido (ad esempio \"ff0000\").","Insert table":"Inserisci tabella","Header column":"Intestazione colonna","Insert column left":"Inserisci colonna a sinistra","Insert column right":"Inserisci colonna a destra","Delete column":"Elimina colonna","Select column":"Seleziona colonna","Column":"Colonna","Header row":"Riga d'intestazione","Insert row below":"Inserisci riga sotto","Insert row above":"Inserisci riga sopra","Delete row":"Elimina riga","Select row":"Seleziona riga","Row":"Riga","Merge cell up":"Unisci cella sopra","Merge cell right":"Unisci cella a destra","Merge cell down":"Unisci cella sotto","Merge cell left":"Unisci cella a sinistra","Split cell vertically":"Dividi cella verticalmente","Split cell horizontally":"Dividi cella orizzontalmente","Merge cells":"Unisci celle","Table toolbar":"Barra degli strumenti della tabella","Table properties":"Proprietà tabella","Cell properties":"Proprietà cella","Border":"Bordo","Style":"Stile","Width":"Larghezza","Height":"Altezza","Color":"Colore","Background":"Sfondo","Padding":"Spaziatura interna","Dimensions":"Dimensioni","Table cell text alignment":"Allineamento del testo nella cella della tabella","Alignment":"Allineamento","Horizontal text alignment toolbar":"Barra degli strumenti dell'allineamento orizzontale del testo","Vertical text alignment toolbar":"Barra degli strumenti dell'allineamento verticale del testo","Table alignment toolbar":"Barra degli strumenti dell'allineamento della tabella","None":"Nessuno","Solid":"Solido","Dotted":"Punteggiato","Dashed":"Tratteggiato","Double":"Doppio","GroLine truncated
e[ 'it' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'it' ].dictionary = Object.assign( e[ 'it' ].dictionary, dictionary );
e[ 'it' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ja' ]: { dictionary, getPluralForm } } = {"ja":{"dictionary":{"Words: %0":"単語数: %0","Characters: %0":"文字数: %0","Widget toolbar":"ウィジェットツールバー","Insert paragraph before block":"ブロックの前にパラグラフを挿入","Insert paragraph after block":"ブロックの後にパラグラフを挿入","Press Enter to type after or press Shift + Enter to type before the widget":"Enterを押してウィジェットの後に入力するか、Shift + Enterを押してウィジェットの前に入力してください","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"ウィジェットが選択されている時に使用できるキーストローク(例:画像、テーブルなど)","Insert a new paragraph directly after a widget":"ウィジェットの直後に新しいパラグラフを挿入する","Insert a new paragraph directly before a widget":"ウィジェットの直前に新しいパラグラフを挿入する","Move the caret to allow typing directly before a widget":"キャレットを移動させて、ウィジェットの直前から入力できるようにする","Move the caret to allow typing directly after a widget":"キャレットを移動させて、ウィジェットの直後から入力できるようにする","Move focus from an editable area back to the parent widget":"編集可能エリアから親ウィジェットへフォーカスを戻す","Upload in progress":"アップロード中","Undo":"元に戻す","Redo":"やり直し","Rich Text Editor":"リッチテキストエディター","Edit block":"ブロックを編集","Click to edit block":"クリックしてブロックを編集する","Drag to move":"ドラッグして動かす","Next":"次へ","Previous":"前へ","Editor toolbar":"エディタツールバー","Dropdown toolbar":"ドロップダウンツールバー","Dropdown menu":"ドロップダウンメニュー","Black":"黒","Dim grey":"暗い灰色","Grey":"灰色","Light grey":"明るい灰色","White":"白","Red":"赤","Orange":"オレンジ","Yellow":"黄","Light green":"明るい緑","Green":"緑","Aquamarine":"薄い青緑","Turquoise":"水色","Light blue":"明るい青","Blue":"青","Purple":"紫","Editor block content toolbar":"エディター ブロック コンテンツ ツールバー","Editor contextual toolbar":"エディター コンテクスト ツールバー","HEX":"HEX","No results found":"結果は見つかりませんでした","No searchable items":"検索可能なアイテムがありません","Editor dialog":"エディタダイアログ","Close":"閉じる","Help Contents. To close this dialog press ESC.":"ヘルプコンテンツです。このダイアログを閉じるには、Escキーを押してください。","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"エディターで使用できるキーボードのショートカット一覧を以下に示します。","(may require <kbd>Fn</kbd>)":"(<kbd>Fn</kbd>キーが必要な場合があります)","Accessibility":"アクセシビリティ","Accessibility help":"アクセシビリティに関するヘルプ","Press %0 for help.":"ヘルプを表示するには%0を押します。","Move focus in and out of an active dialog window":"フォーカスをアクティブなダイアログウィンドウの内外に移動させる","MENU_BAR_MENU_FILE":"ファイル","MENU_BAR_MENU_EDIT":"編集","MENU_BAR_MENU_VIEW":"表示","MENU_BAR_MENU_INSERT":"挿入","MENU_BAR_MENU_FORMAT":"形式","MENU_BAR_MENU_TOOLS":"ツール","MENU_BAR_MENU_HELP":"ヘルプ","MENU_BAR_MENU_TEXT":"テキスト","MENU_BAR_MENU_FONT":"フォント","Editor menu bar":"エディターメニューバー","Please enter a valid color (e.g. \"ff0000\").":"有効な色を入力してください(例 \"ff0000\")。","Insert table":"表の挿入","Header column":"見出し列","Insert column left":"左に列を挿入","Insert column right":"右に列を挿入","Delete column":"列を削除","Select column":"列を選択","Column":"列","Header row":"見出し行","Insert row below":"下に行を挿入","Insert row above":"上に行を挿入","Delete row":"行を削除","Select row":"行を選択","Row":"行","Merge cell up":"上のセルと結合","Merge cell right":"右のセルと結合","Merge cell down":"下のセルと結合","Merge cell left":"左のセルと結合","Split cell vertically":"横にセルを分離","Split cell horizontally":"縦にセルを分離","Merge cells":"セルを結合","Table toolbar":"テーブルのツールバー","Table properties":"テーブルのプロパティ","Cell properties":"セルのプロパティ","Border":"罫線","Style":"スタイル","Width":"幅","Height":"高さ","Color":"色","Background":"背景","Padding":"パディング","Dimensions":"寸法","Table cell text alignment":"テーブルセルのテキスト配置","Alignment":"配置","HorizLine truncated
e[ 'ja' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ja' ].dictionary = Object.assign( e[ 'ja' ].dictionary, dictionary );
e[ 'ja' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'jv' ]: { dictionary, getPluralForm } } = {"jv":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Ebah","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"Tambah","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter a with breve":"","Latin capital lLine truncated
e[ 'jv' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'jv' ].dictionary = Object.assign( e[ 'jv' ].dictionary, dictionary );
e[ 'jv' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'kk' ]: { dictionary, getPluralForm } } = {"kk":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter a with breve":"","Latin capital letter a wiLine truncated
e[ 'kk' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'kk' ].dictionary = Object.assign( e[ 'kk' ].dictionary, dictionary );
e[ 'kk' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'km' ]: { dictionary, getPluralForm } } = {"km":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"លែង​ធ្វើ​វិញ","Redo":"ធ្វើ​វិញ","Rich Text Editor":"កម្មវិធី​កែសម្រួល​អត្ថបទ​សម្បូរបែប","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letLine truncated
e[ 'km' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'km' ].dictionary = Object.assign( e[ 'km' ].dictionary, dictionary );
e[ 'km' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'kn' ]: { dictionary, getPluralForm } } = {"kn":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"‍‍ರದ್ದು","Redo":"‍ಮತ್ತೆ ಮಾಡು","Rich Text Editor":"‍ಸಮೃದ್ಧ ಪಠ್ಯ ಸಂಪಾದಕ‍‍","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with maLine truncated
e[ 'kn' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'kn' ].dictionary = Object.assign( e[ 'kn' ].dictionary, dictionary );
e[ 'kn' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ko' ]: { dictionary, getPluralForm } } = {"ko":{"dictionary":{"Words: %0":"단어 수: %0","Characters: %0":"문자 수: %0","Widget toolbar":"위젯 툴바","Insert paragraph before block":"블록 앞에 단락 삽입","Insert paragraph after block":"블록 뒤에 단락 삽입","Press Enter to type after or press Shift + Enter to type before the widget":"엔터를 눌러서 위젯 뒤에 입력하거나 시프트 + 엔터를 눌러서 위젯 앞에 입력하세요","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"위젯이 선택되었을 때 사용할 수 있는 키 입력(예: 이미지, 표 등)","Insert a new paragraph directly after a widget":"위젯 바로 뒤에 새 단락 삽입","Insert a new paragraph directly before a widget":"위젯 바로 앞에 새 단락 삽입","Move the caret to allow typing directly before a widget":"위젯 바로 앞에 입력할 수 있도록 삽입 기호 이동","Move the caret to allow typing directly after a widget":"위젯 바로 뒤에 입력할 수 있도록 삽입 기호 이동","Move focus from an editable area back to the parent widget":"포커스를 편집 가능 영역에서 부모위젯으로 옮기기","Upload in progress":"업로드 진행 중","Undo":"실행 취소","Redo":"다시 실행","Rich Text Editor":"서식 있는 텍스트 편집기","Edit block":"편집 영역","Click to edit block":"클릭하여 블록 편집","Drag to move":"드래그하여 이동","Next":"다음","Previous":"이전","Editor toolbar":"편집기 툴바","Dropdown toolbar":"드롭다운 툴바","Dropdown menu":"드롭다운 메뉴","Black":"검은색","Dim grey":"진한 회색","Grey":"회색","Light grey":"밝은 회색","White":"흰색","Red":"빨간색","Orange":"주황색","Yellow":"노랑색","Light green":"연한 초록색","Green":"초록색","Aquamarine":"연한 청록색","Turquoise":"청록색","Light blue":"연한 파랑색","Blue":"파랑색","Purple":"보라색","Editor block content toolbar":"편집기 영역 내용 툴바","Editor contextual toolbar":"편집기 문맥 툴바","HEX":"HEX","No results found":"결과 찾을 수 없음","No searchable items":"검색 가능한 항목 없음","Editor dialog":"편집기 대화상자","Close":"닫기","Help Contents. To close this dialog press ESC.":"도움말 내용입니다. 이 대화 상자를 닫으려면 ESC 키를 누르세요.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"편집기에서 사용할 수 있는 키보드 단축키 목록을 아래에서 확인할 수 있습니다.","(may require <kbd>Fn</kbd>)":"(<kbd>Fn</kbd> 키가 필요할 수 있음)","Accessibility":"접근성","Accessibility help":"접근성 도움말","Press %0 for help.":"도움말을 보려면 %0 키를 누르세요.","Move focus in and out of an active dialog window":"활성화된 대화 창 안팎으로 포커스 이동","MENU_BAR_MENU_FILE":"파일","MENU_BAR_MENU_EDIT":"수정","MENU_BAR_MENU_VIEW":"보기","MENU_BAR_MENU_INSERT":"삽입","MENU_BAR_MENU_FORMAT":"서식","MENU_BAR_MENU_TOOLS":"도구","MENU_BAR_MENU_HELP":"도움말","MENU_BAR_MENU_TEXT":"텍스트","MENU_BAR_MENU_FONT":"글꼴","Editor menu bar":"편집기 메뉴 표시줄","Please enter a valid color (e.g. \"ff0000\").":"유효한 색상을 입력해 주세요(예를 들어, \"ff0000\").","Insert table":"테이블 삽입","Header column":"헤더 열","Insert column left":"왼쪽에 열 삽입","Insert column right":"오른쪽에 열 삽입","Delete column":"열 삭제","Select column":"열 선택","Column":"열","Header row":"헤더 행","Insert row below":"아래에 행 삽입","Insert row above":"위에 행 삽입","Delete row":"행 삭제","Select row":"행 선택","Row":"행","Merge cell up":"위 셀과 병합","Merge cell right":"오른쪽 셀과 병합","Merge cell down":"아래 셀과 병합","Merge cell left":"왼쪽 셀과 병합","Split cell vertically":"세로로 셀 분할","Split cell horizontally":"가로로 셀 분할","Merge cells":"셀 병합","Table toolbar":"표 도구 모음","Table properties":"표 속성","Cell properties":"셀 속성","Border":"테두리","Style":"스타일","Width":"가로","Height":"세로","Color":"색","Background":"배경색","Padding":"여백","Dimensions":"크기","Table cell text alignment":"표 셀 텍스트 정렬","Alignment":"정렬","Horizontal text alignment toolbar":"가로 텍스트 정렬 도구 모음","Vertical text alignment toolbar":"세로 텍스트 정렬 도구 모음","Table alignment toolbar":"표 정렬 도구 모음","None":"선 없음","Solid":"실선","Dotted":"점선","Dashed":"파선","Double":"이중선","Groove":"음각선","Ridge":"양각선","Inset":"측면 음각선","Outset":"측면 양각선","Align cell text to the left":"셀 텍스트를 왼쪽으로 정렬","Align cell text to the center":"셀 텍스트를 가로 가운데로 정렬","Align cell text to the right":"셀 텍스트를 오른쪽으Line truncated
e[ 'ko' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ko' ].dictionary = Object.assign( e[ 'ko' ].dictionary, dictionary );
e[ 'ko' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ku' ]: { dictionary, getPluralForm } } = {"ku":{"dictionary":{"Words: %0":"وشەکان: %0","Characters: %0":"نووسەکان: %0","Widget toolbar":"تووڵامرازی ویدجێت","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"بارکردنەکە لە جێبەجێکردن دایە","Undo":"وەک خۆی لێ بکەوە","Redo":"هەلگەڕاندنەوە","Rich Text Editor":"سەرنوسەری دەقی بەپیت","Edit block":"دەستکاری بلۆک","Click to edit block":"","Drag to move":"","Next":"دواتر","Previous":"پێشتر","Editor toolbar":"تووڵامرازی دەسکاریکەر","Dropdown toolbar":"تووڵامرازی لیستەیی","Dropdown menu":"","Black":"ڕەش","Dim grey":"ڕەساسی تاریک","Grey":"ڕەساسی","Light grey":"ڕەساسی ڕووناک","White":"سپی","Red":"سور","Orange":"پرتەقاڵی","Yellow":"زەرد","Light green":"سەوزی ڕووناک","Green":"سەوز","Aquamarine":"شینی دەریایی","Turquoise":"شینی ئاسمانی","Light blue":"شینی ڕووناک","Blue":"شین","Purple":"مۆر","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"خشتە دابنێ","Header column":"ستوونی دەسپێک","Insert column left":"دانانی ستوون لە چەپ","Insert column right":"دانانی ستوون لە ڕاست","Delete column":"سڕینەوەی ستوون","Select column":"","Column":"ستوون","Header row":"ڕیزی دەسپێک","Insert row below":"دانانی ڕیز لە ژێرەوە","Insert row above":"دانانی ڕیز لە سەرەوە","Delete row":"سڕینەوەی ڕیز","Select row":"","Row":"ڕیز","Merge cell up":"تێکەڵکردنی خانەکان بەرەو سەر","Merge cell right":"تێکەڵکردنی خانەکان بەرەو ڕاست","Merge cell down":"تێکەڵکردنی خانەکان بەرەو ژێرەوە","Merge cell left":"تێکەڵکردنی خانەکان بەرەو چەپ","Split cell vertically":"بەشکردنی خانەکان بە ئەستوونی","Split cell horizontally":"بەشکردنی خانەکان بە ئاسۆیی","Merge cells":"تێکەڵکردنی خانەکان","Table toolbar":"تووڵامرازی خشتە","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwaLine truncated
e[ 'ku' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ku' ].dictionary = Object.assign( e[ 'ku' ].dictionary, dictionary );
e[ 'ku' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'lt' ]: { dictionary, getPluralForm } } = {"lt":{"dictionary":{"Words: %0":"Žodžių: %0","Characters: %0":"Simbolių: %0","Widget toolbar":"Valdiklių įrankių juosta","Insert paragraph before block":"Įkelti pastraipą prieš bloką","Insert paragraph after block":"Įkelti pastraipą po bloko","Press Enter to type after or press Shift + Enter to type before the widget":"Paspauskite Enter, jei norite rašyti po valdiklio, arba paspauskite Shift + Enter, jei norite rašyti prieš valdiklį.","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Klavišų paspaudimai, kuriuos galima naudoti pasirinkus valdiklį (pavyzdžiui, vaizdą, lentelę ir t. t.)","Insert a new paragraph directly after a widget":"Įterpti naują pastraipą iškart po valdiklio","Insert a new paragraph directly before a widget":"Įterpti naują pastraipą iškart prieš valdiklį","Move the caret to allow typing directly before a widget":"Perkelkite žymeklį, kad būtų galima rašyti iškart prieš valdiklį","Move the caret to allow typing directly after a widget":"Perkelkite žymeklį, kad būtų galima rašyti iškart po valdiklio","Move focus from an editable area back to the parent widget":"Perkelti fokusą iš redaguojamos srities atgal į pagrindinį valdiklį","Upload in progress":"Įkelima","Undo":"Atgal","Redo":"Pirmyn","Rich Text Editor":"Raiškiojo teksto redaktorius","Edit block":"Redaguoti bloką","Click to edit block":"Spustelėkite norėdami redaguoti bloką","Drag to move":"Vilkite, kad perkeltumėte","Next":"Kitas","Previous":"Buvęs","Editor toolbar":"Redaktoriaus įrankių juosta","Dropdown toolbar":"Įrankių juosta pasirenkamajame sąraše","Dropdown menu":"Išskleidžiamasis meniu","Black":"Juoda","Dim grey":"Pilkšva","Grey":"Pilka","Light grey":"Šviesiai pilka","White":"Balta","Red":"Raudona","Orange":"Oranžinė","Yellow":"Geltona","Light green":"Šviesiai žalia","Green":"Žalia","Aquamarine":"Aquamarine","Turquoise":"Turkio","Light blue":"Šviesiai mėlyna","Blue":"Mėlyna","Purple":"Violetinė","Editor block content toolbar":"Redaktoriaus bloko turinio įrankių juosta","Editor contextual toolbar":"Redaktoriaus kontekstinė įrankių juosta","HEX":"Šešioliktainė reikšmė (angl. HEX)","No results found":"Nieko nerasta","No searchable items":"Nėra paieškos elementų","Editor dialog":"Redaktoriaus dialogo langas","Close":"Uždaryti","Help Contents. To close this dialog press ESC.":"Pagalbos turinys. Norėdami uždaryti šį dialogo langą, spauskite „ESC“.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Žemiau galite rasti sparčiųjų klavišų, kuriuos galima naudoti redaktoriuje, sąrašą.","(may require <kbd>Fn</kbd>)":"(gali reikalauti <kbd>Fn</kbd>)","Accessibility":"Prieinamumas","Accessibility help":"Prieinamumo pagalba","Press %0 for help.":"Spauskite %0, norėdami gauti pagalbą.","Move focus in and out of an active dialog window":"Perkelti fokusą į ir iš aktyvaus dialogo lango","MENU_BAR_MENU_FILE":"Failas","MENU_BAR_MENU_EDIT":"Redaguoti","MENU_BAR_MENU_VIEW":"Žiūrėti","MENU_BAR_MENU_INSERT":"Įkelti","MENU_BAR_MENU_FORMAT":"Formatuoti","MENU_BAR_MENU_TOOLS":"Įrankiai","MENU_BAR_MENU_HELP":"Pagalba","MENU_BAR_MENU_TEXT":"Tekstas","MENU_BAR_MENU_FONT":"Šriftas","Editor menu bar":"Redaktoriaus meniu juosta","Please enter a valid color (e.g. \"ff0000\").":"Įveskite teisingą spalvos formatą (pvz., „ff0000“).","Insert table":"Įterpti lentelę","Header column":"Antraštės stulpelis","Insert column left":"Įterpti stulpelį kairėje","Insert column right":"Įterpti stulpelį dešinėje","Delete column":"Ištrinti stulpelį","Select column":"Pasirinkti stulpelį","Column":"Stulpelis","Header row":"Antraštės eilutė","Insert row below":"Įterpti eilutę žemiau","Insert row above":"Įterpti eilutę aukščiau","Delete row":"Ištrinti eilutę","Select row":"Pasirinkti eilutę","Row":"Eilutė","Merge cell up":"Prijungti langelį viršuje","Merge cell right":"Prijungti langelį dešinėje","Merge cell down":"Prijungti langelį apačioje","Merge cell left":"Prijungti langelį kairėje","Split cell vertically":"Padalinti langelį vertikaliai","Split cell horizontally":"Padalinti langelį horizontaliai","Merge cells":"Sujungti langelius","Table toolbar":"Lentelės įrankių juosta","Table properties":"Lentelės savybės","Cell properties":"Langelio savybės","Border":"Kraštas","Style":"Stilius","Width":"Plotis","Height":"Aukštis","Color":"Spalva","Background":"Fonas","Padding":"Užpildymas","Dimensions":"Matmenys","Table cell text alignment":"Lentelės langelio teksto lygiavimas","Alignment":"Lygiavimas","Horizontal text alignment toolbar":"Horizontalaus teksto lygiavimo įrankių juosta","Vertical text alignment toolbar":"Vertikalaus teksto lygiavimo įrankių juosta","Table alignment toolbar":"Teksto lygiavimo įrankių juosta","None":"Nieko","Solid":"Vientisas","Dotted":"Taškuotas","DashedLine truncated
e[ 'lt' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'lt' ].dictionary = Object.assign( e[ 'lt' ].dictionary, dictionary );
e[ 'lt' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'lv' ]: { dictionary, getPluralForm } } = {"lv":{"dictionary":{"Words: %0":"Vārdi: %0","Characters: %0":"Rakstzīmes: %0","Widget toolbar":"Sīkrīku rīkjosla","Insert paragraph before block":"Ievietot paragrāfu pirms bloka","Insert paragraph after block":"Ievietot paragrāfu aiz bloka","Press Enter to type after or press Shift + Enter to type before the widget":"Nospiediet taustiņu Enter, lai rakstītu aiz logrīka, vai nospiediet taustiņu Shift + Enter, lai rakstītu pirms logrīka","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Taustiņsitieni, kurus var izmantot, kad ir atlasīts logrīks (piemēram, attēls, tabula utt.)","Insert a new paragraph directly after a widget":"Ievietot jaunu rindkopu tieši aiz logrīka","Insert a new paragraph directly before a widget":"Ievietot jaunu rindkopu tieši pirms logrīka","Move the caret to allow typing directly before a widget":"Pārvietot kursoru, lai rakstītu tieši pirms logrīka","Move the caret to allow typing directly after a widget":"Pārvietot kursoru, lai rakstītu tieši aiz logrīka","Move focus from an editable area back to the parent widget":"Mainiet fokusu no rediģējamā apgabala uz pamatrīku","Upload in progress":"Notiek augšupielāde","Undo":"Atsaukt","Redo":"Uz priekšu","Rich Text Editor":"Bagātinātais Teksta Redaktors","Edit block":"Labot bloku","Click to edit block":"Noklikšķiniet, lai rediģētu sadaļu","Drag to move":"Velciet, lai pārvietotu","Next":"Nākamā","Previous":"Iepriekšējā","Editor toolbar":"Redaktora rīkjosla","Dropdown toolbar":"Papildus izvēlnes rīkjosla","Dropdown menu":"Nolaižamā izvēlne","Black":"Melns","Dim grey":"Blāvi pelēks","Grey":"Pelēks","Light grey":"Gaiši pelēks","White":"Balts","Red":"Sarkans","Orange":"Oranžs","Yellow":"Dzeltens","Light green":"Gaiši zaļš","Green":"Zaļš","Aquamarine":"Akvamarīns","Turquoise":"Tirkīza","Light blue":"Gaiši zils","Blue":"Zils","Purple":"Violets","Editor block content toolbar":"Rediģēšanas bloka satura rīkjosla","Editor contextual toolbar":"Redaktora konteksta rīkjosla","HEX":"HEX Krāsu kods","No results found":"Nekas nav atrasts","No searchable items":"Nav meklējamu vienumu","Editor dialog":"Redaktora dialoglodziņš","Close":"Aizvērt","Help Contents. To close this dialog press ESC.":"Palīdzības saturs. Lai aizvērtu šo dialoglodziņu, nospiest ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Zemāk skatīt īsinājumtaustiņu sarakstu, ko var izmantot redaktorā.","(may require <kbd>Fn</kbd>)":"(var būt nepieciešams <kbd>Fn</kbd>)","Accessibility":"Pieejamība","Accessibility help":"Piekļūstamības palīdzība","Press %0 for help.":"Lai saņemtu palīdzību, nospiest %0.","Move focus in and out of an active dialog window":"Pārvietot fokusu aktīvajā dialoglodziņā un no tā","MENU_BAR_MENU_FILE":"Fails","MENU_BAR_MENU_EDIT":"Labot","MENU_BAR_MENU_VIEW":"Skatīt","MENU_BAR_MENU_INSERT":"Ievietot","MENU_BAR_MENU_FORMAT":"Formāts","MENU_BAR_MENU_TOOLS":"Rīki","MENU_BAR_MENU_HELP":"Palīdzība","MENU_BAR_MENU_TEXT":"Teksts","MENU_BAR_MENU_FONT":"Fonts","Editor menu bar":"Redaktora izvēlņu josla","Please enter a valid color (e.g. \"ff0000\").":"Lūdzu, ievadiet derīgu krāsu (piemēram, \"ff0000\").","Insert table":"Ievietot tabulu","Header column":"Šī kolonna ir galvene","Insert column left":"Ievietot kolonnu pa kreisi","Insert column right":"Ievietot kolonnu pa labi","Delete column":"Dzēst kolonnu","Select column":"Izvēlēties kolonnu","Column":"Kolonna","Header row":"Šī rinda ir galvene","Insert row below":"Ievietot rindu zem","Insert row above":"Ievietot rindu virs","Delete row":"Dzēst rindu","Select row":"Izvēlēties rindu","Row":"Rinda","Merge cell up":"Apvienot šūnas uz augšu","Merge cell right":"Apvienot šūnas pa labi","Merge cell down":"Apvienot šūnas uz leju","Merge cell left":"Apvienot šūnas pa kreisi","Split cell vertically":"Atdalīt šūnu vertikāli","Split cell horizontally":"Atdalīt šūnu horizontāli","Merge cells":"Apvienot šūnas","Table toolbar":"Tabulas rīkjosla","Table properties":"Tabulas īpašības","Cell properties":"Šūnas īpašības","Border":"Apmale","Style":"Stils","Width":"Platums","Height":"Augstums","Color":"Teksta krāsa","Background":"Fona krāsa","Padding":"Atstatums","Dimensions":"Izmēri","Table cell text alignment":"Teksta novietojums šūnā","Alignment":"Novietojums","Horizontal text alignment toolbar":"Horizontāla teksta līdzināšana","Vertical text alignment toolbar":"Vertikāla teksta līdzināšana","Table alignment toolbar":"Tabulas līdzināšana","None":"Bez apmales","Solid":"Nepārtraukta līnija","Dotted":"Punktēta līnija","Dashed":"Pārtraukta līnija","Double":"Dubulta līnija","Groove":"Iespiesta līnija","Ridge":"Izcelta līnija","Inset":"Ievietot / ieliktnis","Outset":"sākums","Align cell text to the left":"Līdzināt šūnas tekstu pa kreisi","AlLine truncated
e[ 'lv' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'lv' ].dictionary = Object.assign( e[ 'lv' ].dictionary, dictionary );
e[ 'lv' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ms' ]: { dictionary, getPluralForm } } = {"ms":{"dictionary":{"Words: %0":"Perkataan: %0","Characters: %0":"Aksara: %0","Widget toolbar":"Bar alat capaian widget","Insert paragraph before block":"Masukkan perenggan sebelum blok","Insert paragraph after block":"Masukkan perenggan sebelum blok","Press Enter to type after or press Shift + Enter to type before the widget":"Tekan Enter untuk menaip selepas atau tekan Shift + Enter untuk menaip sebelum widget","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Ketukan kekunci yang boleh digunakan semasa widget dipilih (contohnya: imej, jadual, dsb.)","Insert a new paragraph directly after a widget":"Masukkan perenggan baharu secara langsung selepas widget","Insert a new paragraph directly before a widget":"Masukkan perenggan baharu secara langsung sebelum widget","Move the caret to allow typing directly before a widget":"Alihkan karet untuk membenarkan penaipan secara langsung sebelum widget","Move the caret to allow typing directly after a widget":"Alihkan karet untuk membenarkan penaipan secara langsung selepas widget","Move focus from an editable area back to the parent widget":"Alihkan fokus dari kawasan yang boleh diedit kembali ke widget induk","Upload in progress":"Muat naik sedang berlangsung","Undo":"Buat asal","Redo":"Buat semula","Rich Text Editor":"Penyunting Teks Kaya","Edit block":"Sunting blok","Click to edit block":"Klik untuk menyunting sekatan","Drag to move":"Seret untuk menggerakkan","Next":"Seterusnya","Previous":"Sebelumnya","Editor toolbar":"Bar alat capaian suntingan","Dropdown toolbar":"Bar alat capaian tetingkap","Dropdown menu":"Menu lungsur turun","Black":"Hitam","Dim grey":"Kelabu malap","Grey":"Kelabu","Light grey":"Kelabu cerah","White":"Putih","Red":"Merah","Orange":"Oren","Yellow":"Kuning","Light green":"Hijau cerah","Green":"Hijau","Aquamarine":"Akuamarin","Turquoise":"Firus","Light blue":"Biru cerah","Blue":"Biru","Purple":"Ungu","Editor block content toolbar":"Bar alat sekat kandungan editor","Editor contextual toolbar":"Bar alat kontekstual editor","HEX":"HEX","No results found":"Tiada keputusan ditemui","No searchable items":"Tiada item untuk dicari","Editor dialog":"Dialog editor","Close":"Tutup","Help Contents. To close this dialog press ESC.":"Kandungan Bantuan. Untuk menutup dialog ini tekan ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Anda boleh menemui senarai pintasan papan kekunci yang boleh digunakan dalam penyunting di bawah.","(may require <kbd>Fn</kbd>)":"(mungkin memerlukan <kbd>Fn</kbd>)","Accessibility":"Kebolehaksesan","Accessibility help":"Bantuan kebolehaksesan","Press %0 for help.":"Tekan %0 untuk bantuan.","Move focus in and out of an active dialog window":"Alihkan fokus masuk atau keluar daripada tetingkap dialog aktif","MENU_BAR_MENU_FILE":"Fail","MENU_BAR_MENU_EDIT":"Edit","MENU_BAR_MENU_VIEW":"Paparan","MENU_BAR_MENU_INSERT":"Masukkan","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Alatan","MENU_BAR_MENU_HELP":"Bantuan","MENU_BAR_MENU_TEXT":"Teks","MENU_BAR_MENU_FONT":"Fon","Editor menu bar":"Bar menu penyunting","Please enter a valid color (e.g. \"ff0000\").":"Sila masukkan warna yang sah (contohnya, \"ff0000\").","Insert table":"Masukkan jadual","Header column":"Kolum pengepala","Insert column left":"Masukkan kolum kiri","Insert column right":"Masukkan kolum kanan","Delete column":"Padam kolum","Select column":"Pilih kolum","Column":"Kolum","Header row":"Baris pengepala","Insert row below":"Masukkan baris dibawah","Insert row above":"Masukkan baris diatas","Delete row":"Padam baris","Select row":"Pilih baris","Row":"Baris","Merge cell up":"Cantumkan sel keatas","Merge cell right":"Cantumkan sel kekanan","Merge cell down":"Cantumkan sel kebawah","Merge cell left":"Cantumkan sel kekiri","Split cell vertically":"Leraikan sel menegak","Split cell horizontally":"Leraikan sel melintang","Merge cells":"Cantumkan sel ","Table toolbar":"Bar alat capaian jadual","Table properties":"Sifat jadual","Cell properties":"Sifat sel","Border":"Sempadan","Style":"Gaya","Width":"Lebar","Height":"Ketinggian","Color":"Warna","Background":"Latar belakang","Padding":"Ketebalan","Dimensions":"Dimensi","Table cell text alignment":"Jajaran teks sel jadual","Alignment":"Jajaran","Horizontal text alignment toolbar":"Bar alat capaian jajaran teks melintang","Vertical text alignment toolbar":"Bar alat capaian jajaran teks menegak","Table alignment toolbar":"Bar alat capaian jajaran jadual","None":"Tiada","Solid":"Pejal","Dotted":"Bertitik","Dashed":"Garis putus-putus","Double":"Dua baris","Groove":"Lurah","Ridge":"Batas","Inset":"Inset","Outset":"Outset","Align cell text to the left":"Jajarkan teks sel kekiri","Align cell text to the center":"Jajarkan teks sel ketengah","Align cell text to the right":"Jajarkan teks sel kekanan","Justify cell text":"Imbang teks sel","Align cell text to the top":"Jajarkan teks sel keatas","Align Line truncated
e[ 'ms' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ms' ].dictionary = Object.assign( e[ 'ms' ].dictionary, dictionary );
e[ 'ms' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'nb' ]: { dictionary, getPluralForm } } = {"nb":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Opplasting pågår","Undo":"Angre","Redo":"Gjør om","Rich Text Editor":"Rikteksteditor","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Sett inn tabell","Header column":"Overskriftkolonne","Insert column left":"","Insert column right":"","Delete column":"Slett kolonne","Select column":"","Column":"Kolonne","Header row":"Overskriftrad","Insert row below":"Sett inn rad under","Insert row above":"Sett inn rad over","Delete row":"Slett rad","Select row":"","Row":"Rad","Merge cell up":"Slå sammen celle opp","Merge cell right":"Slå sammen celle til høyre","Merge cell down":"Slå sammen celle ned","Merge cell left":"Slå sammen celle til venstre","Split cell vertically":"Del celle vertikalt","Split cell horizontally":"Del celle horisontalt","Merge cells":"Slå sammen celler","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Line truncated
e[ 'nb' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'nb' ].dictionary = Object.assign( e[ 'nb' ].dictionary, dictionary );
e[ 'nb' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ne' ]: { dictionary, getPluralForm } } = {"ne":{"dictionary":{"Words: %0":"शब्दहरू: %0","Characters: %0":"क्यारेक्टरहरू: %0","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"अपलोड हुदैछ","Undo":"पूर्ववत","Redo":"रिडु","Rich Text Editor":"धनी पाठ सम्पादक","Edit block":"ब्लक सम्पादन गर्न","Click to edit block":"","Drag to move":"","Next":"अर्को","Previous":"अघिल्लो","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"कालो","Dim grey":"धमिलो खैरो","Grey":"खैरो","Light grey":"हल्का खैरो","White":"सेतो","Red":"रातो","Orange":"सुन्तला रंग","Yellow":"पहेंलो","Light green":"हल्का हरियो","Green":"हरियो","Aquamarine":"अव्कवामरिन","Turquoise":"त्रकोइस","Light blue":"हल्का निलो","Blue":"निलो","Purple":"बैंगनी रंग","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"तालिका सम्मिलित गर्नुहोस्","Header column":"हेडर स्तम्भ","Insert column left":"बायाँ स्तम्भ सम्मिलित गर्न","Insert column right":"दायाँ स्तम्भ सम्मिलित गर्न","Delete column":"स्तम्भ मेटाउनुहोस्","Select column":"","Column":"स्तम्भ","Header row":"हेडर पङ्क्ति","Insert row below":"तल पंक्ति सम्मिलित गर्नुहोस्","Insert row above":"माथि पंक्ति सम्मिलित गर्नुहोस्","Delete row":"पङ्क्ति मेटाउनुहोस्","Select row":"","Row":"पङ्क्ति","Merge cell up":"कक्ष माथि मर्ज गर्नुहोस्","Merge cell right":"दायाँ कक्ष मर्ज गर्नुहोस्","Merge cell down":"कक्ष तल मर्ज गर्नुहोस्","Merge cell left":"सेल बायाँ मर्ज गर्नुहोस्","Split cell vertically":"ठाडो कक्ष विभाजित गर्नुहोस्","Split cell horizontally":"क्षैतिज कक्ष विभाजित गर्नुहोस्","Merge cells":"कक्ष मर्ज गर्नुहोस्","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block stLine truncated
e[ 'ne' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ne' ].dictionary = Object.assign( e[ 'ne' ].dictionary, dictionary );
e[ 'ne' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'nl' ]: { dictionary, getPluralForm } } = {"nl":{"dictionary":{"Words: %0":"Woorden: %0","Characters: %0":"Tekens: %0","Widget toolbar":"Widget werkbalk","Insert paragraph before block":"Voeg paragraaf toe voor blok","Insert paragraph after block":"Voeg paragraaf toe na blok","Press Enter to type after or press Shift + Enter to type before the widget":"Druk op Enter om na de widget te typen of druk op Shift + Enter om vóór de widget te typen","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Toetsaanslagen die gebruikt kunnen worden wanneer een widget geselecteerd is (bijvoorbeeld: een afbeelding, tabel, enz.)","Insert a new paragraph directly after a widget":"Voeg direct na een widget een nieuwe paragraaf in","Insert a new paragraph directly before a widget":"Voeg direct voor een widget een nieuwe paragraaf in","Move the caret to allow typing directly before a widget":"Beweeg het invoerteken om het mogelijk te maken direct voor een widget te typen","Move the caret to allow typing directly after a widget":"Beweeg het invoerteken om het mogelijk te maken direct achter een widget te typen","Move focus from an editable area back to the parent widget":"De focus van een bewerkbaar gebied terug naar de bovenliggende widget verplaatsen","Upload in progress":"Bezig met uploaden","Undo":"Ongedaan maken","Redo":"Opnieuw","Rich Text Editor":"Tekstbewerker","Edit block":"Blok aanpassen","Click to edit block":"Klik om blok te bewerken","Drag to move":"Sleep om te verplaatsen","Next":"Volgende","Previous":"Vorige","Editor toolbar":"Editor welkbalk","Dropdown toolbar":"Drop-down werkbalk","Dropdown menu":"Keuzemenu","Black":"Zwart","Dim grey":"Gedimd grijs","Grey":"Grijs","Light grey":"Lichtgrijs","White":"Wit","Red":"Rood","Orange":"Oranje","Yellow":"Geel","Light green":"Lichtgroen","Green":"Groen","Aquamarine":"Aquamarijn","Turquoise":"Turquoise","Light blue":"Lichtblauw","Blue":"Blauw","Purple":"Paars","Editor block content toolbar":"Inhoud werkbalk voor editorblok","Editor contextual toolbar":"Contextuele werkbalk van editor","HEX":"HEX","No results found":"Geen zoekresultaten","No searchable items":"Geen zoekbare items","Editor dialog":"Dialoog bewerker","Close":"Sluiten","Help Contents. To close this dialog press ESC.":"Inhoud Hulp. Druk op ESC om dit dialoogvenster te sluiten.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Hieronder vindt u een lijst met sneltoetsen die in de editor gebruikt kunnen worden.","(may require <kbd>Fn</kbd>)":"(<kbd>Fn</kbd>-toets is mogelijk vereist)","Accessibility":"Toegankelijkheid","Accessibility help":"Hulp bij toegankelijkheid","Press %0 for help.":"Druk op %0 voor hulp.","Move focus in and out of an active dialog window":"Beweeg de focus naar een actief dialoogvenster of er vandaan","MENU_BAR_MENU_FILE":"Bestand","MENU_BAR_MENU_EDIT":"Wijzigen","MENU_BAR_MENU_VIEW":"Bekijk","MENU_BAR_MENU_INSERT":"Invoegen","MENU_BAR_MENU_FORMAT":"Formaat","MENU_BAR_MENU_TOOLS":"Gereedschap","MENU_BAR_MENU_HELP":"Hulp","MENU_BAR_MENU_TEXT":"Tekst","MENU_BAR_MENU_FONT":"Lettertype","Editor menu bar":"Menubalk editor","Please enter a valid color (e.g. \"ff0000\").":"Voer een geldige kleur in (bijvoorbeeld \"ff0000\").","Insert table":"Tabel invoegen","Header column":"Titel kolom","Insert column left":"Kolom links invoegen","Insert column right":"Kolom rechts invoegen","Delete column":"Verwijder kolom","Select column":"Selecteer kolom","Column":"Kolom","Header row":"Titel rij","Insert row below":"Rij hieronder invoegen","Insert row above":"Rij hierboven invoegen","Delete row":"Verwijder rij","Select row":"Selecteer rij","Row":"Rij","Merge cell up":"Cel hierboven samenvoegen","Merge cell right":"Cel hierna samenvoegen","Merge cell down":"Cel hieronder samenvoegen","Merge cell left":"Cel hiervoor samenvoegen","Split cell vertically":"Splits cel verticaal","Split cell horizontally":"Splits cel horizontaal","Merge cells":"Cellen samenvoegen","Table toolbar":"Tabel werkbalk","Table properties":"Tabeleigenschappen","Cell properties":"Celeigenschappen","Border":"Rand","Style":"Stijl","Width":"Breedte","Height":"Hoogte","Color":"Kleur","Background":"Achtergrond","Padding":"Opvulling","Dimensions":"Afmetingen","Table cell text alignment":"Tekstuitlijning tabelcel","Alignment":"Uitlijning","Horizontal text alignment toolbar":"Werkbalk voor horizontale tekstuitlijning","Vertical text alignment toolbar":"Werkbalk voor verticale tekstuitlijning","Table alignment toolbar":"Werkbalk tabeluitlijning","None":"Geen","Solid":"Ononderbroken","Dotted":"Stippellijn","Dashed":"Onderbroken","Double":"Dubbel","Groove":"Sleuf","Ridge":"Rand","Inset":"Ingezet","Outset":"Opliggend","Align cell text to the left":"Celtekst links uitlijnen","Align cell text to the center":"Tekst in de cel centreren","Align cell text to the right":"Celtekst rechts uitlijnen","Justify cell text":"Celtekst uitvullen","Align cell text to the top":"Celtekst bovLine truncated
e[ 'nl' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'nl' ].dictionary = Object.assign( e[ 'nl' ].dictionary, dictionary );
e[ 'nl' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'no' ]: { dictionary, getPluralForm } } = {"no":{"dictionary":{"Words: %0":"Ord: %0","Characters: %0":"Tegn: %0","Widget toolbar":"Widget verktøylinje ","Insert paragraph before block":"Sett inn paragraf foran blokk","Insert paragraph after block":"Sett inn paragraf etter blokk","Press Enter to type after or press Shift + Enter to type before the widget":"Trykk Enter for å skrive etter eller trykk Shift + Enter for å skrive før widgeten","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Tastetrykk som kan brukes når en widget er valgt (for eksempel: bilde, tabell osv.)","Insert a new paragraph directly after a widget":"Legg inn et nytt avsnitt rett etter en widget","Insert a new paragraph directly before a widget":"Legg inn et nytt avsnitt rett før en widget","Move the caret to allow typing directly before a widget":"Flytt markøren for å kunne taste rett før en widget","Move the caret to allow typing directly after a widget":"Flytt markøren for å kunne taste rett etter en widget","Move focus from an editable area back to the parent widget":"Flytt fokus fra et redigerbart område tilbake til foreldre-widgeten","Upload in progress":"Laster opp fil","Undo":"Angre","Redo":"Gjør om","Rich Text Editor":"Tekstredigeringsverktøy for rik tekst","Edit block":"Rediger blokk","Click to edit block":"Klikk for å redigere blokk","Drag to move":"Dra for å flytte","Next":"Neste","Previous":"Forrige","Editor toolbar":"Verktøylinje for redigeringsverktøy","Dropdown toolbar":"Verktøylinje for nedtrekksliste","Dropdown menu":"Nedtrekksmeny","Black":"Svart","Dim grey":"Svak grå","Grey":"Grå","Light grey":"Lysegrå","White":"Hvit","Red":"Rød","Orange":"Oransje","Yellow":"Gul","Light green":"Lysegrønn","Green":"Grønn","Aquamarine":"Akvamarin","Turquoise":"Turkis","Light blue":"Lyseblå","Blue":"Blå","Purple":"Lilla","Editor block content toolbar":"Verktøylinje for blokkinnhold i redigeringsverktøy","Editor contextual toolbar":"Verktøylinje for kontekst i redigeringsverktøy","HEX":"HEX","No results found":"Ingen resultater","No searchable items":"Ingen søkbare elementer","Editor dialog":"Dialogboks for redigering","Close":"Lukk","Help Contents. To close this dialog press ESC.":"Hjelpeinnhold. Trykk på ESC for å lukke denne dialogen.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Nedenfor finner du en liste over hurtigtaster som kan brukes i redigeringsverktøyet.","(may require <kbd>Fn</kbd>)":"(trenger kanskje <kbd>Fn</kbd>)","Accessibility":"Tilgjengelighet","Accessibility help":"Tilgjengelighetshjelp","Press %0 for help.":"Trykk på %0 for hjelp.","Move focus in and out of an active dialog window":"Flytt fokus inn og ut av et aktivt dialogvindu","MENU_BAR_MENU_FILE":"Fil","MENU_BAR_MENU_EDIT":"Rediger","MENU_BAR_MENU_VIEW":"Vis","MENU_BAR_MENU_INSERT":"Sett inn","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Verktøy","MENU_BAR_MENU_HELP":"Hjelp","MENU_BAR_MENU_TEXT":"Tekst","MENU_BAR_MENU_FONT":"Skrifttype","Editor menu bar":"Menylinje for redigering","Please enter a valid color (e.g. \"ff0000\").":"Angi en gyldig farge (f.eks. \"ff0000\").","Insert table":"Sett inn tabell","Header column":"Overskriftkolonne","Insert column left":"Sett inn kolonne til venstre","Insert column right":"Sett inn kolonne til høyre","Delete column":"Slett kolonne","Select column":"Velg kolonne ","Column":"Kolonne","Header row":"Overskriftrad","Insert row below":"Sett inn rad under","Insert row above":"Sett inn rad over","Delete row":"Slett rad","Select row":"Velg rad","Row":"Rad","Merge cell up":"Slå sammen celle over","Merge cell right":"Slå sammen celle til høyre","Merge cell down":"Slå sammen celle under","Merge cell left":"Slå sammen celle til venstre","Split cell vertically":"Del opp celle vertikalt","Split cell horizontally":"Del opp celle horisontalt","Merge cells":"Slå sammen celler","Table toolbar":"Tabell verktøylinje ","Table properties":"Egenskaper for tabell","Cell properties":"Celleegenskaper ","Border":"Kantlinje ","Style":"Stil ","Width":"Bredde","Height":"Høyde","Color":"Farge","Background":"Bakgrunn ","Padding":"Fylling","Dimensions":"Dimensjoner","Table cell text alignment":"Celle tekstjustering ","Alignment":"Justering","Horizontal text alignment toolbar":"Verktøylinje for justering av tekst horisontalt ","Vertical text alignment toolbar":"Verktøylinje for justering av tekst vertikalt ","Table alignment toolbar":"Verktøylinje for justering av tabell ","None":"Ingen","Solid":"Hel","Dotted":"Stiplede","Dashed":"Stiplet","Double":"Dobbel ","Groove":"Grov","Ridge":"Kjede","Inset":"Innover","Outset":"Utover","Align cell text to the left":"Juster celletekst til venstre ","Align cell text to the center":"Juster celletekst til midten ","Align cell text to the right":"Juster celletekst til høyre ","Justify cell text":"Rett celletekst ","Align cell text to the top":"Juster celletekst til topp","Align Line truncated
e[ 'no' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'no' ].dictionary = Object.assign( e[ 'no' ].dictionary, dictionary );
e[ 'no' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'oc' ]: { dictionary, getPluralForm } } = {"oc":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","Latin small letter a with breve":"","Latin capital letter a wiLine truncated
e[ 'oc' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'oc' ].dictionary = Object.assign( e[ 'oc' ].dictionary, dictionary );
e[ 'oc' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'pl' ]: { dictionary, getPluralForm } } = {"pl":{"dictionary":{"Words: %0":"Słowa: %0","Characters: %0":"Znaki: %0","Widget toolbar":"Pasek widgetów","Insert paragraph before block":"Wstaw akapit przed blokiem","Insert paragraph after block":"Wstaw akapit po bloku","Press Enter to type after or press Shift + Enter to type before the widget":"Naciśnij Enter, aby pisać po widżecie, lub Shift + Enter, aby pisać przed widżetem","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Klawisze, których można używać po wybraniu widżetu (na przykład: obraz, tabela itd.)","Insert a new paragraph directly after a widget":"Wstawia nowy akapit bezpośrednio po widżecie","Insert a new paragraph directly before a widget":"Wstawia nowy akapit bezpośrednio przed widżetem","Move the caret to allow typing directly before a widget":"Przenosi kursor, aby umożliwić pisanie bezpośrednio przed widżetem","Move the caret to allow typing directly after a widget":"Przenosi kursor, aby umożliwić pisanie bezpośrednio za widżetem","Move focus from an editable area back to the parent widget":"Przenieś skupienie z edytowalnego obszaru z powrotem do widżetu nadrzędnego","Upload in progress":"Trwa przesyłanie","Undo":"Cofnij","Redo":"Ponów","Rich Text Editor":"Edytor tekstu sformatowanego","Edit block":"Edytuj blok","Click to edit block":"Kliknij, aby edytować blok","Drag to move":"Przeciągnij, aby przenieść","Next":"Następny","Previous":"Poprzedni","Editor toolbar":"Pasek narzędzi edytora","Dropdown toolbar":"Rozwijany pasek narzędzi","Dropdown menu":"Menu rozwijane","Black":"Czarny","Dim grey":"Ciemnoszary","Grey":"Szary","Light grey":"Jasnoszary","White":"Biały","Red":"Czerwony","Orange":"Pomarańczowy","Yellow":"Żółty","Light green":"Jasnozielony","Green":"Zielony","Aquamarine":"Akwamaryna","Turquoise":"Turkusowy","Light blue":"Jasnoniebieski","Blue":"Niebieski","Purple":"Purpurowy","Editor block content toolbar":"Pasek zadań treści blokowej edytora","Editor contextual toolbar":"Kontekstowy pasek zadań edytora","HEX":"SZESNASTKOWY","No results found":"Nie znaleziono wyników","No searchable items":"Brak elementów do wyszukania","Editor dialog":"Okno edytora","Close":"Zamknij","Help Contents. To close this dialog press ESC.":"Zawartość pomocy. Aby zamknąć to okno dialogowe, naciśnij klawisz ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Poniżej znajdziesz listę skrótów klawiszowych, których można używać w edytorze.","(may require <kbd>Fn</kbd>)":"(może wymagać użycia klawisza <kbd>Fn</kbd>)","Accessibility":"Dostępność","Accessibility help":"Pomoc dotycząca dostępności","Press %0 for help.":"Naciśnij %0, aby uzyskać pomoc.","Move focus in and out of an active dialog window":"Przenosi fokus do i z aktywnego okna dialogowego","MENU_BAR_MENU_FILE":"Plik","MENU_BAR_MENU_EDIT":"Zmiana","MENU_BAR_MENU_VIEW":"Zobacz","MENU_BAR_MENU_INSERT":"Wstaw","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Narzędzia","MENU_BAR_MENU_HELP":"Pomoc","MENU_BAR_MENU_TEXT":"Tekst","MENU_BAR_MENU_FONT":"Czcionka","Editor menu bar":"Pasek menu edytora","Please enter a valid color (e.g. \"ff0000\").":"Wprowadź prawidłowy kolor (np. „ff0000”).","Insert table":"Wstaw tabelę","Header column":"Kolumna nagłówka","Insert column left":"Wstaw kolumnę z lewej","Insert column right":"Wstaw kolumnę z prawej","Delete column":"Usuń kolumnę","Select column":"Zaznacz kolumnę","Column":"Kolumna","Header row":"Wiersz nagłówka","Insert row below":"Wstaw wiersz poniżej","Insert row above":"Wstaw wiersz ponad","Delete row":"Usuń wiersz","Select row":"Zaznacz wiersz","Row":"Wiersz","Merge cell up":"Scal komórkę w górę","Merge cell right":"Scal komórkę w prawo","Merge cell down":"Scal komórkę w dół","Merge cell left":"Scal komórkę w lewo","Split cell vertically":"Podziel komórkę pionowo","Split cell horizontally":"Podziel komórkę poziomo","Merge cells":"Scal komórki","Table toolbar":"Pasek narzędzi tabel","Table properties":"Właściwości tabeli","Cell properties":"Właściwości komórki","Border":"Obramowanie","Style":"Styl","Width":"Szerokość","Height":"Wysokość","Color":"Kolor","Background":"Tło","Padding":"Dopełnienie","Dimensions":"Wymiary","Table cell text alignment":"Wyrównanie tekstu komórki tabeli","Alignment":"Wyrównanie","Horizontal text alignment toolbar":"Pasek narzędzi wyrównania tekstu w poziomie","Vertical text alignment toolbar":"Pasek narzędzi wyrównania tekstu w pionie","Table alignment toolbar":"Pasek narzędzi wyrównania tabeli","None":"Brak","Solid":"Ciągłe","Dotted":"Kropkowane","Dashed":"Kreskowane","Double":"Podwójne","Groove":"Wklęsłe","Ridge":"Wypukłe","Inset":"Zapadnięte","Outset":"Wysunięte","Align cell text to the left":"Wyrównaj tekst w komórce do lewej","Align cell text to the center":"Wyrównaj tekst w komórce do środka","Align ceLine truncated
e[ 'pl' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'pl' ].dictionary = Object.assign( e[ 'pl' ].dictionary, dictionary );
e[ 'pl' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'pt-br' ]: { dictionary, getPluralForm } } = {"pt-br":{"dictionary":{"Words: %0":"Palavras: %0","Characters: %0":"Caracteres: %0","Widget toolbar":"Ferramentas de Widgets","Insert paragraph before block":"Inserir parágrafo antes do bloco","Insert paragraph after block":"Inserir parágrafo após o bloco","Press Enter to type after or press Shift + Enter to type before the widget":"Pressione Enter para digitar depois ou pressione Shift + Enter para digitar antes do widget","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Teclas que podem ser usadas quando um widget está selecionado (por exemplo: imagem, tabela, etc.)","Insert a new paragraph directly after a widget":"Inserir um novo parágrafo diretamente após um widget","Insert a new paragraph directly before a widget":"Inserir um novo parágrafo diretamente antes de um widget","Move the caret to allow typing directly before a widget":"Mova o cursor para permitir a digitação diretamente antes de um widget","Move the caret to allow typing directly after a widget":"Mova o cursor para permitir a digitação diretamente após um widget","Move focus from an editable area back to the parent widget":"Mova o foco de uma área editável de volta para o widget-pai","Upload in progress":"Enviando dados","Undo":"Desfazer","Redo":"Refazer","Rich Text Editor":"Editor de Formatação","Edit block":"Editor de bloco","Click to edit block":"Clicar para editar o bloco","Drag to move":"Arrastar para mover","Next":"Próximo","Previous":"Anterior","Editor toolbar":"Ferramentas do Editor","Dropdown toolbar":"Barra de Ferramentas da Lista Suspensa","Dropdown menu":"Menu suspenso","Black":"Preto","Dim grey":"Cinza escuro","Grey":"Cinza","Light grey":"Cinza claro","White":"Branco","Red":"Vermelho","Orange":"Laranja","Yellow":"Amarelo","Light green":"Verde claro","Green":"Verde","Aquamarine":"Água-marinha","Turquoise":"Turquesa","Light blue":"Azul claro","Blue":"Azul","Purple":"Púrpura","Editor block content toolbar":"Barra de ferramentas de bloco do Editor","Editor contextual toolbar":"Barra de ferramentas contextual do Editor","HEX":"Hexadecimal","No results found":"Nenhum resultado encontrado","No searchable items":"Sem itens pesquisáveis","Editor dialog":"Diálogo do editor","Close":"Fechar","Help Contents. To close this dialog press ESC.":"Conteúdo de Ajuda. Para fechar este diálogo pressione ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Abaixo, você pode encontrar uma lista de atalhos de teclado que podem ser usados no editor.","(may require <kbd>Fn</kbd>)":"(pode requerer <kbd>Fn</kbd>)","Accessibility":"Acessibilidade","Accessibility help":"Ajuda de acessibilidade","Press %0 for help.":"Pressione %0 para ajuda.","Move focus in and out of an active dialog window":"Mover o foco para dentro e fora de uma janela de diálogo ativa","MENU_BAR_MENU_FILE":"Arquivo","MENU_BAR_MENU_EDIT":"Editar","MENU_BAR_MENU_VIEW":"Visualizar","MENU_BAR_MENU_INSERT":"Inserir","MENU_BAR_MENU_FORMAT":"Formato","MENU_BAR_MENU_TOOLS":"Ferramentas","MENU_BAR_MENU_HELP":"Ajuda","MENU_BAR_MENU_TEXT":"Texto","MENU_BAR_MENU_FONT":"Fonte","Editor menu bar":"Barra de menu do editor","Please enter a valid color (e.g. \"ff0000\").":"Digite uma cor válida (por exemplo, \"ff0000\").","Insert table":"Inserir tabela","Header column":"Coluna de cabeçalho","Insert column left":"Inserir coluna à esquerda","Insert column right":"Inserir coluna à direita","Delete column":"Excluir coluna","Select column":"Selecionar coluna","Column":"Coluna","Header row":"Linha de cabeçalho","Insert row below":"Inserir linha abaixo","Insert row above":"Inserir linha acima","Delete row":"Excluir linha","Select row":"Selecionar linha","Row":"Linha","Merge cell up":"Mesclar acima","Merge cell right":"Mesclar à direita","Merge cell down":"Mesclar abaixo","Merge cell left":"Mesclar à esquerda","Split cell vertically":"Dividir verticalmente","Split cell horizontally":"Dividir horizontalmente","Merge cells":"Mesclar células","Table toolbar":"Ferramentas de Tabela","Table properties":"Propriedades da tabela","Cell properties":"Propriedades da célula","Border":"Borda","Style":"Estilo","Width":"Largura","Height":"Altura","Color":"Cor","Background":"Cor de fundo","Padding":"Margem interna","Dimensions":"Dimensões","Table cell text alignment":"Alinhamento do texto na célula","Alignment":"Alinhamento","Horizontal text alignment toolbar":"Ferramentas de alinhamento horizontal do texto","Vertical text alignment toolbar":"Ferramentas de alinhamento vertical do texto","Table alignment toolbar":"Ferramentas de alinhamento da tabela","None":"Sem borda","Solid":"Sólida","Dotted":"Pontilhada","Dashed":"Tracejada","Double":"Dupla","Groove":"Ranhura","Ridge":"Crista","Inset":"Baixo relevo","Outset":"Alto relevo","Align cell text to the left":"Alinhar texto da célula para a esquerda","Align cell text to the center":"Alinhar texto da célula cenLine truncated
e[ 'pt-br' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'pt-br' ].dictionary = Object.assign( e[ 'pt-br' ].dictionary, dictionary );
e[ 'pt-br' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'pt' ]: { dictionary, getPluralForm } } = {"pt":{"dictionary":{"Words: %0":"Palavras: %0","Characters: %0":"Caracteres: %0","Widget toolbar":"Barra de ferramentas do widget","Insert paragraph before block":"Inserir parágrafo antes do bloco","Insert paragraph after block":"Inserir parágrafo após o bloco","Press Enter to type after or press Shift + Enter to type before the widget":"Prima Enter para escrever depois ou Shift + Enter para escrever antes do widget","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Batimentos de teclas que podem ser utilizados quando um widget é selecionado (por exemplo: imagem, tabela, etc.)","Insert a new paragraph directly after a widget":"Inserir um novo parágrafo diretamente após um widget","Insert a new paragraph directly before a widget":"Inserir um novo parágrafo diretamente antes de um widget","Move the caret to allow typing directly before a widget":"Mover o ponto de inserção para permitir escrever diretamente antes de um widget","Move the caret to allow typing directly after a widget":"Mover o ponto de inserção para permitir escrever diretamente após um widget","Move focus from an editable area back to the parent widget":"Deslocar o foco de uma área editável de volta para o widget principal","Upload in progress":"Carregamento em progresso","Undo":"Desfazer","Redo":"Refazer","Rich Text Editor":"Editor de texto avançado","Edit block":"Editar bloco","Click to edit block":"Clique para editar o bloco","Drag to move":"Arraste para mover","Next":"Seguinte","Previous":"Anterior","Editor toolbar":"Barra de ferramentas do editor","Dropdown toolbar":"Barra de ferramentas do menu pendente","Dropdown menu":"Menu suspenso","Black":"Preto","Dim grey":"Cinzento-escuro","Grey":"Cinzento","Light grey":"Cinzento-claro","White":"Branco","Red":"Vermelho","Orange":"Laranja","Yellow":"Amarelo","Light green":"Verde-claro","Green":"Verde","Aquamarine":"Verde-azulado","Turquoise":"Turquesa","Light blue":"Azul-claro","Blue":"Azul","Purple":"Roxo","Editor block content toolbar":"Barra de ferramentas de edição do conteúdo de blocos","Editor contextual toolbar":"Barra de ferramentas contextual de edição","HEX":"HEX","No results found":"Nenhum resultado encontrado","No searchable items":"Nenhum item pesquisável","Editor dialog":"Diálogo do editor","Close":"Fechar","Help Contents. To close this dialog press ESC.":"Conteúdos de ajuda. Para fechar esta caixa de diálogo, prima ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Abaixo, encontra-se uma lista de atalhos de teclado que podem ser utilizados no editor.","(may require <kbd>Fn</kbd>)":"(pode exigir <kbd>Fn</kbd>)","Accessibility":"Acessibilidade","Accessibility help":"Ajuda de acessibilidade","Press %0 for help.":"Para obter ajuda, pressione %0.","Move focus in and out of an active dialog window":"Mover o foco para dentro e para fora de uma janela de diálogo ativa","MENU_BAR_MENU_FILE":"Ficheiro","MENU_BAR_MENU_EDIT":"Editar","MENU_BAR_MENU_VIEW":"Visualizar","MENU_BAR_MENU_INSERT":"Inserir","MENU_BAR_MENU_FORMAT":"Formatação","MENU_BAR_MENU_TOOLS":"Ferramentas","MENU_BAR_MENU_HELP":"Ajuda","MENU_BAR_MENU_TEXT":"Texto","MENU_BAR_MENU_FONT":"Tipo de letra","Editor menu bar":"Barra de menu do editor","Please enter a valid color (e.g. \"ff0000\").":"Introduza uma cor válida (por ex. \"ff0000\").","Insert table":"Inserir tabela","Header column":"Coluna de cabeçalho","Insert column left":"Inserir coluna à esquerda","Insert column right":"Inserir coluna à direita","Delete column":"Eliminar coluna","Select column":"Selecionar coluna","Column":"Coluna","Header row":"Linha de cabeçalho","Insert row below":"Inserir linha abaixo","Insert row above":"Inserir linha acima","Delete row":"Eliminar linha","Select row":"Selecionar linha","Row":"Linha","Merge cell up":"Unir célula acima","Merge cell right":"Unir célula à direita","Merge cell down":"Unir célula abaixo","Merge cell left":"Unir célula à esquerda","Split cell vertically":"Dividir célula verticalmente","Split cell horizontally":"Dividir célula horizontalmente","Merge cells":"Fundir células","Table toolbar":"Barra de ferramentas da tabela","Table properties":"Propriedades da tabela","Cell properties":"Propriedades da célula","Border":"Borda","Style":"Estilo","Width":"Largura","Height":"Altura","Color":"Cor","Background":"Fundo","Padding":"Espaçamento","Dimensions":"Dimensões","Table cell text alignment":"Alinhamento de texto das células da tabela","Alignment":"Alinhamento","Horizontal text alignment toolbar":"Barra de ferramentas do alinhamento horizontal de texto","Vertical text alignment toolbar":"Barra de ferramentas do alinhamento vertical de texto","Table alignment toolbar":"Barra de ferramentas do alinhamento da tabela","None":"Nenhum","Solid":"Sólido","Dotted":"Pontilhado","Dashed":"Tracejado","Double":"Duplo","Groove":"Sulcos","Ridge":"Rebordo","Inset":"InterioLine truncated
e[ 'pt' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'pt' ].dictionary = Object.assign( e[ 'pt' ].dictionary, dictionary );
e[ 'pt' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ro' ]: { dictionary, getPluralForm } } = {"ro":{"dictionary":{"Words: %0":"Cuvinte: %0","Characters: %0":"Caractere: %0","Widget toolbar":"Bară widget","Insert paragraph before block":"Inserează un paragraf înaintea blocului","Insert paragraph after block":"Inserează un paragraf după bloc","Press Enter to type after or press Shift + Enter to type before the widget":"Apăsați Enter pentru a scrie după widget sau Shift+Enter pentru a scrie înaintea acestuia","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Comenzi din tastatură care pot fi utilizate atunci când este selectat un widget (de exemplu: imagine, tabel etc.)","Insert a new paragraph directly after a widget":"Inserează un nou paragraf direct după un widget","Insert a new paragraph directly before a widget":"Inserează un nou paragraf direct înaintea unui widget","Move the caret to allow typing directly before a widget":"Mută cursorul pentru a permite tastarea direct înaintea unui widget","Move the caret to allow typing directly after a widget":"Mută cursorul pentru a permite tastarea direct după un widget","Move focus from an editable area back to the parent widget":"Mutați centrul de interes dintr-o zonă editabilă înapoi la widgetul părinte","Upload in progress":"Încărcare în curs","Undo":"Anulare","Redo":"Revenire","Rich Text Editor":"Editor de text","Edit block":"Editează bloc","Click to edit block":"Faceți clic pentru a edita întreg blocul","Drag to move":"Glisați pentru a muta","Next":"Înainte","Previous":"Înapoi","Editor toolbar":"Bară editor","Dropdown toolbar":"Bară listă opțiuni","Dropdown menu":"Meniu derulant","Black":"Negru","Dim grey":"Gri slab","Grey":"Gri","Light grey":"Gri deschis","White":"Alb","Red":"Roșu","Orange":"Portocaliu","Yellow":"Galben","Light green":"Verde deschis","Green":"Verde","Aquamarine":"Acvamarin","Turquoise":"Turcoaz","Light blue":"Albastru deschis","Blue":"Albastru","Purple":"Violet","Editor block content toolbar":"Bară de instrumente editor pentru blocuri de conținut","Editor contextual toolbar":"Bară contextuală de instrumente editor","HEX":"HEX","No results found":"Nu au fost găsite rezultate","No searchable items":"Nu există elemente ce pot fi căutate","Editor dialog":"Dialog editor","Close":"Închideți","Help Contents. To close this dialog press ESC.":"Conținutul de asistență. Apăsați ESC pentru a închide acest dialog.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Mai jos puteți găsi o listă de comenzi rapide de tastatură care pot fi utilizate în editor.","(may require <kbd>Fn</kbd>)":"(poate fi necesar să apăsați <kbd>Fn</kbd>)","Accessibility":"Accesibilitate","Accessibility help":"Ajutor pentru accesibilitate","Press %0 for help.":"Apăsați %0] pentru ajutor.","Move focus in and out of an active dialog window":"Comutează focalizarea într-o fereastră de dialog activă și în afara acesteia","MENU_BAR_MENU_FILE":"Fișier","MENU_BAR_MENU_EDIT":"Editează","MENU_BAR_MENU_VIEW":"Vizualizare","MENU_BAR_MENU_INSERT":"Inserează","MENU_BAR_MENU_FORMAT":"Formatare","MENU_BAR_MENU_TOOLS":"Instrumente","MENU_BAR_MENU_HELP":"Ajutor","MENU_BAR_MENU_TEXT":"Text","MENU_BAR_MENU_FONT":"Font","Editor menu bar":"Bara de meniuri a editorului","Please enter a valid color (e.g. \"ff0000\").":"Vă rugăm să introduceți un cod de culoare valid (de ex., „ff0000”).","Insert table":"Inserează tabel","Header column":"Antet coloană","Insert column left":"Inserează coloană la stânga","Insert column right":"Inserează coloană la dreapta","Delete column":"Șterge coloană","Select column":"Selectează coloana","Column":"Coloană","Header row":"Rând antet","Insert row below":"Inserează rând dedesubt","Insert row above":"Inserează rând deasupra","Delete row":"Șterge rând","Select row":"Selectează linia","Row":"Rând","Merge cell up":"Îmbină celula în sus","Merge cell right":"Îmbină celula la dreapta","Merge cell down":"Îmbină celula în jos","Merge cell left":"Îmbină celula la stânga","Split cell vertically":"Scindează celula pe verticală","Split cell horizontally":"Scindează celula pe orizontală","Merge cells":"Îmbină celulele","Table toolbar":"Bară tabel","Table properties":"Proprietățile tabelei","Cell properties":"Proprietățile celulei","Border":"Bordură","Style":"Stil","Width":"Lungime","Height":"Înălțime","Color":"Culoare","Background":"Fundal","Padding":"Spațiere","Dimensions":"Dimensiuni","Table cell text alignment":"Alinierea textului celulei tabelei","Alignment":"Aliniere","Horizontal text alignment toolbar":"Toolbar aliniere text orizontală","Vertical text alignment toolbar":"Toolbar aliniere text verticală","Table alignment toolbar":"Toolbar aliniere tabelă","None":"Nimic","Solid":"Solidă","Dotted":"Punctată","Dashed":"Linii întrerupte","Double":"Dublă","Groove":"Groove","Ridge":"Crestată","Inset":"Inserează","Outset":Line truncated
e[ 'ro' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ro' ].dictionary = Object.assign( e[ 'ro' ].dictionary, dictionary );
e[ 'ro' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ru' ]: { dictionary, getPluralForm } } = {"ru":{"dictionary":{"Words: %0":"Слов: %0","Characters: %0":"Символов: %0","Widget toolbar":"Панель инструментов виджета","Insert paragraph before block":"Вставить параграф перед блоком","Insert paragraph after block":"Вставить параграф после блока","Press Enter to type after or press Shift + Enter to type before the widget":"Нажмите Enter для ввода текста после виджета или нажмите Shift + Enter для ввода текста перед виджетом","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Нажатия клавиш, которые можно использовать при выборе виджета (например: изображение, таблица и т. д.)","Insert a new paragraph directly after a widget":"Вставить новый абзац непосредственно после виджета.","Insert a new paragraph directly before a widget":"Вставить новый абзац непосредственно перед виджетом.","Move the caret to allow typing directly before a widget":"Переместите курсор, чтобы можно было вводить текст непосредственно перед виджетом.","Move the caret to allow typing directly after a widget":"Переместить курсор, чтобы можно было вводить текст сразу после виджета.","Move focus from an editable area back to the parent widget":"Переместите фокус с редактируемой области обратно на родительский виджет","Upload in progress":"Идёт загрузка","Undo":"Отменить","Redo":"Повторить","Rich Text Editor":"Редактор","Edit block":"Редактировать блок","Click to edit block":"Нажмите, чтобы редактировать блок","Drag to move":"Перетащить","Next":"Следующий","Previous":"Предыдущий","Editor toolbar":"Панель инструментов редактора","Dropdown toolbar":"Выпадающая панель инструментов","Dropdown menu":"Раскрывающееся меню","Black":"Чёрный","Dim grey":"Тёмно-серый","Grey":"Серый","Light grey":"Светло-серый","White":"Белый","Red":"Красный","Orange":"Оранжевый","Yellow":"Жёлтый","Light green":"Салатовый","Green":"Зелёный","Aquamarine":"Аквамариновый","Turquoise":"Бирюзовый","Light blue":"Голубой","Blue":"Синий","Purple":"Фиолетовый","Editor block content toolbar":"Панель инструментов редактора","Editor contextual toolbar":"Контекстуальная панель инструментов редактора","HEX":"HEX","No results found":"Результаты не найдены","No searchable items":"Нет элементов для поиска","Editor dialog":"Диалоговое окно редактора","Close":"Закрыть","Help Contents. To close this dialog press ESC.":"Содержание справки. Чтобы закрыть это диалоговое окно, нажмите ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Ниже вы можете найти список сочетаний клавиш, которые можно использовать в редакторе.","(may require <kbd>Fn</kbd>)":"(может требовать <kbd>Fn</kbd>)","Accessibility":"Доступность","Accessibility help":"Помощь по специальным возможностям","Press %0 for help.":"Нажмите %0 для получения помощи.","Move focus in and out of an active dialog window":"Переместить фокус в активное диалоговое окно и обратно.","MENU_BAR_MENU_FILE":"Файл","MENU_BAR_MENU_EDIT":"Редактировать","MENU_BAR_MENU_VIEW":"Посмотреть","MENU_BAR_MENU_INSERT":"Вставить","MENU_BAR_MENU_FORMAT":"Формат","MENU_BAR_MENU_TOOLS":"Инструменты","MENU_BAR_MENU_HELP":"Помощь","MENU_BAR_MENU_TEXT":"Текст","MENU_BAR_MENU_FONT":"Шрифт","Editor menu bar":"Панель меню редактора","Please enter a valid color (e.g. \"ff0000\").":"Введите действительный цвет (например, \"ff0000\").","Insert table":"Вставить таблицу","Header column":"Столбец заголовков","Insert column left":"Вставить столбец слева","Insert column right":"Вставить столбец справа","Delete column":"Удалить столбец","SelectLine truncated
e[ 'ru' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ru' ].dictionary = Object.assign( e[ 'ru' ].dictionary, dictionary );
e[ 'ru' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'si' ]: { dictionary, getPluralForm } } = {"si":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"අහෝසි කරන්න","Redo":"නැවත කරන්න","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin small letter a with macron":"","Latin capital letter a with breve":"","LatLine truncated
e[ 'si' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'si' ].dictionary = Object.assign( e[ 'si' ].dictionary, dictionary );
e[ 'si' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'sk' ]: { dictionary, getPluralForm } } = {"sk":{"dictionary":{"Words: %0":"Slov: %0","Characters: %0":"Znakov: %0","Widget toolbar":"Panel nástrojov ovládacieho prvku","Insert paragraph before block":"Vložiť odstavec pred blok","Insert paragraph after block":"Vložiť odstavec za blok","Press Enter to type after or press Shift + Enter to type before the widget":"Stlačte Enter, ak chcete písať po miniaplikácii, alebo stlačte Shift + Enter, ak chcete písať pred miniaplikáciou","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Klávesy, ktoré sa dajú použiť, keď je vybratý widget (napríklad obrázok alebo tabuľka)","Insert a new paragraph directly after a widget":"Vložiť nový odsek priamo za widgetom","Insert a new paragraph directly before a widget":"Vložiť nový odsek priamo pred widgetom","Move the caret to allow typing directly before a widget":"Presunúť striešku priamo pred widget, aby ste tam mohli písať","Move the caret to allow typing directly after a widget":"Presunúť striešku priamo za widget, aby ste tam mohli písať","Move focus from an editable area back to the parent widget":"Presuňte zameranie z upraviteľnej oblasti späť na rodičovskú miniaplikáciu","Upload in progress":"Prebieha nahrávanie","Undo":"Späť","Redo":"Znova","Rich Text Editor":"Editor s formátovaním","Edit block":"Upraviť odsek","Click to edit block":"Úprava bloku kliknutím","Drag to move":"Potiahnuť a presunúť","Next":"Ďalšie","Previous":"Predchádzajúce","Editor toolbar":"Panel nástrojov editora","Dropdown toolbar":"Panel nástrojov roletového menu","Dropdown menu":"Rozbaľovacia ponuka","Black":"Čierna","Dim grey":"Tmavosivá","Grey":"Sivá","Light grey":"Bledosivá","White":"Biela","Red":"Červená","Orange":"Oranžová","Yellow":"Žltá","Light green":"Bledozelená","Green":"Zelená","Aquamarine":"Akvamarínová","Turquoise":"Tyrkysová","Light blue":"Bledomodrá","Blue":"Modrá","Purple":"Fialová","Editor block content toolbar":"Panel s nástrojmi obsahu bloku editora","Editor contextual toolbar":"Kontextový panel nástrojov editora","HEX":"HEX","No results found":"Neboli nájdené žiadne výsledky","No searchable items":"Žiadne vyhľadávateľné položky","Editor dialog":"Dialóg editora","Close":"Zatvoriť","Help Contents. To close this dialog press ESC.":"Obsah pomocníka. Toto dialógové okno zavriete klávesom Esc.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Nižšie nájdete zoznam klávesových skratiek, ktoré môžete používať v editore.","(may require <kbd>Fn</kbd>)":"(môže si vyžadovať stlačenie klávesu <kbd>Fn</kbd>)","Accessibility":"Dostupnosť","Accessibility help":"Pomoc so zjednodušením ovládania","Press %0 for help.":"Ak potrebujete pomoc, stlačte %0.","Move focus in and out of an active dialog window":"Presunúť zameranie z/do aktívneho dialógového okna","MENU_BAR_MENU_FILE":"Súbor","MENU_BAR_MENU_EDIT":"Upraviť","MENU_BAR_MENU_VIEW":"Zobraziť","MENU_BAR_MENU_INSERT":"Vložiť","MENU_BAR_MENU_FORMAT":"Formát","MENU_BAR_MENU_TOOLS":"Nástroje","MENU_BAR_MENU_HELP":"Pomoc","MENU_BAR_MENU_TEXT":"Text","MENU_BAR_MENU_FONT":"Font","Editor menu bar":"Lišta ponuky editora","Please enter a valid color (e.g. \"ff0000\").":"Zadajte platnú farbu (napr. „ff0000“).","Insert table":"Vložiť tabuľku","Header column":"Stĺpec hlavičky","Insert column left":"Vložiť stĺpec vľavo","Insert column right":"Vložiť stĺpec vpravo","Delete column":"Odstrániť stĺpec","Select column":"Vybrať stĺpec","Column":"Stĺpec","Header row":"Riadok hlavičky","Insert row below":"Vložiť riadok pod","Insert row above":"Vložiť riadok nad","Delete row":"Odstrániť riadok","Select row":"Vybrať riadok","Row":"Riadok","Merge cell up":"Zlúčiť bunku hore","Merge cell right":"Zlúčiť bunku vpravo","Merge cell down":"Zlúčiť bunku dole","Merge cell left":"Zlúčiť bunku vľavo","Split cell vertically":"Rozdeliť bunku zvislo","Split cell horizontally":"Rozdeliť bunku vodorovne","Merge cells":"Zlúčiť bunky","Table toolbar":"Panel nástrojov tabuľky","Table properties":"Vlastnosti tabuľky","Cell properties":"Vlastnosti bunky","Border":"Orámovanie","Style":"Štýl","Width":"Šírka","Height":"Výška","Color":"Farba","Background":"Pozadie","Padding":"Vnútorný okraj","Dimensions":"Rozmery","Table cell text alignment":"Zarovnanie textu v bunke","Alignment":"Zarovnanie","Horizontal text alignment toolbar":"Horizontálne zarovnanie textu v panely","Vertical text alignment toolbar":"Vertikálne zarovnanie textu v panely","Table alignment toolbar":"Panel zarovnania tabuľky","None":"Žiadna","Solid":"Plná","Dotted":"Bodkovaná","Dashed":"Čiarkovaná","Double":"Dvojitá","Groove":"Drážkovaná","Ridge":"Rámovaná","Inset":"Vložená z vnútra","Outset":"Vložená zvonku","Align cell text to the left":"Zarovnať text bunky doľava","Align cell Line truncated
e[ 'sk' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'sk' ].dictionary = Object.assign( e[ 'sk' ].dictionary, dictionary );
e[ 'sk' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'sl' ]: { dictionary, getPluralForm } } = {"sl":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"Črna","Dim grey":"Temno siva","Grey":"Siva","Light grey":"Svetlo siva","White":"Bela","Red":"Rdeča","Orange":"Oranžna","Yellow":"Rumena","Light green":"Svetlo zelena","Green":"Zelena","Aquamarine":"Akvamarin","Turquoise":"Turkizna","Light blue":"Svetlo modra","Blue":"Modra","Purple":"Vijolična","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Vstavi tabelo","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Latin capital letter a with macron":"","Latin smaLine truncated
e[ 'sl' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'sl' ].dictionary = Object.assign( e[ 'sl' ].dictionary, dictionary );
e[ 'sl' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'sq' ]: { dictionary, getPluralForm } } = {"sq":{"dictionary":{"Words: %0":"Fjalë: %0","Characters: %0":"Karaktere: %0","Widget toolbar":"Kokështrirja e shtesës","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Duke ngarkuar","Undo":"Rikthe","Redo":"Ribëj","Rich Text Editor":"Redaktues i Tekstit të Pasur","Edit block":"Redakto bllokun","Click to edit block":"","Drag to move":"","Next":"E radhës","Previous":"Paraprake","Editor toolbar":"Kokështrirja e redaktuesit","Dropdown toolbar":"Zgjero kokështrirjen","Dropdown menu":"","Black":"E zezë","Dim grey":"","Grey":"Ngjyrë hiri","Light grey":"","White":"E bardhë","Red":"E kuqe","Orange":"Ngjyrë portokalli","Yellow":"E verdhë","Light green":"","Green":"E gjelbër","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"E kaltër","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Shto tabelë","Header column":"Kolona e kokës","Insert column left":"Shto kolonë majtas","Insert column right":"Shto kolonë djathtas","Delete column":"Gris kolonën","Select column":"","Column":"Kolona","Header row":"Rreshti i kokës","Insert row below":"Shto rresht poshtë","Insert row above":"Shto rresht sipër","Delete row":"Grish rreshtin","Select row":"","Row":"Rreshti","Merge cell up":"Bashko kutizat sipër","Merge cell right":"Bashko kutizat djathtas","Merge cell down":"Bashko kutizat poshtë","Merge cell left":"Bashko kutizat majtas","Split cell vertically":"Ndajë kutizat vertikalisht","Split cell horizontally":"Ndaj kutizat horizontalisht","Merge cells":"Bashko kutizat","Table toolbar":"Kokështrirja e tabelës","Table properties":"Karakteristikat e tabelës","Cell properties":"Karakteristikat e qelisë","Border":"","Style":"Stili","Width":"Gjerësia","Height":"Lartësia","Color":"Ngjyra","Background":"Prapavija","Padding":"","Dimensions":"Dimensionet","Table cell text alignment":"Rradhitja e tekstit të qelisë së tabelës","Alignment":"Radhitja","Horizontal text alignment toolbar":"Kokështrirja e rradhitjes së tekstit horizontalisht","Vertical text alignment toolbar":"Kokështrirja e rradhitjes së tekstit vertikalisht","Table alignment toolbar":"Kokështrirja e radhitjes së tabelës","None":"Asnjë","Solid":"","Dotted":"Me pika","Dashed":"","Double":"Me dy vija","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"Radhit tekstin e qelisë majtas","Align cell text to the center":"Radhite tekstin në mes","Align cell text to the right":"Radhit tekstin e qelisë në të djathtë","Justify cell text":"","Align cell text to the top":"Radhit tekstin e qelisë sipër","Align cell text to the middle":"Radhit tekstin e qelisë në mes","Align cell text to the bottom":"Radhite tesktin e qelisë në fund","Align table to the left":"Radhit tabelën majtas","Center table":"","Align table to the right":"Radhit tabelën në të djathtë","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"Kodi është i pavlefshëm. Provo\"#FF0000\" ose \"rgb(255,0,0)\" ose \"red\".","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","righLine truncated
e[ 'sq' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'sq' ].dictionary = Object.assign( e[ 'sq' ].dictionary, dictionary );
e[ 'sq' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'sr-latn' ]: { dictionary, getPluralForm } } = {"sr-latn":{"dictionary":{"Words: %0":"Reči: %0","Characters: %0":"Karakteri: %0","Widget toolbar":"Видгет трака са алаткама","Insert paragraph before block":"Уметните одломак пре блока","Insert paragraph after block":"Уметните одломак после блока","Press Enter to type after or press Shift + Enter to type before the widget":"Pritisnite Enter da kucate posle ili pritisnite Shift + Enter da kucate pre vidžeta","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Pritisci na tastere koji se mogu koristiti kada je vidžet izabran (na primer: slika, tabela, itd.)  ","Insert a new paragraph directly after a widget":"Umetnite novi pasus direktno posle vidžeta","Insert a new paragraph directly before a widget":"Umetnite novi pasus direktno ispred vidžeta","Move the caret to allow typing directly before a widget":"Pomerite kursor da biste omogućili kucanje direktno pre vidžeta","Move the caret to allow typing directly after a widget":"Pomerite kursor da biste omogućili kucanje direktno posle vidžeta","Move focus from an editable area back to the parent widget":"Pomerite fokus sa oblasti za uređivanje nazad na roditeljski vidžet","Upload in progress":"Postavljanje u toku","Undo":"Povlačenje","Redo":"Ponovo","Rich Text Editor":"Prošireni uređivač teksta","Edit block":"Blok uređivač","Click to edit block":"Kliknite da biste uredili blok","Drag to move":"Prevucite da biste premestili","Next":"Sledeći","Previous":"Prethodni","Editor toolbar":"Uređivač traka sa alatkama","Dropdown toolbar":"Padajuća traka sa alatkama","Dropdown menu":"","Black":"Crna","Dim grey":"Bledo siva","Grey":"Siva","Light grey":"Svetlo siva","White":"Bela","Red":"Crvena","Orange":"Narandžasta","Yellow":"Žuta","Light green":"Svetlo zelena","Green":"Zelena","Aquamarine":"Zelenkastoplava","Turquoise":"Tirkizna","Light blue":"Svetloplava","Blue":"Plava","Purple":"Ljubičasta","Editor block content toolbar":"Traka sa alatkama za blokiranje sadržaja uređivača","Editor contextual toolbar":"Kontekstualna traka sa alatkama Editor","HEX":"HEX","No results found":"Nije pronađen nijedan rezultat","No searchable items":"Nema stavki koje se mogu pretražiti","Editor dialog":"Editor dijalog","Close":"Blizu","Help Contents. To close this dialog press ESC.":"Sadržaj pomoći. Da biste zatvorili ovaj dijalog, pritisnite ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Ispod možete pronaći listu prečica na tastaturi koje se mogu koristiti u uređivaču.","(may require <kbd>Fn</kbd>)":"(možda zahteva Fn)","Accessibility":"Pristupačnost","Accessibility help":"Pomoć za pristupačnost","Press %0 for help.":"Pritisnite %0 za pomoć.","Move focus in and out of an active dialog window":"Pomeranje fokusa u i van aktivnog prozora dijaloga","MENU_BAR_MENU_FILE":"File","MENU_BAR_MENU_EDIT":"Uredi","MENU_BAR_MENU_VIEW":"View","MENU_BAR_MENU_INSERT":"Ubaci","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Alati","MENU_BAR_MENU_HELP":"Pomoć","MENU_BAR_MENU_TEXT":"Tekst","MENU_BAR_MENU_FONT":"Font","Editor menu bar":"Traka menija uređivača","Please enter a valid color (e.g. \"ff0000\").":"Unesite važeću boju (npr. „ff0000“).","Insert table":"Dodaj tabelu","Header column":"Kolona za zaglavlje","Insert column left":"Dodaj kolonu levo","Insert column right":"Dodaj kolonu desno","Delete column":"Briši kolonu","Select column":"Odaberi kolonu","Column":"Kolona","Header row":"Red za zaglavlje","Insert row below":"Dodaj red ispod","Insert row above":"Dodaj red iznad","Delete row":"Briši red","Select row":"Odaberi red","Row":"Red","Merge cell up":"Spoj ćelije na gore","Merge cell right":"Spoj ćelije na desno","Merge cell down":"Spoj ćelije na dole","Merge cell left":"Spoj ćelije na levo","Split cell vertically":"Deli ćelije uspravno","Split cell horizontally":"Deli ćelije vodoravno","Merge cells":"Spoj ćelije","Table toolbar":"Tabela traka sa alatkama","Table properties":"Svojstva tabele","Cell properties":"Svojstva ćelije","Border":"Granica","Style":"Stil","Width":"Širina","Height":"Visina","Color":"Boja","Background":"Pozadina","Padding":"Postavljanje","Dimensions":"Dimenzija","Table cell text alignment":"Poravnaj tekst u tabeli","Alignment":"Poravnanje","Horizontal text alignment toolbar":"Horizontalna traka sa alatkama za poravnavanje teksta","Vertical text alignment toolbar":"Vertikalna traka sa alatkama za poravnavanje teksta","Table alignment toolbar":"Traka sa alatkama za poravnavanje tabele","None":"Nijedan","Solid":"Čvrst","Dotted":"Sa tačkama","Dashed":"Razbijeno","Double":"Dvostruki","Groove":"Kolosek","Ridge":"Greben","Inset":"Prilog","Outset":"Početak","Align cell text to the left":"Poravnajte tekst ćelije levo","Align cell text to the center":"Poravnajte tekst ćelije u sredinu","Align cell text to thLine truncated
e[ 'sr-latn' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'sr-latn' ].dictionary = Object.assign( e[ 'sr-latn' ].dictionary, dictionary );
e[ 'sr-latn' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'sr' ]: { dictionary, getPluralForm } } = {"sr":{"dictionary":{"Words: %0":"Речи: %0","Characters: %0":"Карактери: %0","Widget toolbar":"Widget traka sa alatkama","Insert paragraph before block":"Umetnite odlomak pre bloka","Insert paragraph after block":"Umetnite odlomak posle bloka","Press Enter to type after or press Shift + Enter to type before the widget":"Притисните Ентер да куцате после или притисните Схифт + Ентер да куцате пре виџета","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Tasteri koji se mogu koristiti kada je vidžet izabran (na primer: slika, tabela, itd.)","Insert a new paragraph directly after a widget":"Umetni novi pasus direktno posle vidžeta","Insert a new paragraph directly before a widget":"Umetni novi pasus direktno pre vidžeta","Move the caret to allow typing directly before a widget":"Pomeri kursor kako bi se omogućilo kucanje direktno pre vidžeta","Move the caret to allow typing directly after a widget":"Pomeri kursor kako bi se omogućilo kucanje direktno posle vidžeta","Move focus from an editable area back to the parent widget":"Vratite fokus sa oblasti koja se može uređivati na matični vidžet","Upload in progress":"Постављање у току","Undo":"Повлачење","Redo":"Поново","Rich Text Editor":"Проширен уређивач текста","Edit block":"Блок уређивач","Click to edit block":"Kliknite da biste uredili blok","Drag to move":"Prevucite da biste premestili","Next":"Следећи","Previous":"Претходни","Editor toolbar":"Уређивач трака са алаткама","Dropdown toolbar":"Падајућа трака са алаткама","Dropdown menu":"Padajući meni","Black":"Црна","Dim grey":"Бледо сива","Grey":"Сива","Light grey":"Светло сива","White":"Бела","Red":"Црвена","Orange":"Нараџаста","Yellow":"Жута","Light green":"Светлозелена","Green":"Зелена","Aquamarine":"Зеленкастоплава","Turquoise":"Тиркизна","Light blue":"Светлоплава","Blue":"Плава","Purple":"Љубичаста","Editor block content toolbar":"Трака са алаткама за блокирање садржаја уређивача","Editor contextual toolbar":"Контекстуална трака са алаткама Едитор","HEX":"HEX","No results found":"Nije pronađen nijedan rezultat","No searchable items":"Nema stavki koje se mogu pretražiti","Editor dialog":"Dijalog za uređivanje","Close":"Zatvori","Help Contents. To close this dialog press ESC.":"Sadržaji za pomoć. Kako biste zatvorili ovaj dijalog pritisnite taster ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Ispod možete pronaći listu prečica na tastaturi koje se mogu koristiti u uređivaču.","(may require <kbd>Fn</kbd>)":"(možda će biti neophodan <kbd>Fn</kbd>)","Accessibility":"Pristupačnost","Accessibility help":"Pomoć oko pristupačnosti","Press %0 for help.":"Pritisni %0 za pomoć.","Move focus in and out of an active dialog window":"Pomeri fokus u i van aktivnog prozora dijaloga","MENU_BAR_MENU_FILE":"Datoteka","MENU_BAR_MENU_EDIT":"Уреди","MENU_BAR_MENU_VIEW":"Prikaži","MENU_BAR_MENU_INSERT":"Убаци","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Alati","MENU_BAR_MENU_HELP":"Pomoć","MENU_BAR_MENU_TEXT":"Текст","MENU_BAR_MENU_FONT":"Font","Editor menu bar":"Traka menija uređivača","Please enter a valid color (e.g. \"ff0000\").":"Unesite važeću boju (npr. „ff0000“).","Insert table":"Додај табелу","Header column":"Колона за заглавље","Insert column left":"Додај колону лево","Insert column right":"Додај колону десно","Delete column":"Бриши колону","Select column":"Изабери колону","Column":"Колона","Header row":"Ред за заглавлје","Insert row below":"Додај ред испод","Insert row above":"Додај ред изнад","Delete row":"Бриши ред","Select row":"Изабери ред","Row":"Ред","Merge cell up":"Спој ћелије на горе","Merge cell right":"Спој ћелије на десно","Merge cell down":"Спој ћелије на доле","Merge cell left":"Cпој ћелије на лево","Split cell vertically":"Дели ћелије усправно","Split cell horizontally":"Дели ћелије водоравно","Merge cells":"Спој ћелије","Table toolbar":"Табела трака са алаткама","Table properties":"Својства табеле","Cell properties":"Својства ћелије","Border":"Граница","Style":"Стил","Width":"Ширина","Height":"Висина","Color":"Боја","Background":"Позадина","Padding":"ПостављањеLine truncated
e[ 'sr' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'sr' ].dictionary = Object.assign( e[ 'sr' ].dictionary, dictionary );
e[ 'sr' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'sv' ]: { dictionary, getPluralForm } } = {"sv":{"dictionary":{"Words: %0":"Ord: %0","Characters: %0":"Tecken: %0","Widget toolbar":"Widgetverktygsfält","Insert paragraph before block":"Infoga stycke före block","Insert paragraph after block":"Infoga stycke efter block","Press Enter to type after or press Shift + Enter to type before the widget":"Tryck på retur för att skriva efter eller på skift + retur för att skriva före widgeten.","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Tangenter som kan användas när en widget är vald (till exempel: bild, tabell m.m.)","Insert a new paragraph directly after a widget":"Påbörja nytt stycke direkt efter en widget","Insert a new paragraph directly before a widget":"Påbörja nytt stycke direkt före en widget","Move the caret to allow typing directly before a widget":"Flytta textmarkören för att kunna skriva direkt före en widget","Move the caret to allow typing directly after a widget":"Flytta textmarkören för att kunna skriva direkt efter en widget","Move focus from an editable area back to the parent widget":"Flytta fokus från ett redigerbart område tillbaka till moderswidgeten","Upload in progress":"Uppladdning pågår","Undo":"Ångra","Redo":"Gör om","Rich Text Editor":"Rich Text-editor","Edit block":"Redigera block","Click to edit block":"Klicka för att redigera blocket","Drag to move":"Dra för att flytta","Next":"Nästa","Previous":"Föregående","Editor toolbar":"Redigeringsverktygsfält","Dropdown toolbar":"Rullgardinsverktygsfält","Dropdown menu":"Rullgardinsmeny","Black":"Svart","Dim grey":"Dunkelgrå","Grey":"Grå","Light grey":"Ljusgrå","White":"Vit","Red":"Röd","Orange":"Orange","Yellow":"Gul","Light green":"Ljusgrön","Green":"Grön","Aquamarine":"Akvamarin","Turquoise":"Turkos","Light blue":"Ljusblå","Blue":"Blå","Purple":"Lila","Editor block content toolbar":"Verktygsfält vid block av innehåll","Editor contextual toolbar":"Ordbehandlarens kontextuella verktygsfält","HEX":"HEX","No results found":"Inga resultat hittades","No searchable items":"Inga sökbara objekt","Editor dialog":"Ordbehandlardialog","Close":"Stäng","Help Contents. To close this dialog press ESC.":"Hjälpinnehåll. Tryck på ESC för att stänga dialogrutan.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Nedan hittar du en lista med kortkommandon som kan användas i redigeraren.","(may require <kbd>Fn</kbd>)":"(kan kräva <kbd>Fn</kbd>)","Accessibility":"Tillgänglighet","Accessibility help":"Hjälp med tillgänglighet","Press %0 for help.":"Tryck på %0 för hjälp.","Move focus in and out of an active dialog window":"Flytta fokus till och från en aktiv dialogruta","MENU_BAR_MENU_FILE":"Fil","MENU_BAR_MENU_EDIT":"Ändra","MENU_BAR_MENU_VIEW":"Visa","MENU_BAR_MENU_INSERT":"Infoga","MENU_BAR_MENU_FORMAT":"Format","MENU_BAR_MENU_TOOLS":"Verktyg","MENU_BAR_MENU_HELP":"Hjälp","MENU_BAR_MENU_TEXT":"Text","MENU_BAR_MENU_FONT":"Teckensnitt","Editor menu bar":"Menyfält för redigeraren","Please enter a valid color (e.g. \"ff0000\").":"Ange en giltig färg (t.ex. \"ff0000\").","Insert table":"Lägg in tabell","Header column":"Rubrikkolumn","Insert column left":"Infoga kolumn till vänster","Insert column right":"Infoga kolumn till höger","Delete column":"Ta bort kolumn","Select column":"Välj kolumn","Column":"Kolumn","Header row":"Rubrikrad","Insert row below":"Infoga rad nedanför","Insert row above":"Infoga rad ovanför","Delete row":"Ta bort rad","Select row":"Välj rad","Row":"Rad","Merge cell up":"Sammanfoga celler uppåt","Merge cell right":"Sammanfoga celler åt höger","Merge cell down":"Sammanfoga celler neråt","Merge cell left":"Sammanfoga celler åt vänster","Split cell vertically":"Dela cell vertikalt","Split cell horizontally":"Dela cell horisontellt","Merge cells":"Sammanfoga celler","Table toolbar":"Tabellverktygsfält","Table properties":"Tabellegenskaper","Cell properties":"Cellegenskaper","Border":"Kant","Style":"Stil","Width":"Bredd","Height":"Höjd","Color":"Färg","Background":"Bakgrund","Padding":"Marginal","Dimensions":"Mått","Table cell text alignment":"Textjustering i tabellcell","Alignment":"Justering","Horizontal text alignment toolbar":"Verktygsfält för horisontell textjustering","Vertical text alignment toolbar":"Verktygsfält för vertikal textjustering","Table alignment toolbar":"Verktygsfält för tabelljustering","None":"Inget","Solid":"Enfärgad","Dotted":"Prickig","Dashed":"Streckad","Double":"Dubbel","Groove":"Skåra","Ridge":"Kant","Inset":"Infälld","Outset":"Utfälld","Align cell text to the left":"Vänsterjustera celltext","Align cell text to the center":"Centrera celltext","Align cell text to the right":"Högerjustera celltext","Justify cell text":"Anpassa celltext","Align cell text to the top":"Toppjustera celltext","Align cell text to the middle":"Centrera celltext","Align cell text to the bottom":"Bottenjustera cellteLine truncated
e[ 'sv' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'sv' ].dictionary = Object.assign( e[ 'sv' ].dictionary, dictionary );
e[ 'sv' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'th' ]: { dictionary, getPluralForm } } = {"th":{"dictionary":{"Words: %0":"คำ: %0","Characters: %0":"ตัวอักษร: %0","Widget toolbar":"แถมเครื่องมือวิดเจ็ต","Insert paragraph before block":"แทรกย่อหน้าก่อนบล็อก","Insert paragraph after block":"แทรกย่อหน้าหลังบล็อก","Press Enter to type after or press Shift + Enter to type before the widget":"กด Enter เพื่อพิมพ์หลังจาก หรือกด Shift + Enter เพื่อพิมพ์ก่อนหน้าวิดเจ็ต","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"แป้นพิมพ์ลัดที่สามารถใช้ได้เมื่อเลือกวิดเจ็ต (ยกตัวอย่าง: รูปภาพ, ตาราง, ฯลฯ)","Insert a new paragraph directly after a widget":"แทรกย่อหน้าใหม่หลังวิดเจ็ตโดยตรง","Insert a new paragraph directly before a widget":"แทรกย่อหน้าใหม่หน้าวิดเจ็ตโดยตรง","Move the caret to allow typing directly before a widget":"ย้ายสัญลักษณ์คาเร็ตเพื่อให้สามารถพิมพ์ได้ไปอยู่หน้าวิดเจ็ตโดยตรง","Move the caret to allow typing directly after a widget":"ย้ายสัญลักษณ์คาเร็ตเพื่อให้สามารถพิมพ์ได้ไปอยู่หลังวิดเจ็ตโดยตรง","Move focus from an editable area back to the parent widget":"ย้ายโฟกัสจากบริเวณที่แก้ไขได้กลับไปยังวิดเจ็ตแม่","Upload in progress":"กำลังดำเนินการอัปโหลด","Undo":"ย้อนกลับ","Redo":"ทำซ้ำ","Rich Text Editor":"โปรแกรมแก้ไข Rich Text","Edit block":"แก้ไขบล็อก","Click to edit block":"คลิกเพื่อแก้ไขบล็อก","Drag to move":"ลากเพื่อย้าย","Next":"ถัดไป","Previous":"ก่อนหน้า","Editor toolbar":"แถบเครื่องมือแก้ไข","Dropdown toolbar":"แถบเครื่องมือแบบเลื่อนลง","Dropdown menu":"เมนูแบบเลื่อนลง","Black":"สีดำ","Dim grey":"สีเทาเข้ม","Grey":"สีเทา","Light grey":"สีเทาอ่อน","White":"สีขาว","Red":"สีแดง","Orange":"สีส้ม","Yellow":"สีเหลือง","Light green":"สีเขียวอ่อน","Green":"สีเขียว","Aquamarine":"พลอยสีฟ้า","Turquoise":"สีเขียวขุ่น","Light blue":"สีฟ้า","Blue":"สีน้ำเงิน","Purple":"สีม่วง","Editor block content toolbar":"แถบเครื่องมือแก้ไขบล็อกเนื้อหา","Editor contextual toolbar":"แถบเครื่องมือแก้ไขข้อความ","HEX":"HEX","No results found":"ไม่พบผลลัพธ์","No searchable items":"ไม่มีรายการที่สามารถค้นหาได้","Editor dialog":"การสนทนาของบรรณาธิการ","Close":"ปิด","Help Contents. To close this dialog press ESC.":"เนื้อหาความช่วยเหลือ หากต้องการปิดกล่องโต้ตอบนี้ ให้กดปุ่ม ESC","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"ด้านล่างนี้ คุณจะพบกับรายการแป้นพิมพ์ลัดที่สามารถใช้ในตัวแก้ไขได้","(may require <kbd>Fn</kbd>)":"(อาจจำเป็นต้องมี <kbd>Fn</kbd>)","Accessibility":"การเข้าถึง","Accessibility help":"ความช่วยเหลือการเข้าถึง","Press %0 for help.":"กด %0 เพื่อความช่วยเหลือ","Move focus in and out of an active dialog window":"ย้ายโฟกัสเข้าและออกจากกล่องโต้ตอบที่ใช้งานอยู่","MENU_BAR_MENU_FILE":"ไฟล์","MENU_BAR_MENU_EDIT":"แก้ไข","MENU_BAR_MENU_VIEW":"ดู","MENU_BAR_MENU_INSERT":"แทรก","MENU_BAR_MENU_FORMAT":"รูปแบบ","MENU_BAR_MENU_TOOLS":"เครื่องมือ","MENU_BAR_MENU_HELP":"ช่วยLine truncated
e[ 'th' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'th' ].dictionary = Object.assign( e[ 'th' ].dictionary, dictionary );
e[ 'th' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ti' ]: { dictionary, getPluralForm } } = {"ti":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"ዝተኸወነ ምለስ","Redo":"ደጊምካ ከውን","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"ቀጻሊ","Previous":"ሕሉፍ","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"","Dim grey":"","Grey":"","Light grey":"","White":"","Red":"","Orange":"","Yellow":"","Light green":"","Green":"","Aquamarine":"","Turquoise":"","Light blue":"","Blue":"","Purple":"","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"ፋይል","MENU_BAR_MENU_EDIT":"ኣርም","MENU_BAR_MENU_VIEW":"ተመልከት","MENU_BAR_MENU_INSERT":"የእትው","MENU_BAR_MENU_FORMAT":"ፎርማት","MENU_BAR_MENU_TOOLS":"መኸወንቲ","MENU_BAR_MENU_HELP":"ሓገዝ","MENU_BAR_MENU_TEXT":"ቴክስት","MENU_BAR_MENU_FONT":"ፎንት","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"ቴክስት","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark sign":"","Manat sign":"","Ruble sign":"","Line truncated
e[ 'ti' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ti' ].dictionary = Object.assign( e[ 'ti' ].dictionary, dictionary );
e[ 'ti' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'tk' ]: { dictionary, getPluralForm } } = {"tk":{"dictionary":{"Words: %0":"Sözler: %0","Characters: %0":"Nyşanlar: %0","Widget toolbar":"Widget gurallar paneli","Insert paragraph before block":"Blokdan öň abzas goýuň","Insert paragraph after block":"Blokdan soň abzas goýuň","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Ýüklemek dowam edýär","Undo":"Yza gaýtar","Redo":"Öňe gaýtar","Rich Text Editor":"Baý Tekst Redaktory","Edit block":"Bloky redaktirläň","Click to edit block":"","Drag to move":"","Next":"Indiki","Previous":"Öňki","Editor toolbar":"Redaktor gurallar paneli","Dropdown toolbar":"Açylýan gurallar paneli","Dropdown menu":"","Black":"Gara","Dim grey":"Goýy çal","Grey":"Çal","Light grey":"Açyk çal","White":"Ak","Red":"Gyzyl","Orange":"Mämişi","Yellow":"Sary","Light green":"Açyk ýaşyl","Green":"Ýaşyl","Aquamarine":"Akuamarin","Turquoise":"Turkuaz","Light blue":"Açyk gök","Blue":"Gök","Purple":"Gyrmyzy","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Redaktirläň","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Tablisa goýuň","Header column":"Sözbaşy sütüni","Insert column left":"Sütüni çepe goýuň","Insert column right":"Sütüni saga goýuň","Delete column":"Sütüni pozuň","Select column":"Sütün saýlaň","Column":"Sütün","Header row":"Sözbaşy hatary","Insert row below":"Hatary aşak goýuň","Insert row above":"Hatary ýokaryk goýuň","Delete row":"Setiri poz","Select row":"Setir saýlaň","Row":"Setir","Merge cell up":"Öýjügi ýokary birleşdiriň","Merge cell right":"Öýjügi saga birleşdiriň","Merge cell down":"Öýjügi aşak birleşdiriň","Merge cell left":"Öýjügi çepe birleşdiriň","Split cell vertically":"Öýjügi dikligine bölüň","Split cell horizontally":"Öýjügi keseligine bölüň","Merge cells":"Öýjükleri birleşdiriň","Table toolbar":"Tablisa gurallar paneli","Table properties":"Tablisa aýratynlyklary","Cell properties":"Öýjük aýratynlyklary","Border":"Serhet","Style":"Stil","Width":"Ini","Height":"Boý","Color":"Reňk","Background":"Arka","Padding":"Padding","Dimensions":"Ölçegleri","Table cell text alignment":"Tablisa öýjükleriniň tekstini deňleşdirmek","Alignment":"Deňleşdirmek","Horizontal text alignment toolbar":"Kese tekst tekizlemek gurallar paneli","Vertical text alignment toolbar":"Dik tekst tekizlemek gurallar paneli","Table alignment toolbar":"Tablisa deňleşdirmek gurallar paneli","None":"Hiç","Solid":"Gaty","Dotted":"Nokatly","Dashed":"Çyzykly","Double":"Goşa","Groove":"Groove","Ridge":"Kertik","Inset":"Inset","Outset":"Outset","Align cell text to the left":"Öýjük tekstini çepe deňleşdiriň","Align cell text to the center":"Öýjük tekstini merkeze deňleşdiriň","Align cell text to the right":"Öýjük tekstini saga deňleşdiriň","Justify cell text":"Öýjük tekstini esaslandyryň","Align cell text to the top":"Öýjük tekstini ýokarsyna deňleşdiriň","Align cell text to the middle":"Öýjük tekstini ortasyna deňleşdiriň","Align cell text to the bottom":"Öýjük tekstini aşagyna deňleşdiriň","Align table to the left":"Tablisany çepe deňleşdiriň","Center table":"Tablisany merkezleşdiriň","Align table to the right":"Tablisany sag tarapa deňleşdiriň","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"Reňki nädogry \"#FF0000\" ýa-da \"rgb(255,0,0)\" ýa-da \"gyzyl\" barlap görüň.","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"Baha nädogry \"10px\" ýa-da \"2em\" ýa-da diňe \"2\" barlap görüň.","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","TeLine truncated
e[ 'tk' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'tk' ].dictionary = Object.assign( e[ 'tk' ].dictionary, dictionary );
e[ 'tk' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'tr' ]: { dictionary, getPluralForm } } = {"tr":{"dictionary":{"Words: %0":"Kelimeler: %0","Characters: %0":"Karakterler: %0","Widget toolbar":"Bileşen araç çubuğu","Insert paragraph before block":"Bloktan önce paragraf ekle","Insert paragraph after block":"Bloktan sonra paragraf ekle","Press Enter to type after or press Shift + Enter to type before the widget":"Görsel bileşenden sonra yazmak için Enter'a basın ya da görsel bileşenden önce yazmak için Shift + Enter'a basın","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Bir araç takımı seçildiğinde kullanılabilecek tuş vuruşları (örnek: resim, tablo vb.)","Insert a new paragraph directly after a widget":"Araç takımının hemen sonrasına yeni bir paragraf ekle","Insert a new paragraph directly before a widget":"Araç takımının hemen öncesine yeni bir paragraf ekle","Move the caret to allow typing directly before a widget":"Bir araç takımından hemen önce yazmaya izin vermek için ekleme noktasını taşı","Move the caret to allow typing directly after a widget":"Bir araç takımından hemen sonra yazmaya izin vermek için ekleme noktasını taşı","Move focus from an editable area back to the parent widget":"Odağı düzenlenebilir bir alandan üst pencere öğesine geri taşıyın","Upload in progress":"Yükleme işlemi devam ediyor","Undo":"Geri al","Redo":"Tekrar yap","Rich Text Editor":"Zengin İçerik Editörü","Edit block":"Bloğu Düzenle","Click to edit block":"Bloğu düzenlemek için tıkla","Drag to move":"Taşımak için sürükle","Next":"Sonraki","Previous":"Önceki","Editor toolbar":"Düzenleme araç çubuğu","Dropdown toolbar":"Açılır araç çubuğu","Dropdown menu":"Aşağı açılır menü","Black":"Siyah","Dim grey":"Koyu Gri","Grey":"Gri","Light grey":"Açık Gri","White":"Beyaz","Red":"Kırmızı","Orange":"Turuncu","Yellow":"Sarı","Light green":"Açık Yeşil","Green":"Yeşil","Aquamarine":"Su Yeşili","Turquoise":"Turkuaz","Light blue":"Açık Mavi","Blue":"Mavi","Purple":"Mor","Editor block content toolbar":"Düzenleyici engelleme içerik araç çubuğu","Editor contextual toolbar":"Düzenleyici içeriksel araç çubuğu","HEX":"ONALTILIK","No results found":"Sonuç bulunamadı","No searchable items":"Aranabilir öge yok","Editor dialog":"Düzenleyici iletişim kutusu","Close":"Kapat","Help Contents. To close this dialog press ESC.":"Yardım İçerikleri. Bu iletişim kutusunu kapatmak için ESC tuşuna basın.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Aşağıda editörde kullanılabilecek klavye kısayollarının bir listesini bulabilirsiniz.","(may require <kbd>Fn</kbd>)":"(<kbd>Fn</kbd> gerekebilir)","Accessibility":"Erişilebilirlik","Accessibility help":"Erişilebilirlik yardımı","Press %0 for help.":"Yardım için %0 tuşuna basın.","Move focus in and out of an active dialog window":"Odağı etkin iletişim penceresinin içine ve dışına taşı","MENU_BAR_MENU_FILE":"Dosya","MENU_BAR_MENU_EDIT":"Düzenle","MENU_BAR_MENU_VIEW":"Görüntüle","MENU_BAR_MENU_INSERT":"Ekle","MENU_BAR_MENU_FORMAT":"Biçim","MENU_BAR_MENU_TOOLS":"Araçlar","MENU_BAR_MENU_HELP":"Yardım","MENU_BAR_MENU_TEXT":"Metin","MENU_BAR_MENU_FONT":"Yazı Tipi","Editor menu bar":"Düzenleyici menü çubuğu","Please enter a valid color (e.g. \"ff0000\").":"Lütfen geçerli bir renk girin (ör. \"ff0000\").","Insert table":"Tablo Ekle","Header column":"Başlık kolonu","Insert column left":"Sola kolon ekle","Insert column right":"Sağa kolon ekle","Delete column":"Kolonu sil","Select column":"Kolon seç","Column":"Kolon","Header row":"Başlık satırı","Insert row below":"Alta satır ekle","Insert row above":"Üste satır ekle","Delete row":"Satırı sil","Select row":"Satır seç","Row":"Satır","Merge cell up":"Yukarı doğru birleştir","Merge cell right":"Sağa doğru birleştir","Merge cell down":"Aşağıya doğru birleştir","Merge cell left":"Sola doğru birleştir","Split cell vertically":"Hücreyi dikey böl","Split cell horizontally":"Hücreyi yatay böl","Merge cells":"Hücreleri birleştir","Table toolbar":"Tablo araç çubuğu","Table properties":"Tablo özellikleri","Cell properties":"Hücre özellikleri","Border":"Kenar","Style":"Stil","Width":"Genişlik","Height":"Yükseklik","Color":"Renk","Background":"Arkaplan","Padding":"İç boşluk","Dimensions":"Ölçüler","Table cell text alignment":"Tablo hücresi metin hizalaması","Alignment":"Hizalama","Horizontal text alignment toolbar":"Yatay metin hizalama araç çubuğu","Vertical text alignment toolbar":"Dikey metin hizalama araç çubuğu","Table alignment toolbar":"Tablo hizalama araç çubuğu","None":"Yok","Solid":"Dolu","Dotted":"Noktalı","Dashed":"Kesik çizgili","Double":"Çift","Groove":"Yiv","Ridge":"Yükselti","Inset":"İçe","Outset":"Dışarıya","Align cell text to the left":"Hücre içindeki metnini sola hizala","Align cell text to the ceLine truncated
e[ 'tr' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'tr' ].dictionary = Object.assign( e[ 'tr' ].dictionary, dictionary );
e[ 'tr' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'tt' ]: { dictionary, getPluralForm } } = {"tt":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"","Undo":"","Redo":"Кабатла","Rich Text Editor":"","Edit block":"","Click to edit block":"","Drag to move":"","Next":"","Previous":"","Editor toolbar":"","Dropdown toolbar":"","Dropdown menu":"","Black":"Кара","Dim grey":"","Grey":"Соры","Light grey":"Ачык соры","White":"Ак","Red":"Кызыл","Orange":"Кызгылт","Yellow":"Сары","Light green":"Ачык яшел","Green":"Яшел","Aquamarine":"Аквамарин","Turquoise":"Фервоз","Light blue":"Ачык зәңгәр","Blue":"Зәңгәр","Purple":"Шәмәхә","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"Редакцияләү","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"Керт","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"","Header column":"","Insert column left":"","Insert column right":"","Delete column":"","Select column":"","Column":"","Header row":"","Insert row below":"","Insert row above":"","Delete row":"","Select row":"","Row":"","Merge cell up":"","Merge cell right":"","Merge cell down":"","Merge cell left":"","Split cell vertically":"","Split cell horizontally":"","Merge cells":"","Table toolbar":"","Table properties":"","Cell properties":"","Border":"","Style":"","Width":"","Height":"","Color":"Төс","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"","Dashed":"","Double":"","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Text styles":"","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashed arrow":"","rightwards dashed arrow":"","upwards dashed arrow":"","downwards dashed arrow":"","leftwards arrow to bar":"","rightwards arrow to bar":"","upwards arrow to bar":"","downwards arrow to bar":"","up down arrow with base":"","back with leftwards arrow above":"","end with leftwards arrow above":"","on with exclamation mark with left right arrow above":"","soon with rightwards arrow above":"","top with upwards arrow above":"","Dollar sign":"","Euro sign":"","Yen sign":"","Pound sign":"","Cent sign":"","Euro-currency sign":"","Colon sign":"","Cruzeiro sign":"","French franc sign":"","Lira sign":"","Currency sign":"","Bitcoin sign":"","Mill sign":"","Naira sign":"","Peseta sign":"","Rupee sign":"","Won sign":"","New sheqel sign":"","Dong sign":"","Kip sign":"","Tugrik sign":"","Drachma sign":"","German penny sign":"","Peso sign":"","Guarani sign":"","Austral sign":"","Hryvnia sign":"","Cedi sign":"","Livre tournois sign":"","Spesmilo sign":"","Tenge sign":"","Indian rupee sign":"","Turkish lira sign":"","Nordic mark siLine truncated
e[ 'tt' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'tt' ].dictionary = Object.assign( e[ 'tt' ].dictionary, dictionary );
e[ 'tt' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ug' ]: { dictionary, getPluralForm } } = {"ug":{"dictionary":{"Words: %0":"سۆز: %0","Characters: %0":"ھەرپ: %0","Widget toolbar":"","Insert paragraph before block":"","Insert paragraph after block":"","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"يۈكلىنىۋاتىدۇ","Undo":"يېنىۋېلىش","Redo":"تەكرارلاش","Rich Text Editor":"تېكىست تەھرىرلىگۈچ","Edit block":"بۆلەك تەھرىر","Click to edit block":"چېكىلسە بۆلەك تەھرىرلىنىدۇ","Drag to move":"يۆتكەشتە سۆرىلىدۇ","Next":"كېيىنكى","Previous":"ئالدىنقى","Editor toolbar":"تەھرىرلىگۈچ قورال بالداق","Dropdown toolbar":"سىرىلما قورال بالداق","Dropdown menu":"سىرىلما تىزىملىك","Black":"قارا","Dim grey":"سۇس كۈلرەڭ","Grey":"كۈلرەڭ","Light grey":"ئوچۇق كۈلرەڭ","White":"ئاق","Red":"قىزىل","Orange":"قىزغۇچ سېرىق","Yellow":"سېرىق","Light green":"ئوچۇق يېشىل","Green":"يېشىل","Aquamarine":"دېڭىز كۆكى","Turquoise":"","Light blue":"ئوچۇق كۆك","Blue":"كۆك","Purple":"بىنەپشە","Editor block content toolbar":"تەھرىرلىگۈچ بۆلىكى مەزمۇن قورال بالداق","Editor contextual toolbar":"تەھرىرلىگۈچ مەزمۇن قورال بالداق","HEX":"ئون ئالتىلىك","No results found":"ھېچقانداق نەتىجە تېپىلمىدى","No searchable items":"ئىزدىگۈدەك تۈر يوق","Editor dialog":"تەھرىر سۆزلەشكۈ","Close":"تاقا","Help Contents. To close this dialog press ESC.":"ياردەم مەزمۇنى. بۇ سۆزلەشكۈنى تاقاشتا ESC بېسىلىدۇ.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"تۆۋەندە تەھرىرلىگۈچتە ئىشلىتىلىدىغان ھەرپتاختا تېزلەتمە تىزىمىنى تاپالايسىز.","(may require <kbd>Fn</kbd>)":"(<kbd>Fn</kbd> ئىشلىتىش كېرەك بولۇشى مۇمكىن)","Accessibility":"زىيارەتچانلىق","Accessibility help":"زىيارەتچانلىق يارەم","Press %0 for help.":"ياردەم ئۈچۈن %0 بېسىلىدۇ","Move focus in and out of an active dialog window":"فوكۇس نۇقتىسىنى سۆزلەشكۈ كۆزنىكىگە يۆتكەيدۇ ياكى چىقىرىۋېتىدۇ","MENU_BAR_MENU_FILE":"ھۆججەت","MENU_BAR_MENU_EDIT":"تەھرىرلەش","MENU_BAR_MENU_VIEW":"كۆرۈنۈش","MENU_BAR_MENU_INSERT":"قىستۇر","MENU_BAR_MENU_FORMAT":"پىچىم","MENU_BAR_MENU_TOOLS":"قورال","MENU_BAR_MENU_HELP":"ياردەم","MENU_BAR_MENU_TEXT":"تېكىست","MENU_BAR_MENU_FONT":"خەت نۇسخا","Editor menu bar":"تەھرىرلىگۈچ قورال بالداق","Please enter a valid color (e.g. \"ff0000\").":"ئىناۋەتلىك رەڭ كودىنى كىرگۈزۈڭ (مەسىلەن، «ff0000»)","Insert table":"جەدۋەل قىستۇر","Header column":"ماۋزۇ رەت","Insert column left":"سولغا رەت قىستۇر","Insert column right":"ئوڭغا رەت قىستۇر","Delete column":"رەت ئۆچۈر","Select column":"رەت تاللا","Column":"رەت","Header row":"ماۋزۇ قۇر","Insert row below":"ئاستىغا قۇر قىستۇر","Insert row above":"ئۈستىگە قۇر قىستۇر","Delete row":"قۇر ئۆچۈر","Select row":"قۇر تاللا","Row":"قۇر","Merge cell up":"كاتەكچىنى ئۈستىگە بىرلەشتۈر","Merge cell right":"كاتەكچىنى ئوڭغا بىرلەشتۈر","Merge cell down":"كاتەكچىنى ئاستىغا بىرلەشتۈر","Merge cell left":"كاتەكچىنى سولغا بىرلەشتۈر","Split cell vertically":"كاتەكچىنى بويىغا پارچىلا","Split cell horizontally":"كاتەكچىنى توغرىسىغا پارچىلا","Merge cells":"كاتەكچە بىرلەشتۈر","Table toolbar":"جەدۋەل قورال بالداق","Table properties":"جەدۋەل خاسلىقى","Cell properties":"كاتەكچە خاسلىقى","Border":"گىرۋەك","Style":"ئۇسلۇب","Width":"كەڭلىك","Height":"ئېگىزلىك","Color":"رەڭ","Background":"تەگلىك","Padding":"ئىچكى ئارىلىقى","Dimensions":"ئۆلچىمى","Table cell text alignment":"جەدۋەل كاتەكچىسىدىكى تېكىست توغرىلىنىشى","Alignment":"توغرىلاش","Horizontal text alignment toolbar":"توغرىسىغا تېكىست توغرىلاش Line truncated
e[ 'ug' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ug' ].dictionary = Object.assign( e[ 'ug' ].dictionary, dictionary );
e[ 'ug' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'uk' ]: { dictionary, getPluralForm } } = {"uk":{"dictionary":{"Words: %0":"Слова: %0","Characters: %0":"Символи: %0","Widget toolbar":"Панель інструментів віджетів","Insert paragraph before block":"Додати абзац перед блоком","Insert paragraph after block":"Додати абзац після блока","Press Enter to type after or press Shift + Enter to type before the widget":"Натисніть Enter, щоб друкувати після або натисніть Shift + Enter, щоб друкувати перед віджетом","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Натискання клавіш, які можна використовувати, коли вибрано віджет (наприклад: зображення, таблиця тощо)","Insert a new paragraph directly after a widget":"Вставити новий абзац безпосередньо після віджета","Insert a new paragraph directly before a widget":"Вставити новий абзац безпосередньо перед віджетом","Move the caret to allow typing directly before a widget":"Перемістіть курсор, щоб дозволити введення безпосередньо перед віджетом","Move the caret to allow typing directly after a widget":"Перемістіть курсор, щоб дозволити введення безпосередньо після віджета","Move focus from an editable area back to the parent widget":"Переміщення фокусу з області редагування назад до батьківського віджета","Upload in progress":"Виконується завантаження","Undo":"Відміна","Redo":"Повтор","Rich Text Editor":"Розширений текстовий редактор","Edit block":"Редагувати блок","Click to edit block":"Клацніть, щоб редагувати блок","Drag to move":"Потягніть, щоб перемістити","Next":"Наступний","Previous":"Попередній","Editor toolbar":"Панель інструментів редактора","Dropdown toolbar":"Випадаюча панель інструментів","Dropdown menu":"Випадаюче меню","Black":"Чорний","Dim grey":"Темно-сірий","Grey":"Сірий","Light grey":"Світло-сірий","White":"Білий","Red":"Червоний","Orange":"Помаранчевий","Yellow":"Жовтий","Light green":"Світло-зелений","Green":"Зелений","Aquamarine":"Аквамариновий","Turquoise":"Бірюзовий","Light blue":"Світло-синій","Blue":"Синій","Purple":"Фіолетовий","Editor block content toolbar":"Панель інструментів вмісту блоку редактора","Editor contextual toolbar":"Контекстна панель інструментів редактора","HEX":"Шістнадцятковий","No results found":"Нічого не знайдено","No searchable items":"Немає шуканих об'єктів","Editor dialog":"Діалогове вікно редактора","Close":"Закрити","Help Contents. To close this dialog press ESC.":"Зміст довідки. Щоб закрити це діалогове вікно, натисніть ESC.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Нижче ви можете знайти список комбінацій клавіш, які можна використовувати в редакторі.","(may require <kbd>Fn</kbd>)":"(може вимагати <kbd>Fn</kbd>)","Accessibility":"Доступність","Accessibility help":"Довідка щодо доступності","Press %0 for help.":"Натисніть %0 для довідки.","Move focus in and out of an active dialog window":"Переміщення фокуса в активному діалоговому вікні та з нього","MENU_BAR_MENU_FILE":"Файл","MENU_BAR_MENU_EDIT":"Редагувати","MENU_BAR_MENU_VIEW":"Представлення","MENU_BAR_MENU_INSERT":"Вставити","MENU_BAR_MENU_FORMAT":"Формат","MENU_BAR_MENU_TOOLS":"Інструменти","MENU_BAR_MENU_HELP":"Допомога","MENU_BAR_MENU_TEXT":"Текст","MENU_BAR_MENU_FONT":"Шрифт","Editor menu bar":"Рядок меню редагування","Please enter a valid color (e.g. \"ff0000\").":"Будь ласка, введіть дійсний колір (напр. \"ff0000\").","Insert table":"Вставити таблицю","Header column":"Заголовок стовпця","Insert column left":"Вставити стовпець зліва","Insert column right":"Вставити стовпець справа","Delete column":"ВидаLine truncated
e[ 'uk' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'uk' ].dictionary = Object.assign( e[ 'uk' ].dictionary, dictionary );
e[ 'uk' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'ur' ]: { dictionary, getPluralForm } } = {"ur":{"dictionary":{"Words: %0":"الفاظ: 0%","Characters: %0":"حروف: 0%","Widget toolbar":"آلہ جات برائے وجٹ","Insert paragraph before block":"پیراگراف سے پہلے کوڈ خانہ نصب کریں","Insert paragraph after block":"پیراگراف کے بعد کوڈ خانہ نصب کریں","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"آپلوڈ جاری ہے","Undo":"رد ترمیم","Redo":"پھر سے کریں","Rich Text Editor":"خانۂ ترمیم","Edit block":"خانہ کی تدوین","Click to edit block":"","Drag to move":"","Next":"اگلا","Previous":"پچھلا","Editor toolbar":"ایڈیٹر آلہ جات","Dropdown toolbar":"آلہ جات برائے فہرست ","Dropdown menu":"","Black":"سیاہ","Dim grey":"پھیکا سرمئی","Grey":"سرمئی","Light grey":"ہلکا سرمئی","White":"سفید","Red":"سرخ","Orange":"نارنجی","Yellow":"پیلا","Light green":"ہلکا سبز","Green":"سبز","Aquamarine":"نیلگوں بلور","Turquoise":"فیروزی","Light blue":"ہلکا نیلا","Blue":"نیلا","Purple":"ارغوانی","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"ترمیم","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"جدول داخل کریں","Header column":"سر ستون","Insert column left":"بائیں جانب کالم بنائیں","Insert column right":"دائیں جانب کالم بنائیں","Delete column":"ستون حذف کریں","Select column":"","Column":"ستون","Header row":"سر قطار","Insert row below":"قطار زیریں نصب کریں","Insert row above":"قطار بالا نصب کریں","Delete row":"قطار حذف کریں","Select row":"","Row":"قطار","Merge cell up":"سیل اوپر یکجا کریں","Merge cell right":"سیل دائیں طرف یکجا کریں","Merge cell down":"سیل نچلی طرف یکجا کریں","Merge cell left":"سیل بائیں طرف یکجا کریں","Split cell vertically":"سیل کی عمودی تقسیم","Split cell horizontally":"سیل کی افقی تقسیم","Merge cells":"سیل یکجا کریں","Table toolbar":"آلہ جات برائے جدول","Table properties":"","Cell properties":"","Border":"حاشیہ","Style":"","Width":"چوڑائی","Height":"اونچائی","Color":"رنگ","Background":"","Padding":"","Dimensions":"","Table cell text alignment":"","Alignment":"","Horizontal text alignment toolbar":"","Vertical text alignment toolbar":"","Table alignment toolbar":"","None":"","Solid":"","Dotted":"نقطہ دار","Dashed":"قطعہ دار","Double":"دو گنا","Groove":"","Ridge":"","Inset":"","Outset":"","Align cell text to the left":"","Align cell text to the center":"","Align cell text to the right":"","Justify cell text":"","Align cell text to the top":"","Align cell text to the middle":"","Align cell text to the bottom":"","Align table to the left":"","Center table":"","Align table to the right":"","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"انداز","Multiple styles":"متعدد انداز","Block styles":"خانہ کے انداز","Text styles":"متن کے انداز","Special characters":"","Category":"","All":"","Arrows":"","Currency":"","Latin":"","Mathematical":"","Text":"","leftwards simple arrow":"","rightwards simple arrow":"","upwards simple arrow":"","downwards simple arrow":"","leftwards double arrow":"","rightwards double arrow":"","upwards double arrow":"","downwards double arrow":"","leftwards dashLine truncated
e[ 'ur' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'ur' ].dictionary = Object.assign( e[ 'ur' ].dictionary, dictionary );
e[ 'ur' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'uz' ]: { dictionary, getPluralForm } } = {"uz":{"dictionary":{"Words: %0":"","Characters: %0":"","Widget toolbar":"Vidjet asboblar paneli","Insert paragraph before block":"Blokdan oldin paragrafni kiritish","Insert paragraph after block":"Вblokdan keyin paragraf qo'yish","Press Enter to type after or press Shift + Enter to type before the widget":"","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"","Insert a new paragraph directly after a widget":"","Insert a new paragraph directly before a widget":"","Move the caret to allow typing directly before a widget":"","Move the caret to allow typing directly after a widget":"","Move focus from an editable area back to the parent widget":"","Upload in progress":"Yuklanmoqda","Undo":"Bekor qilish","Redo":"Takrorlash","Rich Text Editor":"Tahrirlovchi","Edit block":"Blokni tahrirlash","Click to edit block":"","Drag to move":"","Next":"Keyingi","Previous":"Oldingi","Editor toolbar":"Tahrirlovchi asboblar paneli","Dropdown toolbar":"Ochiladigan asboblar paneli","Dropdown menu":"","Black":"Qora","Dim grey":"To'q kulrang","Grey":"Kulrang","Light grey":"Och kulrang","White":"Oq","Red":"Qizil","Orange":"To'q sariq","Yellow":"Sariq","Light green":"Och yashil","Green":"Yashil","Aquamarine":"Akuamarin","Turquoise":"Turkuaz","Light blue":"Moviy","Blue":"Ko'k","Purple":"Siyohrang","Editor block content toolbar":"","Editor contextual toolbar":"","HEX":"","No results found":"","No searchable items":"","Editor dialog":"","Close":"","Help Contents. To close this dialog press ESC.":"","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"","(may require <kbd>Fn</kbd>)":"","Accessibility":"","Accessibility help":"","Press %0 for help.":"","Move focus in and out of an active dialog window":"","MENU_BAR_MENU_FILE":"","MENU_BAR_MENU_EDIT":"","MENU_BAR_MENU_VIEW":"","MENU_BAR_MENU_INSERT":"Kiritish","MENU_BAR_MENU_FORMAT":"","MENU_BAR_MENU_TOOLS":"","MENU_BAR_MENU_HELP":"","MENU_BAR_MENU_TEXT":"","MENU_BAR_MENU_FONT":"","Editor menu bar":"","Please enter a valid color (e.g. \"ff0000\").":"","Insert table":"Jadvalni kiritish","Header column":"Ustun sarlavhalari","Insert column left":"Ustunni chapga kiritish","Insert column right":"Ustunni o'ngga kiritish","Delete column":"Ustunni o'chirish","Select column":"Ustunni tanlash","Column":"Ustun","Header row":"Sarlavhalar satri","Insert row below":"Pastga qatorni kiritish","Insert row above":"Yuqoriga qatorni kiritish","Delete row":"Satrni o'chirish","Select row":"Satrni tanlang","Row":"Satr","Merge cell up":"Yuqoridagi katak bilan birlashtirish","Merge cell right":"O'ngdagi katakcha bilan birlashtirish","Merge cell down":"Pastdagi katak bilan birlashtirish","Merge cell left":"Chapdagi katakcha bilan birlashtirish","Split cell vertically":"Hujayrani vertikal ravishda ajratish","Split cell horizontally":"Hujayrani gorizontal ravishda ajratish","Merge cells":"Hujayralarni birlashtirish","Table toolbar":"Jadval asboblar paneli","Table properties":"Jadvalning xususiyatlari","Cell properties":"Hujayra xususiyatlari","Border":"Chegara","Style":"Uslub","Width":"Kengligi","Height":"Balandligi","Color":"Rang","Background":"Fon","Padding":"Chekinish","Dimensions":"O'lchamlar","Table cell text alignment":"Jadval katakchasidagi matnni tekislash","Alignment":"Tekislash","Horizontal text alignment toolbar":"Matnni gorizontal tekislash asboblar paneli","Vertical text alignment toolbar":"Vertikal matnni tekislash asboblar paneli","Table alignment toolbar":"Jadvalni tekislash asboblar paneli","None":"Yo'q","Solid":"Qattiq","Dotted":"Nuqta","Dashed":"Nuqtali","Double":"Ikkitalik","Groove":"Yivli","Ridge":"Qirrali","Inset":"Tushkunlikka tushgan","Outset":"Qavariq","Align cell text to the left":"Matnni chapga tekislash","Align cell text to the center":"Matnni markazga tekislash","Align cell text to the right":"Matnni o'ngga tekislash","Justify cell text":"Matnni kenglikka tekislash","Align cell text to the top":"Hujayra matnini tepaga tekislash","Align cell text to the middle":"Hujayra matnini markazga tekislash","Align cell text to the bottom":"Hujayra matnini pastga tekislash","Align table to the left":"Jadvalni chap tomonga tekislash","Center table":"Jadvalni markazga tekislash","Align table to the right":"Jadvalni o'ngga tekislash","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"Noto'g'ri rang. \\ \"# FF0000 \\\" yoki \\ \"rgb (255,0,0) \\\" yoki \\ \"red \\\" ni sinab ko'ring.","The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".":"Noto'g'ri qiymat. \\ \"10px \\\" yoki \\ \"2em \\\" yoki shunchaki \\ \"2 \\\" ni sinab ko'ring.","Enter table caption":"","Keystrokes that can be used in a table cell":"","Move the selection to the next cell":"","Move the selection to the previous cell":"","Insert a new table row (when in the last cell of a table)":"","Navigate through the table":"","Table":"","Styles":"","Multiple styles":"","Block styles":"","Line truncated
e[ 'uz' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'uz' ].dictionary = Object.assign( e[ 'uz' ].dictionary, dictionary );
e[ 'uz' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'vi' ]: { dictionary, getPluralForm } } = {"vi":{"dictionary":{"Words: %0":"Số chữ: %0","Characters: %0":"Số ký tự: %0","Widget toolbar":"Thanh công cụ tiện ích","Insert paragraph before block":"Chèn đoạn trước khối","Insert paragraph after block":"Chèn đoạn sau khối","Press Enter to type after or press Shift + Enter to type before the widget":"Nhấn Enter để nhập vào sau hoặc nhấn Shift + Enter để nhập vào trước tiện ích","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"Tổ hợp phím mà bạn có thể dùng khi một tiện ích được chọn (ví dụ: hình ảnh, bảng, v.v.)","Insert a new paragraph directly after a widget":"Chèn đoạn văn mới ngay sau tiện ích","Insert a new paragraph directly before a widget":"Chèn đoạn văn mới ngay trước tiện ích","Move the caret to allow typing directly before a widget":"Di chuyển dấu sót để cho phép nhập ngay trước một tiện ích","Move the caret to allow typing directly after a widget":"Di chuyển dấu sót để cho phép nhập ngay sau một tiện ích","Move focus from an editable area back to the parent widget":"Di chuyển tiêu điểm từ vùng có thể chỉnh sửa trở lại tiện ích gốc","Upload in progress":"Đang tải lên","Undo":"Hoàn tác","Redo":"Tiếp tục","Rich Text Editor":"Trình soạn thảo văn bản","Edit block":"Chỉnh sửa đoạn","Click to edit block":"Nhấp để sửa khối","Drag to move":"Kéo để di chuyển","Next":"Tiếp theo","Previous":"Quay lại","Editor toolbar":"Thanh công cụ biên tập","Dropdown toolbar":"Thanh công cụ danh mục","Dropdown menu":"Trình đơn thả xuống","Black":"Đen","Dim grey":"Xám mờ","Grey":"Xám","Light grey":"Xám nhạt","White":"Trắng","Red":"Đỏ","Orange":"Cam","Yellow":"Vàng","Light green":"Xanh lá nhạt","Green":"Xanh lá","Aquamarine":"Xanh ngọc biển","Turquoise":"Xanh ngọc bích","Light blue":"Xanh dương","Blue":"Xanh biển","Purple":"Tím","Editor block content toolbar":"Thanh công cụ chỉnh sửa khối nội dung","Editor contextual toolbar":"Thanh công cụ chỉnh sửa theo ngữ cảnh","HEX":"HEX","No results found":"Không tìm thấy kết quả","No searchable items":"Không có mục nào tìm kiếm được","Editor dialog":"Hộp thoại trình biên tập","Close":"Đóng","Help Contents. To close this dialog press ESC.":"Nội dung Trợ giúp. Nhấn phím ESC để đóng hộp thoại này.","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"Dưới đây, bạn có thể tìm thấy danh sách các phím tắt mà bạn có thể dùng trong trình biên tập này.","(may require <kbd>Fn</kbd>)":"(có thể cần nhấn phím <kbd>Fn</kbd>)","Accessibility":"Trợ năng","Accessibility help":"Trợ giúp về khả năng truy cập","Press %0 for help.":"Nhấn %0 để được trợ giúp.","Move focus in and out of an active dialog window":"Di chuyển tiêu điểm vào và ra khỏi cửa sổ hộp thoại đang kích hoạt","MENU_BAR_MENU_FILE":"Tệp","MENU_BAR_MENU_EDIT":"Chỉnh sửa","MENU_BAR_MENU_VIEW":"Xem","MENU_BAR_MENU_INSERT":"Chèn","MENU_BAR_MENU_FORMAT":"Định dạng","MENU_BAR_MENU_TOOLS":"Công cụ","MENU_BAR_MENU_HELP":"Trợ giúp","MENU_BAR_MENU_TEXT":"Văn bản","MENU_BAR_MENU_FONT":"Phông chữ","Editor menu bar":"Thanh menu Trình soạn thảo","Please enter a valid color (e.g. \"ff0000\").":"Vui lòng nhập một màu sắc hợp lệ (ví dụ: \"ff0000\").","Insert table":"Tạo bảng","Header column":"Tiêu đề cột","Insert column left":"Thêm cột vào bên trái","Insert column right":"Thêm cột vào bên phải","Delete column":"Xoá cột","Select column":"Chọn cột","Column":"Cột","Header row":"Tiêu đề hàng","Insert row below":"Thêm hàng ở dưới","Insert row above":"Thêm hàng phía trên","Delete row":"Xoá hàng","Select row":"Chọn hàng","Row":"Hàng","Merge cell up":"Sát nhập ô lên trên","Merge cell right":"Sát nhập ô qua phải","Merge cell down":"Sát nhập ô xuống dưới","Merge cell left":"Sát nhập ô qua trái","Split cell vertically":"Tách ô theo chiều dọc","Split cell horizontally":"Tách ô theo chiều ngang","Merge cells":"Sát nhập ô","Table toolbar":"Thanh công cụ bảng","Table properties":"Thuộc tính của bảng","Cell properties":"Thuộc tính của ô","Border":"Viền","Style":"Kiểu","Width":"Rộng","Height":"Cao","Color":"Màu","Background":"Màu nền","Padding":"Cách lề","Dimensions":"Kích thước","Table cell text alignment":"Căn lề văn bản trong ô","Alignment":"Căn lề","Horizontal text alignment toolbar":"Thanh công cụ căn chỉnh văn bản theo chiều ngang","Vertical text alignment toolbar":"Thanh công cụ căn chỉnh văn bản theo chiều dọc","Table alignmentLine truncated
e[ 'vi' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'vi' ].dictionary = Object.assign( e[ 'vi' ].dictionary, dictionary );
e[ 'vi' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'zh-cn' ]: { dictionary, getPluralForm } } = {"zh-cn":{"dictionary":{"Words: %0":"单词数:%0","Characters: %0":"字符数:%0","Widget toolbar":"小部件工具栏","Insert paragraph before block":"在前面插入段落","Insert paragraph after block":"在后面插入段落","Press Enter to type after or press Shift + Enter to type before the widget":"按下“Enter”键,在小组件后输入;按下“Shift+Enter”键,在小组件前输入","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"当小组件被选中时(例如:图片、表格等)可以使用的按键","Insert a new paragraph directly after a widget":"直接在小组件之后插入新段落","Insert a new paragraph directly before a widget":"直接在小组件之前插入新段落","Move the caret to allow typing directly before a widget":"移动插入符,以允许在小组件之前直接输入文字","Move the caret to allow typing directly after a widget":"移动插入符,以允许在小组件之后直接输入文字","Move focus from an editable area back to the parent widget":"将焦点从可编辑区域移回父窗口小组件","Upload in progress":"正在上传","Undo":"撤销","Redo":"重做","Rich Text Editor":"富文本编辑器","Edit block":"编辑框","Click to edit block":"单击以编辑块","Drag to move":"拖拽以移动","Next":"下一步","Previous":"上一步","Editor toolbar":"编辑器工具栏","Dropdown toolbar":"下拉工具栏","Dropdown menu":"下拉菜单","Black":"黑色","Dim grey":"暗灰色","Grey":"灰色","Light grey":"浅灰色","White":"白色","Red":"红色","Orange":"橙色","Yellow":"黄色","Light green":"浅绿色","Green":"绿色","Aquamarine":"海蓝色","Turquoise":"青色","Light blue":"浅蓝色","Blue":"蓝色","Purple":"紫色","Editor block content toolbar":"编辑器块内容工具栏","Editor contextual toolbar":"编辑器上下文工具栏","HEX":"十六进制","No results found":"未找到结果","No searchable items":"没有可搜索的项目","Editor dialog":"编辑器对话框","Close":"关闭","Help Contents. To close this dialog press ESC.":"帮助内容。要关闭此对话框,请按 ESC 键。","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"您可以在下方找到可在编辑器中使用的键盘快捷键列表。","(may require <kbd>Fn</kbd>)":"(可能需要用到 <kbd>Fn</kbd>键)","Accessibility":"可访问性","Accessibility help":"无障碍辅助功能帮助","Press %0 for help.":"按 %0 获取帮助。","Move focus in and out of an active dialog window":"将焦点移入或移出活跃的对话框窗口","MENU_BAR_MENU_FILE":"文件","MENU_BAR_MENU_EDIT":"编辑","MENU_BAR_MENU_VIEW":"查看","MENU_BAR_MENU_INSERT":"插入","MENU_BAR_MENU_FORMAT":"格式","MENU_BAR_MENU_TOOLS":"工具","MENU_BAR_MENU_HELP":"帮助","MENU_BAR_MENU_TEXT":"文本","MENU_BAR_MENU_FONT":"字体","Editor menu bar":"编辑器菜单栏","Please enter a valid color (e.g. \"ff0000\").":"请输入有效的颜色(例如“ff0000”)。","Insert table":"插入表格","Header column":"标题列","Insert column left":"左侧插入列","Insert column right":"右侧插入列","Delete column":"删除本列","Select column":"选择列","Column":"列","Header row":"标题行","Insert row below":"在下面插入一行","Insert row above":"在上面插入一行","Delete row":"删除本行","Select row":"选择行","Row":"行","Merge cell up":"向上合并单元格","Merge cell right":"向右合并单元格","Merge cell down":"向下合并单元格","Merge cell left":"向左合并单元格","Split cell vertically":"纵向拆分单元格","Split cell horizontally":"横向拆分单元格","Merge cells":"合并单元格","Table toolbar":"表格工具栏","Table properties":"表格属性","Cell properties":"单元格属性","Border":"边框","Style":"样式","Width":"宽度","Height":"高度","Color":"颜色","Background":"背景","Padding":"内边距","Dimensions":"尺寸","Table cell text alignment":"表格单元格中的文本水平对齐","Alignment":"对齐","Horizontal text alignment toolbar":"水平文本对齐工具栏","Vertical text alignment toolbar":"垂直文本对齐工具栏","Table alignment toolbar":"表格对齐工具栏","None":"无","Solid":"实线","Dotted":"点状虚线","Dashed":"虚线","Double":"双线","Groove":"凹槽边框","Ridge":"垄状边框","Inset":"凹边框","Outset":"凸边框","Align cell text to the left":"使单元格文本左对齐","Align cell text to the center":"使单元格文本水平居中","Align cell text to the right":"使单元格文本右对齐","Justify cell text":"对齐单元格文本","Align cell text to the top":"使单元格文本对齐到顶部","Align cell text to the middle":"使单元格文本垂直居中","Align cell text to the bottom":"使单元格文本对齐到底部","Align table to the left":"使表格左对齐","Center table":"表格居Line truncated
e[ 'zh-cn' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'zh-cn' ].dictionary = Object.assign( e[ 'zh-cn' ].dictionary, dictionary );
e[ 'zh-cn' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
@@ -0,0 +1,11 @@
/**
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
*/
( e => {
const { [ 'zh' ]: { dictionary, getPluralForm } } = {"zh":{"dictionary":{"Words: %0":"字數: %0","Characters: %0":"字元數: %0","Widget toolbar":"小工具","Insert paragraph before block":"在這個區塊前面插入一個段落","Insert paragraph after block":"在這個區塊後面插入一個段落","Press Enter to type after or press Shift + Enter to type before the widget":"按下 Enter 在小工具後輸入,或按下 Shift + Enter 在小工具前輸入","Keystrokes that can be used when a widget is selected (for example: image, table, etc.)":"小工具選取時可使用的按鍵(例如:圖片、表格等)","Insert a new paragraph directly after a widget":"在小工具後直接插入新段落","Insert a new paragraph directly before a widget":"在小工具前直接插入新段落","Move the caret to allow typing directly before a widget":"移動插入符號,以便在小工具前直接輸入","Move the caret to allow typing directly after a widget":"移動插入符號,以便在小工具後直接輸入","Move focus from an editable area back to the parent widget":"將焦點從可編輯區域移回上層小工具","Upload in progress":"正在上傳","Undo":"取消","Redo":"重做","Rich Text Editor":"富文本編輯器","Edit block":"編輯區塊","Click to edit block":"點擊來編輯區塊","Drag to move":"拖曳來移動","Next":"下一","Previous":"上一","Editor toolbar":"編輯器工具","Dropdown toolbar":"下拉選單","Dropdown menu":"下拉式選單","Black":"黑色","Dim grey":"淡灰色","Grey":"灰色","Light grey":"亮灰色","White":"白色","Red":"紅色","Orange":"橘色","Yellow":"黃色","Light green":"亮綠色","Green":"綠色","Aquamarine":"淺綠色","Turquoise":"藍綠色","Light blue":"亮藍色","Blue":"藍色","Purple":"紫色","Editor block content toolbar":"編輯器區塊內容工具列","Editor contextual toolbar":"編輯器關聯式工具列","HEX":"十六進位","No results found":"找不到結果","No searchable items":"沒有可搜尋的項目","Editor dialog":"編輯工具對話框","Close":"關閉","Help Contents. To close this dialog press ESC.":"協助內容。想關閉此對話框,請按 ESC 鍵。","Below, you can find a list of keyboard shortcuts that can be used in the editor.":"下方是可在編輯器中使用的鍵盤快捷鍵列表。","(may require <kbd>Fn</kbd>)":"(可能需要 <kbd>Fn</kbd>)","Accessibility":"協助工具","Accessibility help":"無障礙協助","Press %0 for help.":"按下 %0 來取得協助。","Move focus in and out of an active dialog window":"將焦點移入或移出啟用中的對話視窗","MENU_BAR_MENU_FILE":"檔案","MENU_BAR_MENU_EDIT":"編輯","MENU_BAR_MENU_VIEW":"檢視","MENU_BAR_MENU_INSERT":"插入","MENU_BAR_MENU_FORMAT":"格式","MENU_BAR_MENU_TOOLS":"工具","MENU_BAR_MENU_HELP":"說明","MENU_BAR_MENU_TEXT":"文字","MENU_BAR_MENU_FONT":"字型","Editor menu bar":"編輯器選單列","Please enter a valid color (e.g. \"ff0000\").":"請輸入有效的顏色(例如「ff0000」)。","Insert table":"插入表格","Header column":"標題欄","Insert column left":"插入左方欄","Insert column right":"插入右方欄","Delete column":"刪除欄","Select column":"選擇欄","Column":"欄","Header row":"標題列","Insert row below":"插入下方列","Insert row above":"插入上方列","Delete row":"刪除列","Select row":"選擇列","Row":"列","Merge cell up":"合併上方儲存格","Merge cell right":"合併右方儲存格","Merge cell down":"合併下方儲存格","Merge cell left":"合併左方儲存格","Split cell vertically":"垂直分割儲存格","Split cell horizontally":"水平分割儲存格","Merge cells":"合併儲存格","Table toolbar":"表格工具","Table properties":"表格屬性","Cell properties":"儲存格屬性","Border":"邊框","Style":"樣式","Width":"寬度","Height":"高度","Color":"文字顏色","Background":"背景顏色","Padding":"儲存格留白","Dimensions":"尺寸","Table cell text alignment":"儲存格文字對齊","Alignment":"對齊","Horizontal text alignment toolbar":"水平對齊","Vertical text alignment toolbar":"垂直對齊","Table alignment toolbar":"表格對齊","None":"無","Solid":"實線","Dotted":"點線","Dashed":"虛線","Double":"雙線","Groove":"內凹線","Ridge":"凸起線","Inset":"內邊線","Outset":"外框線","Align cell text to the left":"靠左對齊","Align cell text to the center":"置中對齊","Align cell text to the right":"靠右對齊","Justify cell text":"分散對齊","Align cell text to the top":"向上對齊","Align cell text to the middle":"置中對齊","Align cell text to the bottom":"向下對齊","Align table to the left":"靠左對齊","Center table":"置中對齊","Align table to the right":"靠右對齊","The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".":"顏色代碼錯誤。試試看 \"#FF0000\" 或 \"rgb(255, 0, 0)\" 或 \"red\"。","The value is invalid. Try \"10px\" or \"2em\" or simpLine truncated
e[ 'zh' ] ||= { dictionary: {}, getPluralForm: null };
e[ 'zh' ].dictionary = Object.assign( e[ 'zh' ].dictionary, dictionary );
e[ 'zh' ].getPluralForm = getPluralForm;
} )( window.CKEDITOR_TRANSLATIONS ||= {} );
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "@g7/sirsoft-ckeditor5",
"version": "1.0.2",
"version": "1.0.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@g7/sirsoft-ckeditor5",
"version": "1.0.2",
"version": "1.0.3",
"devDependencies": {
"jsdom": "^27.4.0",
"typescript": "^5.3.3",
@@ -1,6 +1,6 @@
{
"name": "@g7/sirsoft-ckeditor5",
"version": "1.0.2",
"version": "1.0.3",
"description": "그누보드7 CKEditor 5 WYSIWYG 에디터 플러그인 프론트엔드 에셋",
"private": true,
"type": "module",
@@ -19,4 +19,4 @@
"vite": "^5.4.14",
"vitest": "^2.1.8"
}
}
}
@@ -5,22 +5,19 @@
"ko": "CKEditor 5 WYSIWYG 에디터",
"en": "CKEditor 5 WYSIWYG Editor"
},
"version": "1.0.2",
"version": "1.0.3",
"license": "MIT",
"description": {
"ko": "CKEditor 5를 이용한 WYSIWYG 에디터 플러그인입니다. 플러그인 설치만으로 기존 HtmlEditor가 교체됩니다.",
"en": "WYSIWYG editor plugin using CKEditor 5. Installing this plugin replaces the default HtmlEditor."
},
"g7_version": ">=7.0.7",
"g7_version": ">=7.0.10",
"dependencies": {
"modules": {},
"plugins": {}
},
"github_url": "https://github.com/gnuboard/g7-plugin-sirsoft-ckeditor5",
"github_changelog_url": "https://github.com/gnuboard/g7-plugin-sirsoft-ckeditor5/blob/main/CHANGELOG.md",
"trusted_script_hosts": [
"cdn.ckeditor.com"
],
"assets": {
"js": {
"entry": "resources/js/index.ts",
@@ -3,7 +3,7 @@
"mode": "replace",
"scripts": [
{
"src": "https://cdn.ckeditor.com/ckeditor5/43.3.1/ckeditor5.umd.js",
"src": "/api/plugins/assets/sirsoft-ckeditor5/dist/vendor/ckeditor5/43.3.1/ckeditor5.umd.js",
"id": "ckeditor5_script"
}
],
@@ -44,4 +44,4 @@
}
],
"priority": 100
}
}
@@ -0,0 +1,164 @@
/**
* 회귀: 글을 옮겨 다녀도 이전 글의 본문이 새 글에 새지 않는다
*
* `html-editor.json` 은 `onMount` 에서만 편집기를 만든다. 관리자 화면에서 글 A 수정 →
* 글 B 수정 으로 옮기는 이동은 **같은 레이아웃**이라 컴포넌트가 언마운트되지 않아 그 훅이
* 다시 발화하지 않는다. 편집기는 글 A 의 본문을 그대로 들고 있고 폼만 글 B 로 바뀐다.
*
* 그 상태에서 한 글자만 입력해도 `change:data` 가 **화면에 보이는 글 A 의 본문**을 글 B 의
* `form.content` 에 써 넣고, 저장하면 글 B 의 본문이 글 A 의 것으로 대체된다.
* 예외도 경고도 남지 않으며 화면에는 "원래 그런 내용이던 글" 로 보인다.
*
* 재시딩 판정에서 특히 조심할 지점: 경로가 바뀐 **직후**에는 폼이 아직 이전 글의 값을 들고
* 있다. 그 순간 "폼과 편집기가 같으니 정상" 으로 판정하면 대기가 새 데이터 도착 전에 풀려,
* 정작 새 본문이 왔을 때 입력 중으로 오인해 영영 다시 세우지 않는다.
*/
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
import { attachExternalContentSync } from '../../handlers/externalContentSync';
/** 편집기 대역 — CKEditor 의 getData/setData 만 흉내낸다 */
function makeEditor(initial: string) {
let data = initial;
return {
getData: () => data,
setData: (v: string) => { data = v; },
/** 사용자가 편집한 것처럼 편집기 데이터만 바꾼다 */
typeInto: (v: string) => { data = v; },
};
}
/**
* 로컬 폼 상태 스텁을 설치합니다.
*
* @param form 폼 상태 객체 (테스트가 직접 변형한다)
* @return void
*/
function stubForm(form: Record<string, any>): void {
(window as any).G7Core = { state: { getLocal: () => ({ form }) } };
}
/**
* 경로를 바꿉니다 (SPA 이동 흉내).
*
* @param path 새 경로
* @return void
*/
function setPath(path: string): void {
window.history.pushState({}, '', path);
}
const TICK = 400;
describe('편집기 ↔ 외부 폼 상태 재동기화', () => {
beforeEach(() => {
vi.useFakeTimers();
setPath('/admin/board/notice/474/edit');
});
afterEach(() => {
vi.useRealTimers();
delete (window as any).G7Core;
});
it('글을 옮기면 새 글의 본문으로 편집기를 다시 세운다', () => {
const form: Record<string, any> = { content: 'AAA-474' };
stubForm(form);
const editor = makeEditor('AAA-474');
const handle = attachExternalContentSync(editor, { name: 'content', locale: 'ko', multilingual: false });
setPath('/admin/board/notice/1/edit');
// 이동 직후 — 폼은 아직 이전 글의 값을 들고 있다
vi.advanceTimersByTime(TICK);
expect(editor.getData()).toBe('AAA-474');
expect(handle.shouldEmit()).toBe(false);
// 새 글의 폼 데이터가 도착한다
form.content = 'BBB-1';
vi.advanceTimersByTime(TICK);
expect(editor.getData()).toBe('BBB-1');
expect(handle.shouldEmit()).toBe(true);
handle.stop();
});
it('새 본문이 도착하기 전에는 편집기가 폼으로 내보내지 못한다 (오염 차단)', () => {
const form: Record<string, any> = { content: 'AAA-474' };
stubForm(form);
const editor = makeEditor('AAA-474');
const handle = attachExternalContentSync(editor, { name: 'content', locale: 'ko', multilingual: false });
setPath('/admin/board/notice/1/edit');
vi.advanceTimersByTime(TICK);
// 이 창에서 사용자가 입력해도 그 값은 이전 글의 본문 기반이므로 내보내면 안 된다
expect(handle.shouldEmit()).toBe(false);
handle.stop();
});
it('입력 중에는 되돌리지 않는다 (폼이 디바운스로 뒤처져도)', () => {
const form: Record<string, any> = { content: '가나다' };
stubForm(form);
const editor = makeEditor('가나다');
const handle = attachExternalContentSync(editor, { name: 'content', locale: 'ko', multilingual: false });
editor.typeInto('가나다라');
handle.noteEmitted('가나다라');
// 폼은 아직 이전 값 — 여기서 되돌리면 입력한 글자가 사라진다
vi.advanceTimersByTime(TICK);
expect(editor.getData()).toBe('가나다라');
form.content = '가나다라';
vi.advanceTimersByTime(TICK);
expect(editor.getData()).toBe('가나다라');
handle.stop();
});
it('새 값이 끝내 오지 않아도 내보내기를 영구히 막지는 않는다', () => {
const form: Record<string, any> = { content: 'AAA-474' };
stubForm(form);
const editor = makeEditor('AAA-474');
const handle = attachExternalContentSync(editor, { name: 'content', locale: 'ko', multilingual: false });
setPath('/admin/board/notice/1/edit');
vi.advanceTimersByTime(TICK);
expect(handle.shouldEmit()).toBe(false);
vi.advanceTimersByTime(11_000);
expect(handle.shouldEmit()).toBe(true);
handle.stop();
});
it('다국어 모드는 로케일별 값을 본다', () => {
const form: Record<string, any> = { content: { ko: 'KO-474', en: 'EN-474' } };
stubForm(form);
const editor = makeEditor('KO-474');
const handle = attachExternalContentSync(editor, { name: 'content', locale: 'ko', multilingual: true });
setPath('/admin/board/notice/1/edit');
vi.advanceTimersByTime(TICK);
form.content = { ko: 'KO-1', en: 'EN-1' };
vi.advanceTimersByTime(TICK);
expect(editor.getData()).toBe('KO-1');
handle.stop();
});
it('stop() 이후에는 더 이상 편집기를 건드리지 않는다', () => {
const form: Record<string, any> = { content: 'AAA-474' };
stubForm(form);
const editor = makeEditor('AAA-474');
const handle = attachExternalContentSync(editor, { name: 'content', locale: 'ko', multilingual: false });
handle.stop();
setPath('/admin/board/notice/1/edit');
form.content = 'BBB-1';
vi.advanceTimersByTime(TICK * 5);
expect(editor.getData()).toBe('AAA-474');
});
});
@@ -0,0 +1,240 @@
/**
* CKEditor5 확보 실패 시의 평문 입력 폴백
*
* `html-editor.json` 이 `mode: "replace"` 라 코어 HtmlEditor 가 렌더되지 않는다.
* 편집기를 못 세우면 사용자에게는 빈 div 만 남아 글을 쓸 방법이 없었다.
*
* @scenario custom_source=none
* @effects failed_asset_falls_back_to_plain_input, failed_asset_shows_retry_notice, retry_recovers_editor
*/
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
import {
renderTextareaFallback,
getTextareaFallbackValues,
removeTextareaFallback,
hasTextareaFallback,
} from '../../handlers/textareaFallback';
describe('CKEditor5 textarea 폴백', () => {
let container: HTMLElement;
let setLocal: ReturnType<typeof vi.fn>;
beforeEach(() => {
container = document.createElement('div');
container.id = 'ckeditor5-content';
document.body.appendChild(container);
setLocal = vi.fn();
(window as any).G7Core = { state: { setLocal } };
});
afterEach(() => {
container.remove();
delete (window as any).G7Core;
vi.restoreAllMocks();
});
describe('단일 모드', () => {
it('textarea 를 세우고 초기 내용을 채운다', () => {
renderTextareaFallback({
container,
name: 'content',
height: 400,
readOnly: false,
multilingual: false,
initialContent: '기존 본문',
});
const textarea = container.querySelector('textarea') as HTMLTextAreaElement;
expect(textarea).not.toBeNull();
expect(textarea.name).toBe('content');
expect(textarea.value).toBe('기존 본문');
expect(textarea.style.height).toBe('400px');
});
it('폴백 렌더 즉시 _mode 를 text 로 못 박는다 (아무것도 입력하지 않고 저장해도 평문 처리)', () => {
renderTextareaFallback({
container,
name: 'content',
height: 400,
readOnly: false,
multilingual: false,
initialContent: '',
});
expect(setLocal).toHaveBeenCalledWith(
expect.objectContaining({ 'form.content_mode': 'text' }),
expect.anything()
);
});
it('입력이 form.content 로 동기화된다', () => {
renderTextareaFallback({
container,
name: 'content',
height: 400,
readOnly: false,
multilingual: false,
initialContent: '',
});
const textarea = container.querySelector('textarea') as HTMLTextAreaElement;
textarea.value = '사용자가 쓴 글';
textarea.dispatchEvent(new Event('input'));
const [updates] = setLocal.mock.calls[setLocal.mock.calls.length - 1];
expect(updates['form.content']).toBe('사용자가 쓴 글');
expect(updates['form.content_mode']).toBe('text');
expect(updates.hasChanges).toBe(true);
});
/**
* 번역 실패는 폴백 대상이 아니다 — 영어로 뜰 뿐 편집기는 동작한다.
*
* @scenario asset_class=translation, outcome=failed
* @effects failed_asset_falls_back_to_plain_input
*/
it('readOnly 설정이면 textarea 도 읽기 전용', () => {
renderTextareaFallback({
container,
name: 'content',
height: 300,
readOnly: true,
multilingual: false,
initialContent: '읽기 전용',
});
expect((container.querySelector('textarea') as HTMLTextAreaElement).readOnly).toBe(true);
});
it('이미 폴백이 서 있으면 다시 만들지 않는다 (입력 중이던 내용 보존)', () => {
renderTextareaFallback({
container, name: 'content', height: 400, readOnly: false,
multilingual: false, initialContent: '',
});
const textarea = container.querySelector('textarea') as HTMLTextAreaElement;
textarea.value = '작성 중';
renderTextareaFallback({
container, name: 'content', height: 400, readOnly: false,
multilingual: false, initialContent: '초기값',
});
expect(container.querySelectorAll('textarea')).toHaveLength(1);
expect((container.querySelector('textarea') as HTMLTextAreaElement).value).toBe('작성 중');
});
});
describe('다국어 모드', () => {
const base = {
name: 'content',
height: 400,
readOnly: false,
multilingual: true as const,
locales: ['ko', 'en', 'ja'],
activeLocale: 'ko',
};
it('탭을 세우고 활성 로케일 값을 보여준다', () => {
renderTextareaFallback({
...base,
container,
contentMap: { ko: '한국어 본문', en: 'English body' },
});
const tabs = container.querySelectorAll('.ckeditor5-locale-tabs button');
const textarea = container.querySelector('textarea') as HTMLTextAreaElement;
expect(tabs).toHaveLength(3);
expect(textarea.value).toBe('한국어 본문');
});
it('탭 전환 시 현재 입력을 커밋하고 다음 로케일 값을 채운다', () => {
renderTextareaFallback({
...base,
container,
contentMap: { ko: '한국어 본문', en: 'English body' },
});
const textarea = container.querySelector('textarea') as HTMLTextAreaElement;
textarea.value = '수정한 한국어';
textarea.dispatchEvent(new Event('input'));
const enTab = container.querySelector('button[data-locale="en"]') as HTMLButtonElement;
enTab.click();
expect(textarea.value).toBe('English body');
const [updates] = setLocal.mock.calls[setLocal.mock.calls.length - 1];
expect(updates['form.content.ko']).toBe('수정한 한국어');
expect(updates['form.content.en']).toBe('English body');
expect(updates['form.content_mode']).toBe('text');
});
it('입력이 있는 로케일 탭에만 체크 표시가 뜬다', () => {
renderTextareaFallback({
...base,
container,
contentMap: { ko: '한국어 본문' },
});
const koCheck = container.querySelector('button[data-locale="ko"] [data-check]') as HTMLElement;
const jaCheck = container.querySelector('button[data-locale="ja"] [data-check]') as HTMLElement;
expect(koCheck.style.display).not.toBe('none');
expect(jaCheck.style.display).toBe('none');
});
});
describe('재시도 승계', () => {
it('폴백에 입력한 내용을 편집기로 넘길 수 있다 (단일)', () => {
renderTextareaFallback({
container, name: 'content', height: 400, readOnly: false,
multilingual: false, initialContent: '',
});
const textarea = container.querySelector('textarea') as HTMLTextAreaElement;
textarea.value = '폴백에서 쓴 글';
expect(getTextareaFallbackValues(container)).toBe('폴백에서 쓴 글');
});
it('폴백에 입력한 내용을 편집기로 넘길 수 있다 (다국어 — 커밋 전 현재 탭 포함)', () => {
renderTextareaFallback({
container, name: 'content', height: 400, readOnly: false,
multilingual: true, locales: ['ko', 'en'], activeLocale: 'ko',
contentMap: { en: '이미 있던 영어' },
});
const textarea = container.querySelector('textarea') as HTMLTextAreaElement;
textarea.value = '아직 커밋 안 한 한국어';
expect(getTextareaFallbackValues(container)).toEqual({
ko: '아직 커밋 안 한 한국어',
en: '이미 있던 영어',
});
});
it('제거하면 컨테이너가 비고 폴백 판정이 false 가 된다', () => {
renderTextareaFallback({
container, name: 'content', height: 400, readOnly: false,
multilingual: false, initialContent: '내용',
});
expect(hasTextareaFallback(container)).toBe(true);
expect(removeTextareaFallback(container)).toBe(true);
expect(hasTextareaFallback(container)).toBe(false);
expect(container.innerHTML).toBe('');
});
it('폴백이 없는 컨테이너에서는 승계할 값이 없다', () => {
expect(getTextareaFallbackValues(container)).toBeNull();
expect(removeTextareaFallback(container)).toBe(false);
});
});
});
@@ -0,0 +1,84 @@
/**
* 회귀: 편집기 자산 실패 시 폴백이 저장된 본문을 잃지 않는다 (공개 #123)
*
* 결함: 수정 화면은 폼 데이터(`.../posts/form-data`)가 도착하기 전에 첫 렌더가 일어나므로
* 컴포넌트가 캡처한 `params.content` 가 빈 문자열이 된다. 편집기 확보는 `await` 이라 그 사이에
* 데이터가 도착하는데, 폴백 경로가 캡처값을 그대로 쓰면 **도착한 본문을 보지 못한 채** 빈
* textarea 를 세우고 `form.content` 를 빈 문자열로 덮어썼다. 그 상태로 저장하면 본문이 통째로
* 사라진다 — 예외도 경고도 없이, 화면상 "내용이 원래 없던 글" 로 보인다.
*
* 빈 문자열은 `'{{'` 로 시작하지 않아 "정상 해석된 값" 처럼 보이는 것이 함정이었다.
* 그래서 빈 값도 미해석과 같이 취급해 **호출 시점의** 라이브 폼 상태로 내려가야 한다.
*/
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
import { resolveSingleContent, resolveContentMap } from '../../handlers/initEditor';
/**
* G7Core 전역 스텁을 설치합니다.
*
* @param form 로컬 폼 상태
* @param selectedItem 전역 selectedItem
* @return void
*/
function stubG7Core(form: Record<string, any>, selectedItem?: Record<string, any>): void {
(window as any).G7Core = {
state: {
getLocal: () => ({ form }),
get: () => ({ _global: { selectedItem } }),
},
};
}
describe('편집기 초기 본문 해석 (폴백 데이터 손실 회귀)', () => {
beforeEach(() => {
stubG7Core({});
});
afterEach(() => {
delete (window as any).G7Core;
});
describe('단일 모드', () => {
it('캡처값이 빈 문자열이면 라이브 폼 상태의 본문을 쓴다 (수정 화면 회귀)', () => {
stubG7Core({ content: '저장돼 있던 본문' });
expect(resolveSingleContent({ content: '' }, 'content')).toBe('저장돼 있던 본문');
});
it('캡처값이 미해석 표현식이어도 라이브 폼 상태로 내려간다', () => {
stubG7Core({ content: '저장돼 있던 본문' });
expect(resolveSingleContent({ content: '{{_local.form.content}}' }, 'content')).toBe('저장돼 있던 본문');
});
it('캡처값이 실제 본문이면 그 값을 그대로 쓴다 (라이브 상태가 덮지 않는다)', () => {
stubG7Core({ content: '나중에 도착한 다른 값' });
expect(resolveSingleContent({ content: '캡처된 본문' }, 'content')).toBe('캡처된 본문');
});
it('양쪽 다 비어 있으면 빈 문자열 (작성 화면 정상 경로)', () => {
expect(resolveSingleContent({ content: '' }, 'content')).toBe('');
});
});
describe('다국어 모드', () => {
it('캡처값이 비면 라이브 폼 상태의 로케일 맵을 쓴다', () => {
stubG7Core({ content: { ko: '한국어 본문', en: 'English body' } });
expect(resolveContentMap({ content: '' }, 'content')).toEqual({ ko: '한국어 본문', en: 'English body' });
});
it('폼 상태가 비면 _global.selectedItem 으로 한 단계 더 내려간다', () => {
stubG7Core({}, { content: { ko: '선택 항목 본문' } });
expect(resolveContentMap({ content: '' }, 'content')).toEqual({ ko: '선택 항목 본문' });
});
it('API 기본값인 빈 배열은 본문으로 취급하지 않는다', () => {
stubG7Core({ content: [] });
expect(resolveContentMap({ content: '' }, 'content')).toEqual({});
});
});
});
@@ -0,0 +1,90 @@
/**
* CKEditor5 동봉 자산 URL 해석
*
* CKEditor5 본체·CSS·번역은 종전에 `cdn.ckeditor.com` 에서 실시간으로 받아왔다.
* CDN 순단·방화벽·광고차단기로 실패하면 에러 표시 없이 입력창 자리만 비어 글을
* 작성할 수 없었고, 자체 서버 로그에는 흔적이 남지 않았다. 이제 플러그인이 자산을
* 동봉하고 same-origin 으로 서빙한다.
*
* URL 을 문자열로 조립하지 않고 `G7Core.asset.plugin()` 을 거치는 이유: 확장자를
* 정적 location 이 가로채는 서버에서는 자산 URL 이 `?file=` 쿼리 형태여야 한다.
* 문자열 조립은 그 서버에서만 404 가 되며, 그것은 지금 CDN 이 죽었을 때와 같은 증상이다.
*
* @module ckeditorAssets
*/
/** 동봉한 CKEditor5 버전 (`dist/vendor/ckeditor5/{VERSION}/`) */
export const CKEDITOR5_VERSION = '43.3.1';
/** 플러그인 식별자 */
const PLUGIN_ID = 'sirsoft-ckeditor5';
/** 동봉 자산 루트 (플러그인 루트 기준 — 플러그인 자산 경로는 `dist/` 를 포함한다) */
const VENDOR_ROOT = `dist/vendor/ckeditor5/${CKEDITOR5_VERSION}`;
/** CKEditor5 CSS 로드 상태 추적용 엘리먼트 ID */
export const CKEDITOR5_CSS_ID = 'ckeditor5-vendor-css';
/**
* 코어 자산 URL API 를 가져옵니다.
*
* 확장 IIFE 번들은 코어의 `assetUrl.ts` 를 import 할 수 없어 전역을 통한다.
* API 가 없으면 **URL 을 직접 조립하지 않고 throw** 한다 — 조립한 URL 은 자산 URL
* 이중 모드에서 조용히 404 가 되므로, 실패를 여기서 드러내 폴백이 받게 하는 편이 낫다.
*
* @return 코어 자산 URL 생성기
* @throws Error 코어 자산 API 가 없을 때 (코어 7.0.10 미만)
*/
function assetApi(): { plugin: (id: string, path: string) => string } {
const api = (window as any)?.G7Core?.asset;
if (!api || typeof api.plugin !== 'function') {
throw new Error(
'G7Core.asset is unavailable — core 7.0.10 or later is required to resolve bundled CKEditor5 assets'
);
}
return api;
}
/**
* CKEditor5 본체(UMD) URL 을 돌려줍니다.
*
* 레이아웃 확장(`resources/extensions/html-editor.json`)이 이 스크립트를 로드하므로
* 런타임에서 이 함수를 쓰는 곳은 재시도 경로뿐이다.
*
* @return string UMD 스크립트 URL
*/
export function ckeditorScriptUrl(): string {
return assetApi().plugin(PLUGIN_ID, `${VENDOR_ROOT}/ckeditor5.umd.js`);
}
/**
* CKEditor5 CSS URL 을 돌려줍니다.
*
* @return string CSS URL
*/
export function ckeditorCssUrl(): string {
return assetApi().plugin(PLUGIN_ID, `${VENDOR_ROOT}/ckeditor5.css`);
}
/**
* CKEditor5 번역 파일 URL 을 돌려줍니다.
*
* @param locale 로케일 코드 (예: `ko`)
* @return string 번역 스크립트 URL
*/
export function ckeditorTranslationUrl(locale: string): string {
return assetApi().plugin(PLUGIN_ID, `${VENDOR_ROOT}/translations/${locale}.umd.js`);
}
/**
* 코어 자산 URL API 사용 가능 여부를 돌려줍니다.
*
* 호출부가 throw 를 기다리지 않고 미리 분기해야 할 때 쓴다.
*
* @return bool 사용 가능하면 true
*/
export function hasAssetApi(): boolean {
return typeof (window as any)?.G7Core?.asset?.plugin === 'function';
}
@@ -5,7 +5,7 @@
*/
// 컨테이너 ID → 인스턴스 맵 (initEditor.ts와 공유)
import { editorInstances } from './editorInstances';
import { editorInstances, stopExternalSyncs } from './editorInstances';
import { disconnectDarkModeObserver } from './initEditor';
/**
@@ -24,6 +24,10 @@ export async function destroyEditorHandler(
// action.params.name 기반으로 containerId 계산 (initEditor와 동일한 패턴)
const editorName = (action.params?.name as string) ?? 'content';
const containerId = `ckeditor5-${editorName}`;
// 외부 폼 값 재동기화 타이머를 먼저 멈춘다 — 인스턴스가 사라진 뒤에도 남으면
// 파괴된 편집기를 계속 들여다보는 타이머가 화면마다 쌓인다.
stopExternalSyncs(containerId);
const instances = editorInstances.get(containerId);
if (!instances || instances.size === 0) {
@@ -16,3 +16,41 @@ export function isSyncSuppressed(): boolean {
export function setSyncSuppressed(value: boolean): void {
_syncSuppressed = value;
}
/**
* containerId → 그 컨테이너에 붙은 외부 폼 값 재동기화 핸들 목록.
*
* 편집기를 파괴할 때 함께 멈춰야 한다 — 남겨두면 파괴된 인스턴스를 계속 들여다보는
* 타이머가 화면마다 쌓인다.
*/
const externalSyncs = new Map<string, Array<{ stop(): void }>>();
/**
* 외부 재동기화 핸들을 등록합니다.
*
* @param containerId 편집기 컨테이너 id
* @param handle 재동기화 핸들
* @return void
*/
export function registerExternalSync(containerId: string, handle: { stop(): void }): void {
const list = externalSyncs.get(containerId) ?? [];
list.push(handle);
externalSyncs.set(containerId, list);
}
/**
* 컨테이너에 붙은 외부 재동기화를 모두 멈춥니다.
*
* @param containerId 편집기 컨테이너 id
* @return void
*/
export function stopExternalSyncs(containerId: string): void {
(externalSyncs.get(containerId) ?? []).forEach(handle => {
try {
handle.stop();
} catch {
// 이미 멈춘 핸들은 무시
}
});
externalSyncs.delete(containerId);
}
@@ -0,0 +1,188 @@
/**
* 편집기 ↔ 외부 폼 상태의 재동기화
*
* `html-editor.json` 은 `onMount` 에서만 `initEditor` 를 부른다. 그런데 관리자 화면에서
* 글 A 수정 → 글 B 수정 으로 옮기는 이동은 **같은 레이아웃**이라 컴포넌트가 언마운트되지
* 않는다. `onMount`/`onUnmount` 둘 다 발화하지 않으므로 편집기는 글 A 의 본문을 그대로
* 들고 있고, 폼 상태만 글 B 의 값으로 바뀐다.
*
* 그 상태에서 한 글자라도 입력하면 `change:data` 가 **편집기에 보이는 글 A 의 본문**을
* 글 B 의 `form.{name}` 에 써 넣는다. 저장하면 글 B 의 본문이 글 A 의 본문으로 통째로
* 대체된다 — 예외도 경고도 없고, 화면에는 "원래 그런 내용이었던 글" 로 보인다.
*
* 이 모듈은 두 가지를 한다.
*
* 1. 외부(폼 데이터 로드·글 전환)에서 값이 바뀌면 편집기를 그 값으로 다시 세운다.
* 2. 다시 세우기 전까지는 편집기가 폼으로 **내보내지 못하게** 막는다 — 재시딩보다 사용자의
* 입력이 빠른 창에서 오염이 일어나기 때문이다.
*
* 타이핑 경합을 피하는 기준은 **경로(pathname)** 다. 값 비교만으로 판정하면 디바운스가
* 반영되기 전의 이전 값이 "외부 변경" 으로 보여 입력 중인 내용을 되돌려버린다. 편집 대상이
* 바뀌는 사건은 언제나 경로 변화를 동반하므로 그것을 재시딩 신호로 쓴다.
*
* @module externalContentSync
*/
import { setSyncSuppressed } from './editorInstances';
/** 외부 값 확인 주기(ms). 폼 쓰기 디바운스(300ms)보다 길게 둔다. */
const POLL_INTERVAL_MS = 400;
/**
* 재시딩 대기 상한(ms).
*
* 대기 중에는 편집기가 폼으로 내보내지 못한다. 새 값이 끝내 오지 않는 화면에서 그 상태를
* 영구히 두면 편집기가 통째로 먹통이 되므로 상한을 둔다.
*/
const RESEED_TIMEOUT_MS = 10000;
/** 편집기 인스턴스의 최소 계약 (CKEditor5) */
interface EditorLike {
getData(): string;
setData(value: string): void;
}
/**
* 외부 동기화 핸들
*/
export interface ExternalContentSyncHandle {
/**
* 이 값을 폼에 내보내도 되는지 판정합니다.
*
* 편집 대상이 바뀐 뒤 아직 새 본문으로 다시 세우지 못한 창에서는 `false` — 그 창의
* 편집기 내용은 **이전 글의 것**이므로 새 글의 폼에 써서는 안 된다.
*
* @return bool 내보내도 되면 true
*/
shouldEmit(): boolean;
/**
* 폼으로 내보낸 값을 기록합니다 (되돌아온 값을 외부 변경으로 오인하지 않도록).
*
* @param html 내보낸 값
* @return void
*/
noteEmitted(html: string): void;
/**
* 감시를 멈춥니다.
*
* @return void
*/
stop(): void;
}
/**
* 편집기에 외부 폼 값 재동기화를 붙입니다.
*
* @param editor 편집기 인스턴스
* @param options 폼 필드명 / 로케일 / 다국어 여부
* @return 외부 동기화 핸들
*/
export function attachExternalContentSync(
editor: EditorLike,
options: { name: string; locale: string; multilingual: boolean }
): ExternalContentSyncHandle {
const { name, locale, multilingual } = options;
let pathAtSeed = location.pathname;
let lastEmitted: string | null = null;
let awaitingReseed = false;
/** 재시딩을 기다리는 동안 편집기에 남아 있는 **이전 글**의 본문 */
let staleData: string | null = null;
/** 재시딩 대기 시작 시각 — 새 값이 끝내 오지 않는 경우를 위해 상한을 둔다 */
let awaitingSince = 0;
/**
* 현재 폼 상태에서 이 편집기에 해당하는 값을 읽습니다.
*
* @return 문자열 값, 읽을 수 없으면 undefined
*/
const readExternal = (): string | undefined => {
const G7Core = (window as any).G7Core;
const form = G7Core?.state?.getLocal?.()?.form;
if (!form || !name) {
return undefined;
}
const value = multilingual ? form[name]?.[locale] : form[name];
return typeof value === 'string' ? value : undefined;
};
const timer = window.setInterval(() => {
let current: string;
try {
current = editor.getData();
} catch {
// 파괴된 인스턴스 — 감시를 접는다
window.clearInterval(timer);
return;
}
if (location.pathname !== pathAtSeed) {
// 편집 대상이 바뀌었다. 새 본문이 도착할 때까지 내보내기를 막고, 지금 편집기에
// 남아 있는 **이전 글**의 본문을 기억해 둔다.
pathAtSeed = location.pathname;
lastEmitted = null;
awaitingReseed = true;
awaitingSince = Date.now();
staleData = current;
}
const external = readExternal();
if (external === undefined) {
return;
}
if (awaitingReseed) {
if (external === staleData) {
// 폼이 아직 이전 글의 값을 들고 있다 — 새 데이터가 도착하지 않았다.
// 여기서 "같으니 정상" 으로 판정하면 도착 전에 대기가 풀려, 정작 새 본문이
// 왔을 때는 입력 중으로 오인해 영영 다시 세우지 않는다.
if (Date.now() - awaitingSince > RESEED_TIMEOUT_MS) {
// 새 값이 끝내 오지 않는 화면 — 내보내기를 영구히 막아둘 수는 없다
awaitingReseed = false;
staleData = null;
}
return;
}
if (external !== current) {
setSyncSuppressed(true);
try {
editor.setData(external);
} finally {
setSyncSuppressed(false);
}
}
awaitingReseed = false;
staleData = null;
lastEmitted = external;
return;
}
if (external === lastEmitted || external === current) {
// 우리가 쓴 값이 되돌아온 것 — 외부 변경이 아니다
lastEmitted = external;
return;
}
// 경로가 그대로인데 값만 다르다 = 입력 중이라 폼이 아직 못 따라온 것.
// 여기서 되돌리면 입력이 사라진다.
}, POLL_INTERVAL_MS);
return {
shouldEmit: () => !awaitingReseed,
noteEmitted: (html: string) => {
lastEmitted = html;
},
stop: () => window.clearInterval(timer),
};
}
@@ -7,14 +7,20 @@
* 단일 모드: 단일 인스턴스 생성
*/
import { editorInstances, isSyncSuppressed } from './editorInstances';
import { editorInstances, isSyncSuppressed, registerExternalSync, stopExternalSyncs } from './editorInstances';
import { attachExternalContentSync } from './externalContentSync';
import {
CKEDITOR5_CSS_ID,
ckeditorCssUrl,
ckeditorScriptUrl,
ckeditorTranslationUrl,
} from './ckeditorAssets';
import {
getTextareaFallbackValues,
removeTextareaFallback,
renderTextareaFallback,
} from './textareaFallback';
/** CKEditor5 CDN CSS URL */
const CKEDITOR5_CSS_URL = 'https://cdn.ckeditor.com/ckeditor5/43.3.1/ckeditor5.css';
/** CKEditor5 CDN 번역 파일 base URL */
const CKEDITOR5_TRANSLATIONS_BASE = 'https://cdn.ckeditor.com/ckeditor5/43.3.1/translations';
/** CKEditor5 CSS 로드 상태 추적용 엘리먼트 ID */
const CKEDITOR5_CSS_ID = 'ckeditor5-cdn-css';
/** CKEditor5 다크 모드 CSS 엘리먼트 ID */
const CKEDITOR5_DARK_CSS_ID = 'ckeditor5-dark-override';
/** CKEditor5 다국어 탭 기본 CSS 엘리먼트 ID */
@@ -101,17 +107,50 @@ const TOOLBAR_PRESETS: Record<string, string[]> = {
/**
* CKEditor5 번역 스크립트를 동적으로 로드합니다.
* 영어(en)는 기본 내장이므로 로드하지 않습니다.
*
* 번역 실패는 **정상적인 열화**다 — UI 가 영어로 뜰 뿐 에디터는 동작한다. 그래서
* 실패해도 resolve 하지만, 종전처럼 조용히 넘기지는 않는다(로그조차 없었다).
*
* @param locale 로케일 코드
* @return Promise<void> 로드 시도 완료 시 resolve (실패해도 resolve)
*/
function loadCkeditorTranslations(locale: string): Promise<void> {
if (locale === 'en') return Promise.resolve();
const id = `ckeditor5-translations-${locale}`;
if (document.getElementById(id)) return Promise.resolve();
const loadScript = (window as any)?.G7Core?.asset?.loadScript;
return new Promise((resolve) => {
let url: string;
try {
url = ckeditorTranslationUrl(locale);
} catch (error) {
console.warn('[ckeditor5] 번역 URL 을 만들지 못했습니다 (영어로 동작):', error);
resolve();
return;
}
if (typeof loadScript === 'function') {
loadScript(url, { id }, { label: `ckeditor5 translations: ${locale}`, retries: 1 })
.catch((error: unknown) => {
console.warn(`[ckeditor5] 번역 로드 실패 (${locale}) — 영어로 동작합니다:`, error);
})
.then(() => resolve());
return;
}
const script = document.createElement('script');
script.id = id;
script.src = `${CKEDITOR5_TRANSLATIONS_BASE}/${locale}.umd.js`;
script.src = url;
script.onload = () => resolve();
script.onerror = () => resolve(); // 번역 실패해도 에디터는 영어로 동작
script.onerror = () => {
console.warn(`[ckeditor5] 번역 로드 실패 (${locale}) — 영어로 동작합니다.`);
resolve();
};
document.head.appendChild(script);
});
}
@@ -119,16 +158,182 @@ function loadCkeditorTranslations(locale: string): Promise<void> {
/**
* CKEditor5 CSS를 동적으로 로드합니다.
* 이미 로드된 경우 중복 삽입하지 않습니다.
*
* 종전에는 `onerror` 자체가 없어 CSS 실패가 완전히 무음이었다 — 툴바·편집 영역의
* 스타일이 통째로 빠진 화면이 오류 없이 남았다. 이제 재시도하고, 끝내 실패하면
* 코어 안내 배너로 표면화한다.
*
* @return Promise<void> 로드 시도 완료 시 resolve (실패해도 resolve — 에디터 자체는 동작)
*/
function loadCkeditorCss(): void {
async function loadCkeditorCss(): Promise<void> {
if (document.getElementById(CKEDITOR5_CSS_ID)) {
return;
}
const link = document.createElement('link');
link.id = CKEDITOR5_CSS_ID;
link.rel = 'stylesheet';
link.href = CKEDITOR5_CSS_URL;
document.head.appendChild(link);
const loadStylesheet = (window as any)?.G7Core?.asset?.loadStylesheet;
let url: string;
try {
url = ckeditorCssUrl();
} catch (error) {
console.warn('[ckeditor5] CSS URL 을 만들지 못했습니다:', error);
return;
}
if (typeof loadStylesheet !== 'function') {
const link = document.createElement('link');
link.id = CKEDITOR5_CSS_ID;
link.rel = 'stylesheet';
link.href = url;
document.head.appendChild(link);
return;
}
try {
await loadStylesheet(url, { id: CKEDITOR5_CSS_ID }, { label: 'ckeditor5 CSS' });
} catch (error) {
console.warn('[ckeditor5] CSS 로드 실패:', error);
notifyEditorAssetFailure('ckeditor5-css', t('editor.asset.style_label', '편집기 스타일'), () => loadCkeditorCss());
}
}
/**
* CKEditor 전역이 확보되었는지 확인하고, 없으면 한 번 더 로드를 시도합니다.
*
* 레이아웃 `scripts[]` 가 이미 본체를 로드하지만, 그 로드가 끝내 실패했을 수 있다.
* 코어 로더(`TemplateApp.loadLayoutScripts`)는 실패해도 다른 스크립트를 계속 진행하므로
* 여기까지 도달하고, 그때 `window.CKEDITOR` 는 없다.
*
* @return Promise<bool> 전역이 확보되면 true
*/
async function ensureCkeditorGlobal(): Promise<boolean> {
if ((window as any).CKEDITOR) {
return true;
}
const loadScript = (window as any)?.G7Core?.asset?.loadScript;
if (typeof loadScript !== 'function') {
return false;
}
try {
await loadScript(
ckeditorScriptUrl(),
{ id: 'ckeditor5-vendor-umd' },
{ label: 'ckeditor5 UMD' }
);
} catch (error) {
console.warn('[ckeditor5] 편집기 본체를 불러오지 못했습니다:', error);
return false;
}
return Boolean((window as any).CKEDITOR);
}
/**
* 폴백 상태에서 편집기 초기화를 다시 시도합니다.
*
* 성공하면 폴백에 입력해 둔 내용을 편집기로 승계한다 — 재시도가 사용자의 작성물을
* 지워버리면 [다시 시도] 버튼은 누를 수 없는 버튼이 된다.
*
* @param action 원래 액션 정의
* @param context 원래 컨텍스트
* @param container 편집기 컨테이너
* @param multilingual 다국어 모드 여부
* @param name 폼 필드명
* @return Promise<void>
* @throws Error 재시도 후에도 편집기를 세우지 못한 경우 (배너가 유지된다)
*/
async function retryEditorInit(
action: { params?: InitEditorParams; [key: string]: any },
context: unknown,
container: HTMLElement,
multilingual: boolean,
name: string
): Promise<void> {
const carried = getTextareaFallbackValues(container);
if (!(await ensureCkeditorGlobal())) {
throw new Error('[sirsoft-ckeditor5] 편집기 본체를 여전히 불러올 수 없습니다.');
}
removeTextareaFallback(container);
// 승계할 내용을 액션 파라미터에 실어 초기화가 그 값을 초기 콘텐츠로 쓰게 한다
const retryAction = {
...action,
params: {
...(action.params ?? {}),
content: multilingual
? (carried as Record<string, string> | null) ?? {}
: ((carried as string | null) ?? ''),
},
};
await initEditorHandler(retryAction as any, context);
if (!name) {
return;
}
// 폴백이 남긴 `_mode: 'text'` 를 편집기 계약으로 되돌린다
const G7Core = (window as any).G7Core;
G7Core?.state?.setLocal?.({ [`form.${name}_mode`]: 'html' });
}
/**
* 자산 로드 실패를 코어 안내 배너에 알립니다.
*
* 코어 API 가 없으면(구 코어) 콘솔 경고로 떨어진다 — 안내를 못 띄운다고 에디터
* 초기화를 중단시키지는 않는다.
*
* @param id 중복 누적을 막는 식별자
* @param label 사용자에게 보일 항목명
* @param retry 다시 시도 동작
*/
function notifyEditorAssetFailure(
id: string,
label: string,
retry: () => Promise<void> | void,
message?: string
): void {
const notify = (window as any)?.G7Core?.assets?.notifyFailure;
if (typeof notify === 'function') {
notify({ id, label, retry, message });
return;
}
console.warn(`[ckeditor5] 자산 로드 실패: ${label}`);
}
/**
* 번역 문자열을 얻습니다.
*
* 배너 문구를 한국어로 박아 두면 다른 로케일에서 그 문구만 한국어로 남는다 — 실패를
* 알리는 화면이 정작 읽히지 않는 상태가 된다.
*
* @param key 번역 키 (플러그인 네임스페이스 이하)
* @param fallback 번역 엔진 부재 시 사용할 문구
* @return string 번역된 문자열
*/
function t(key: string, fallback: string): string {
const translate = (window as any)?.G7Core?.t;
if (typeof translate !== 'function') {
return fallback;
}
const full = `sirsoft-ckeditor5.${key}`;
const result = translate(full);
return typeof result === 'string' && result !== full ? result : fallback;
}
/**
@@ -943,6 +1148,85 @@ function syncToForm(
* @param params 핸들러 파라미터
* @param context 액션 컨텍스트
*/
/**
* 초기 본문 해석이 **호출 시점의** 폼 상태를 읽어야 하는 이유.
*
* `params.content` 는 컴포넌트가 처음 렌더될 때 캡처된 값이다. 작성 화면은 그 값이 비어 있는
* 것이 정상이지만, **수정 화면**은 폼 데이터(`.../posts/form-data`)가 도착하기 전에 첫 렌더가
* 일어나므로 캡처값이 빈 문자열이 된다. 편집기 확보(`ensureCkeditorGlobal`)는 await 이라
* 그 사이에 데이터가 도착하는데, 캡처값을 그대로 쓰면 도착한 본문을 보지 못한다.
*
* 빈 문자열은 `'{{'` 로 시작하지 않으므로 "해석된 값" 처럼 보인다 — 그래서 빈 값도 미해석과
* 동일하게 취급해 라이브 상태로 내려가야 한다. 이 함수들을 쓰는 쪽은 **await 이후에** 부르는
* 것이 중요하다. 그렇지 않으면 도착 전 상태를 다시 읽을 뿐이다.
*
* @param params 핸들러 파라미터
* @param name 폼 필드명
* @return 단일 모드 초기 본문 (없으면 빈 문자열)
*/
export function resolveSingleContent(params: Record<string, any>, name: string): string {
const G7Core = (window as any).G7Core;
const rawContent = typeof params.content === 'string' ? params.content : '';
const isUnresolvedExpression = rawContent.startsWith('{{') && rawContent.endsWith('}}');
let initialContent = isUnresolvedExpression ? '' : rawContent;
if (!initialContent && name) {
const localState = G7Core?.state?.getLocal?.() ?? {};
const formValue = localState?.form?.[name];
if (typeof formValue === 'string' && formValue) {
initialContent = formValue;
}
}
return initialContent;
}
/**
* 다국어 초기 본문 맵을 해석합니다. 해석 시점 규칙은 {@link resolveSingleContent} 와 같다.
*
* @param params 핸들러 파라미터
* @param name 폼 필드명
* @return 로케일 → 본문 맵 (없으면 빈 객체)
*/
export function resolveContentMap(params: Record<string, any>, name: string): Record<string, string> {
const G7Core = (window as any).G7Core;
let contentMap: Record<string, string> = {};
try {
if (typeof params.content === 'string' && params.content.startsWith('{') && !params.content.startsWith('{{')) {
contentMap = JSON.parse(params.content);
} else if (typeof params.content === 'object' && params.content !== null) {
contentMap = params.content as unknown as Record<string, string>;
}
} catch {
contentMap = {};
}
// contentMap이 비어있으면 G7Core.state.getLocal().form[name]에서 폴백
if (Object.keys(contentMap).length === 0 && name) {
const localState = G7Core?.state?.getLocal?.() ?? {};
const formValue = localState?.form?.[name];
// 배열은 content 미설정 상태(API 기본값 [])이므로 무시
if (formValue && typeof formValue === 'object' && !Array.isArray(formValue)) {
contentMap = formValue as Record<string, string>;
} else if (typeof formValue === 'string' && formValue) {
// 단일 문자열인 경우 현재 로케일에 매핑
contentMap = { [getCurrentLocale()]: formValue };
}
// form[name]도 비어있으면 _global.selectedItem[name]에서 추가 폴백
if (Object.keys(contentMap).length === 0) {
const globalState = G7Core?.state?.get?.() ?? {};
const selectedItem = globalState?._global?.selectedItem ?? globalState?.selectedItem;
const selectedValue = selectedItem?.[name];
if (selectedValue && typeof selectedValue === 'object' && !Array.isArray(selectedValue)) {
contentMap = selectedValue as Record<string, string>;
}
}
}
return contentMap;
}
export async function initEditorHandler(
action: { params?: InitEditorParams; [key: string]: any },
_context: unknown
@@ -955,7 +1239,8 @@ export async function initEditorHandler(
const editorName = (params.name as string) ?? 'content';
const containerId = `ckeditor5-${editorName}`;
// 기존 인스턴스가 있으면 먼저 정리
// 기존 인스턴스가 있으면 먼저 정리 (외부 재동기화 타이머도 함께 멈춘다)
stopExternalSyncs(containerId);
const existing = editorInstances.get(containerId);
if (existing && existing.size > 0) {
const destroyPromises: Promise<void>[] = [];
@@ -1007,39 +1292,37 @@ export async function initEditorHandler(
// content 파싱: 다국어 시 객체, 단일 시 문자열
// extensionPointProps를 통해 전달되는 경우 표현식이 평가되지 않고 raw 문자열로 전달될 수 있음
// 이 경우 G7Core.state.getLocal().form[name] 폴백 사용
let contentMap: Record<string, string> = {};
if (isMultilingual) {
try {
if (typeof params.content === 'string' && params.content.startsWith('{') && !params.content.startsWith('{{')) {
contentMap = JSON.parse(params.content);
} else if (typeof params.content === 'object' && params.content !== null) {
contentMap = params.content as unknown as Record<string, string>;
}
} catch {
contentMap = {};
}
// contentMap이 비어있으면 G7Core.state.getLocal().form[name]에서 폴백
if (Object.keys(contentMap).length === 0 && name) {
const localState = G7Core?.state?.getLocal?.() ?? {};
const formValue = localState?.form?.[name];
// 배열은 content 미설정 상태(API 기본값 [])이므로 무시
if (formValue && typeof formValue === 'object' && !Array.isArray(formValue)) {
contentMap = formValue as Record<string, string>;
} else if (typeof formValue === 'string' && formValue) {
// 단일 문자열인 경우 현재 로케일에 매핑
const currentLocale = getCurrentLocale();
contentMap = { [currentLocale]: formValue };
}
// form[name]도 비어있으면 _global.selectedItem[name]에서 추가 폴백
if (Object.keys(contentMap).length === 0) {
const globalState = G7Core?.state?.get?.() ?? {};
const selectedItem = globalState?._global?.selectedItem ?? globalState?.selectedItem;
const selectedValue = selectedItem?.[name];
if (selectedValue && typeof selectedValue === 'object' && !Array.isArray(selectedValue)) {
contentMap = selectedValue as Record<string, string>;
}
}
}
let contentMap: Record<string, string> = isMultilingual ? resolveContentMap(params, name) : {};
// 편집기 본체 확보 — 실패하면 평문 입력으로 내려앉는다.
// `html-editor.json` 이 `mode: "replace"` 라 코어 HtmlEditor 도 렌더되지 않으므로,
// 여기서 폴백을 세우지 않으면 사용자에게는 빈 div 만 남아 글을 쓸 수 없다.
if (!(await ensureCkeditorGlobal())) {
// 자산 확보 시도(await) 동안 폼 데이터가 도착했을 수 있으므로 **여기서 다시** 해석한다.
// await 이전에 캡처된 값을 그대로 쓰면 수정 화면에서 폴백이 빈 채로 서고, 폴백이
// `form.{name}` 에 빈 문자열을 써 넣어 저장된 본문이 조용히 지워진다.
const fallbackOptions = {
container,
name,
height,
readOnly: isReadOnly,
placeholder,
multilingual: isMultilingual,
locales: isMultilingual ? getSupportedLocales() : undefined,
activeLocale: getCurrentLocale(),
contentMap: isMultilingual ? resolveContentMap(params, name) : undefined,
initialContent: isMultilingual ? undefined : resolveSingleContent(params, name),
};
renderTextareaFallback(fallbackOptions);
notifyEditorAssetFailure(
`ckeditor5-editor:${containerId}`,
t('editor.asset.label', '편집기'),
() => retryEditorInit(action, _context, container, fallbackOptions.multilingual, name),
t('editor.asset.fallback_notice', '편집기를 불러오지 못했습니다. 임시 입력창으로 전환했습니다. 작성한 내용은 그대로 저장됩니다.')
);
return;
}
const instanceMap = new Map<string, unknown>();
@@ -1081,9 +1364,20 @@ export async function initEditorHandler(
// 초기화 중 change:data 이벤트 억제 (CKEditor 내부 initialData 처리 시 발생 가능)
let isInitializing = true;
// 단일 모드와 같은 이유 — 같은 레이아웃 안에서 편집 대상이 바뀌어도
// onMount 가 다시 발화하지 않으므로 로케일마다 외부 값을 지켜본다.
const externalSync = attachExternalContentSync(editor as any, {
name,
locale,
multilingual: true,
});
registerExternalSync(containerId, externalSync);
(editor as any).model.document.on('change:data', () => {
if (isInitializing) return;
if (!externalSync.shouldEmit()) return;
const html = (editor as any).getData();
externalSync.noteEmitted(html);
syncToForm(name, locale, html, true);
updateCheckIconsRef.current();
});
@@ -1120,6 +1414,31 @@ export async function initEditorHandler(
// 활성 locale 에디터 먼저 생성
await createLocaleEditor(activeLocale);
// 활성 locale 조차 세우지 못했으면 자산은 있어도 편집기를 쓸 수 없는 상태다.
// 나머지 locale 을 계속 시도해봐야 같은 이유로 실패하므로 평문 입력으로 내려앉는다.
if (!instanceMap.has(activeLocale)) {
editorInstances.delete(containerId);
renderTextareaFallback({
container,
name,
height,
readOnly: isReadOnly,
placeholder,
multilingual: true,
locales,
activeLocale,
contentMap,
});
notifyEditorAssetFailure(
`ckeditor5-editor:${containerId}`,
t('editor.asset.label', '편집기'),
() => retryEditorInit(action, _context, container, true, name),
t('editor.asset.fallback_notice', '편집기를 불러오지 못했습니다. 임시 입력창으로 전환했습니다. 작성한 내용은 그대로 저장됩니다.')
);
return;
}
// 나머지 locale 에디터 백그라운드에서 미리 생성 (탭 전환 시 딜레이 제거)
// setTimeout으로 지연하여 활성 에디터 초기 입력 반응성 확보
setTimeout(() => {
@@ -1133,16 +1452,7 @@ export async function initEditorHandler(
// params.content가 빈 문자열이거나 미평가 표현식({{...}})인 경우
// onMount 타이밍 문제로 _local.form이 아직 미적용된 것일 수 있음
// G7Core.state.getLocal()로 현재 상태를 직접 읽어 폴백
const rawContent = typeof params.content === 'string' ? params.content : '';
const isUnresolvedExpression = rawContent.startsWith('{{') && rawContent.endsWith('}}');
let initialContent = isUnresolvedExpression ? '' : rawContent;
if (!initialContent && name) {
const localState = G7Core?.state?.getLocal?.() ?? {};
const formValue = localState?.form?.[name];
if (typeof formValue === 'string' && formValue) {
initialContent = formValue;
}
}
const initialContent = resolveSingleContent(params, name);
const editorEl = document.createElement('div');
container.appendChild(editorEl);
@@ -1159,9 +1469,21 @@ export async function initEditorHandler(
let isInitializing = true;
// change:data 이벤트 → 폼 상태 동기화 (디바운스는 setLocal 내부에서 처리)
// 같은 레이아웃 안에서 편집 대상이 바뀌면(글 A 수정 → 글 B 수정) onMount 가
// 다시 발화하지 않는다. 그 창에서 편집기 내용이 폼으로 새는 것을 막고, 새 본문이
// 도착하면 편집기를 다시 세운다.
const externalSync = attachExternalContentSync(editor as any, {
name,
locale: singleLocale,
multilingual: false,
});
registerExternalSync(containerId, externalSync);
(editor as any).model.document.on('change:data', () => {
if (isInitializing) return;
if (!externalSync.shouldEmit()) return;
const html = (editor as any).getData();
externalSync.noteEmitted(html);
syncToForm(name, singleLocale, html, false);
});
@@ -1190,6 +1512,24 @@ export async function initEditorHandler(
} catch (err) {
console.error('[sirsoft-ckeditor5] 에디터 초기화 오류:', err);
editorInstances.delete(containerId);
// 편집기를 세우지 못했으므로 평문 입력으로 내려앉는다 (빈 div 로 두지 않는다)
renderTextareaFallback({
container,
name,
height,
readOnly: isReadOnly,
placeholder,
multilingual: false,
activeLocale: getCurrentLocale(),
initialContent,
});
notifyEditorAssetFailure(
`ckeditor5-editor:${containerId}`,
t('editor.asset.label', '편집기'),
() => retryEditorInit(action, _context, container, false, name),
t('editor.asset.fallback_notice', '편집기를 불러오지 못했습니다. 임시 입력창으로 전환했습니다. 작성한 내용은 그대로 저장됩니다.')
);
}
}
}
@@ -0,0 +1,254 @@
/**
* CKEditor5 확보 실패 시의 평문 입력 폴백
*
* 편집기 자산을 끝내 불러오지 못하면 종전에는 `console.error` 한 줄을 남기고 끝났다.
* `html-editor.json` 의 `mode: "replace"` 때문에 코어 HtmlEditor 도 렌더되지 않아,
* 사용자에게는 빈 `<div>` 만 남았다 — 글을 쓸 방법이 아예 없었다.
*
* 이 모듈은 그 자리에 `<textarea>` 를 세워 **작성과 저장을 가능하게** 한다. 값은
* 기존 폼 계약 그대로 `form.{name}` 에 넣고, `form.{name}_mode` 를 `'text'` 로 두어
* 서버가 HTML 이 아닌 평문으로 처리하게 한다 (코어 HtmlEditor 와 동일한 계약).
*
* @module textareaFallback
*/
/** 폴백 요소를 식별하는 data 속성 */
const FALLBACK_ATTR = 'data-ckeditor5-fallback';
/**
* 폴백 렌더 옵션
*/
export interface TextareaFallbackOptions {
/** 편집기 컨테이너 (`#ckeditor5-{name}`) */
container: HTMLElement;
/** 폼 필드명 */
name: string;
/** 편집 영역 높이(px) */
height: number;
/** 읽기 전용 여부 */
readOnly: boolean;
/** placeholder 문구 */
placeholder?: string;
/** 다국어 모드 여부 */
multilingual: boolean;
/** 다국어 로케일 목록 */
locales?: string[];
/** 활성 로케일 */
activeLocale?: string;
/** 다국어 초기값 (로케일 → 내용) */
contentMap?: Record<string, string>;
/** 단일 모드 초기값 */
initialContent?: string;
}
/** 컨테이너별 폴백 상태 (재시도 시 값 승계에 쓴다) */
const fallbackState = new WeakMap<HTMLElement, {
multilingual: boolean;
values: Record<string, string>;
activeLocale: string;
}>();
/**
* 폼 상태에 값을 반영합니다.
*
* `_mode` 를 `'text'` 로 둔다 — 편집기가 없으므로 입력된 것은 HTML 이 아니다.
* 이 값을 그대로 `'html'` 로 두면 서버가 평문을 HTML 로 신뢰하게 된다.
*
* @param name 폼 필드명
* @param value 반영할 값 (다국어면 로케일 맵)
* @return void
*/
function syncFallbackToForm(name: string, value: string | Record<string, string>): void {
const G7Core = (window as any).G7Core;
if (!G7Core?.state?.setLocal || !name) {
return;
}
const updates: Record<string, any> = {
[`form.${name}_mode`]: 'text',
hasChanges: true,
};
if (typeof value === 'string') {
updates[`form.${name}`] = value;
} else {
for (const [locale, localeValue] of Object.entries(value)) {
updates[`form.${name}.${locale}`] = localeValue;
}
}
G7Core.state.setLocal(updates, { render: false, selfManaged: true });
}
/**
* 평문 입력 폴백을 렌더링합니다.
*
* 이미 폴백이 서 있으면 다시 만들지 않는다 — 재초기화 시도마다 입력 중이던 내용이
* 날아가면 폴백이 폴백 구실을 못 한다.
*
* @param options 폴백 렌더 옵션
* @return void
*/
export function renderTextareaFallback(options: TextareaFallbackOptions): void {
const { container, name, height, readOnly, placeholder, multilingual } = options;
if (container.querySelector(`[${FALLBACK_ATTR}]`)) {
return;
}
container.innerHTML = '';
const locales = multilingual ? (options.locales ?? []) : [];
const activeLocale = options.activeLocale ?? locales[0] ?? '';
const values: Record<string, string> = multilingual
? { ...(options.contentMap ?? {}) }
: { '': options.initialContent ?? '' };
const textarea = document.createElement('textarea');
textarea.setAttribute(FALLBACK_ATTR, '1');
textarea.name = name;
textarea.readOnly = readOnly;
textarea.placeholder = placeholder ?? '';
textarea.style.cssText = [
'width:100%',
`height:${height}px`,
'padding:12px',
'border:1px solid #d1d5db',
'border-radius:6px',
'font-family:inherit',
'font-size:14px',
'line-height:1.6',
'resize:vertical',
'box-sizing:border-box',
].join(';');
let currentLocale = activeLocale;
if (multilingual) {
const tabsEl = document.createElement('div');
tabsEl.className = 'ckeditor5-locale-tabs';
/**
* 탭 버튼의 활성/체크 표시를 갱신합니다.
*
* @return void
*/
const refreshTabs = (): void => {
tabsEl.querySelectorAll('button').forEach(button => {
const locale = (button as HTMLButtonElement).dataset.locale ?? '';
const isActive = locale === currentLocale;
button.classList.toggle('is-active', isActive);
const hasValue = (values[locale] ?? '').trim() !== '';
const check = button.querySelector('[data-check]');
if (check) {
(check as HTMLElement).style.display = hasValue ? '' : 'none';
}
});
};
locales.forEach((locale, index) => {
const button = document.createElement('button');
button.type = 'button';
button.dataset.locale = locale;
if (index === 0) {
button.classList.add('is-default');
}
button.textContent = locale.toUpperCase();
const check = document.createElement('span');
check.dataset.check = '1';
check.textContent = '✓';
check.style.display = 'none';
button.appendChild(check);
button.addEventListener('click', () => {
// 탭을 떠나기 전에 현재 입력을 그 로케일에 커밋한다
values[currentLocale] = textarea.value;
currentLocale = locale;
textarea.value = values[locale] ?? '';
textarea.dataset.locale = locale;
syncFallbackToForm(name, values);
refreshTabs();
});
tabsEl.appendChild(button);
});
container.appendChild(tabsEl);
textarea.dataset.locale = currentLocale;
textarea.value = values[currentLocale] ?? '';
refreshTabs();
textarea.addEventListener('input', () => {
values[currentLocale] = textarea.value;
syncFallbackToForm(name, values);
refreshTabs();
});
} else {
textarea.value = values[''] ?? '';
textarea.addEventListener('input', () => {
values[''] = textarea.value;
syncFallbackToForm(name, textarea.value);
});
}
container.appendChild(textarea);
fallbackState.set(container, { multilingual, values, activeLocale: currentLocale });
// 폴백으로 내려앉았다는 사실 자체를 폼 상태에 반영한다 — 사용자가 아무것도 입력하지
// 않고 저장해도 서버가 평문으로 처리하도록.
syncFallbackToForm(name, multilingual ? values : (values[''] ?? ''));
}
/**
* 폴백에 입력된 값을 돌려줍니다 (재시도 성공 시 편집기로 승계하기 위해).
*
* @param container 편집기 컨테이너
* @return 단일 모드면 문자열, 다국어면 로케일 맵, 폴백이 없으면 null
*/
export function getTextareaFallbackValues(container: HTMLElement): string | Record<string, string> | null {
const state = fallbackState.get(container);
if (!state) {
return null;
}
const textarea = container.querySelector(`textarea[${FALLBACK_ATTR}]`) as HTMLTextAreaElement | null;
if (textarea) {
state.values[state.multilingual ? (textarea.dataset.locale ?? state.activeLocale) : ''] = textarea.value;
}
return state.multilingual ? { ...state.values } : (state.values[''] ?? '');
}
/**
* 폴백을 제거합니다.
*
* @param container 편집기 컨테이너
* @return bool 제거했으면 true
*/
export function removeTextareaFallback(container: HTMLElement): boolean {
if (!container.querySelector(`[${FALLBACK_ATTR}]`)) {
return false;
}
container.innerHTML = '';
fallbackState.delete(container);
return true;
}
/**
* 컨테이너에 폴백이 서 있는지 판정합니다.
*
* @param container 편집기 컨테이너
* @return bool 폴백이 있으면 true
*/
export function hasTextareaFallback(container: HTMLElement): boolean {
return container.querySelector(`[${FALLBACK_ATTR}]`) !== null;
}
@@ -6,27 +6,51 @@
import { initEditorHandler } from './handlers/initEditor';
import { destroyEditorHandler } from './handlers/destroyEditor';
import { ckeditorCssUrl } from './handlers/ckeditorAssets';
const PLUGIN_IDENTIFIER = 'sirsoft-ckeditor5';
const CKEDITOR5_CSS_ID = 'ckeditor5-content-styles';
const CKEDITOR5_CSS_OVERRIDE_ID = 'ckeditor5-content-styles-override';
const CKEDITOR5_CSS_URL = 'https://cdn.ckeditor.com/ckeditor5/43.3.1/ckeditor5.css';
/**
* CKEditor5 content styles CSS를 동적으로 주입하는 핸들러
* html-content.json extension_point의 onMount에서 호출됩니다.
*
* HtmlContent 컴포넌트에 ck-content 클래스가 적용되어 CDN CSS가 직접 동작합니다.
* 다크모드(CDN 미지원)와 col 너비 처리만 override로 추가합니다.
* HtmlContent 컴포넌트에 ck-content 클래스가 적용되어 동봉 CSS가 직접 동작합니다.
* 다크모드(원본 미지원)와 col 너비 처리만 override로 추가합니다.
*
* 이 CSS 는 **작성 화면이 아니라 방문자가 보는 본문**에 걸린다. 실패하면 이미 작성된
* 글의 표·정렬·목록 서식이 통째로 깨지므로, 종전의 무음 처리(`onerror` 없음)를
* 재시도 + 실패 표면화로 바꾼다.
*/
function injectContentCssHandler(): void {
if (!document.getElementById(CKEDITOR5_CSS_ID)) {
const link = document.createElement('link');
link.id = CKEDITOR5_CSS_ID;
link.rel = 'stylesheet';
link.href = CKEDITOR5_CSS_URL;
document.head.appendChild(link);
const asset = (window as any)?.G7Core?.asset;
try {
const url = ckeditorCssUrl();
if (typeof asset?.loadStylesheet === 'function') {
asset.loadStylesheet(url, { id: CKEDITOR5_CSS_ID }, { label: 'ckeditor5 content CSS' })
.catch((error: unknown) => {
console.warn('[ckeditor5] 본문 스타일 로드 실패:', error);
(window as any)?.G7Core?.assets?.notifyFailure?.({
id: 'ckeditor5-content-css',
label: '본문 스타일',
retry: () => injectContentCssHandler(),
});
});
} else {
const link = document.createElement('link');
link.id = CKEDITOR5_CSS_ID;
link.rel = 'stylesheet';
link.href = url;
document.head.appendChild(link);
}
} catch (error) {
console.warn('[ckeditor5] 본문 스타일 URL 을 만들지 못했습니다:', error);
}
}
if (!document.getElementById(CKEDITOR5_CSS_OVERRIDE_ID)) {
@@ -3,6 +3,11 @@
"data_source": {
"settings": "Editor Settings",
"ckeditor5Uploads": "Uploaded Image List"
},
"asset": {
"label": "Editor",
"style_label": "Editor styles",
"fallback_notice": "Could not load the editor. Switched to a plain text box. What you write is still saved."
}
},
"admin": {
@@ -85,11 +90,11 @@
"label": "Max Image Size (MB)",
"hint": "Maximum allowed size for uploaded images. (1 ~ 10 MB)"
},
"public_asset_disk": {
"label": "Public Asset Disk",
"hint": "Select to use a different disk for this plugin only. Leave empty to follow the core public asset disk setting.",
"follow_core": "Follow core setting"
},
"public_asset_disk": {
"label": "Public Asset Disk",
"hint": "Select to use a different disk for this plugin only. Leave empty to follow the core public asset disk setting.",
"follow_core": "Follow core setting"
},
"editor_height": {
"label": "Editor Height (px)",
"hint": "Set the minimum height of the editor in pixels. (200 ~ 2000 px)"
@@ -3,6 +3,11 @@
"data_source": {
"settings": "에디터 설정",
"ckeditor5Uploads": "업로드 이미지 목록"
},
"asset": {
"label": "편집기",
"style_label": "편집기 스타일",
"fallback_notice": "편집기를 불러오지 못했습니다. 임시 입력창으로 전환했습니다. 작성한 내용은 그대로 저장됩니다."
}
},
"admin": {
@@ -85,11 +90,11 @@
"label": "최대 이미지 크기 (MB)",
"hint": "업로드 가능한 이미지의 최대 크기입니다. (1 ~ 10 MB)"
},
"public_asset_disk": {
"label": "공개 자산 디스크",
"hint": "이 플러그인만 다른 디스크를 쓰려면 선택합니다. 비우면 코어 공개 자산 디스크 설정을 따릅니다.",
"follow_core": "코어 설정 따름"
},
"public_asset_disk": {
"label": "공개 자산 디스크",
"hint": "이 플러그인만 다른 디스크를 쓰려면 선택합니다. 비우면 코어 공개 자산 디스크 설정을 따릅니다.",
"follow_core": "코어 설정 따름"
},
"editor_height": {
"label": "에디터 높이 (px)",
"hint": "에디터의 최소 높이를 픽셀 단위로 설정합니다. (200 ~ 2000 px)"
@@ -17,6 +17,8 @@ type Ckeditor5AuthFixtures = {
uploadsManageToken: string;
/** 업로드 조회만 가능한 토큰 (삭제 403 경계 검증용) */
uploadsReadOnlyToken: string;
/** 에디터가 실린 작성 화면 진입용 토큰 (자산 실패 폴백 검증) */
editorToken: string;
};
export const test = base.extend<Ckeditor5AuthFixtures>({
@@ -28,6 +30,11 @@ export const test = base.extend<Ckeditor5AuthFixtures>({
uploadsReadOnlyToken: async ({}, use) => {
await use(issueScopedToken('admin.access', 'sirsoft-ckeditor5.uploads.read'));
},
// 자산 실패 폴백은 권한 경계가 아니라 편집기 마운트를 보는 검증이므로 admin 역할을
// 함께 받는 `issueToken` 으로 충분하다 (게시글 작성 화면 전체가 열려야 한다).
editorToken: async ({}, use) => {
await use(issueToken('sirsoft-board.posts.create'));
},
});
export { authenticatePage };
@@ -75,6 +75,18 @@ export default defineConfig({
['list'],
],
use: {
// 실제 브라우저 UA 를 지정한다.
//
// Playwright 기본 UA 에는 `HeadlessChrome` 이 들어 있어 `SeoMiddleware` 의 봇 판정에
// 걸린다. 그러면 공개 사용자 경로 요청이 SPA 가 아니라 **검색엔진용 정적 HTML** 을
// 받는다 — `window.G7Core` 도 엔진 스크립트도 없는 화면이다. 그 상태에서도 서버가
// 심은 글꼴·아이콘은 정상이라 "페이지가 잘 뜬다" 로 보이고, 정작 재려던 SPA 동작
// (테마 적용·핸들러·확장 번들 로드)은 한 번도 실행되지 않은 채 통과한다.
//
// 봇 경로를 의도적으로 재는 spec 은 UA 가 아니라 `?_escaped_fragment_=` 로 유발하므로
// 여기서 실제 UA 를 고정해도 그 검증은 그대로 동작한다.
userAgent:
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',
baseURL: resolveBaseUrl(),
// spec 이 한국어 화면 문구를 단언하므로 로케일을 고정한다.
// 로케일 우선순위는 localStorage g7_locale → 서버 응답값 → 'ko' 이고, 서버값은 미인증
@@ -0,0 +1,165 @@
/**
* E2E: 편집기 자산 실패 시 평문 입력 폴백 (공개 #123)
*
* 배경: CKEditor5 본체를 못 불러오면 `html-editor.json` 의 `mode: "replace"` 때문에
* 코어 HtmlEditor 도 렌더되지 않아 빈 `<div>` 만 남았다. 사용자에게는 "입력창 자리가
* 비어 있다" 로만 보였고 — 글을 쓸 방법이 아예 없었다. 실패 처리는 `console.error`
* 한 줄이 전부라 자체 서버 로그에도 흔적이 남지 않았다.
*
* 브라우저에서 확인해야 하는 것은 "폴백 코드가 있다" 가 아니라 아래 넷이다.
*
* 1. 자산이 실패하면 안내가 뜨고 입력창이 선다 (빈 화면이 남지 않는다)
* 2. 그 입력창으로 실제로 작성하고 **저장**할 수 있다 (폴백이 저장까지 이어진다)
* 3. 저장된 내용이 새로고침 뒤에도 남는다 (평문 계약이 서버까지 도달한다)
* 4. 차단을 풀고 [다시 시도] 하면 편집기가 서고, 입력해 둔 내용이 승계된다
*
* 자산 차단은 `page.route()` 로 **결정적으로** 만든다 — 실제 네트워크 상태에 기대면
* 재현되지 않는 날이 생긴다.
*/
import { test, expect, authenticatePage } from '../fixtures/ckeditor5-auth';
/**
* 편집기 본체 자산 매처.
*
* 글로브가 아니라 정규식인 이유: 이 자산의 URL 형태는 `general.asset_url_mode` 와 정적 게시
* 여부에 따라 셋으로 갈린다 —
* 1. `/api/plugins/assets/{id}/dist/vendor/ckeditor5/{ver}/ckeditor5.umd.js` (확장자 모드)
* 2. `/api/plugins/assets/{id}?file=dist%2Fvendor%2Fckeditor5%2F{ver}%2Fckeditor5.umd.js` (extensionless — 구분자가 %2F 로 인코딩된다)
* 3. `/build/ext/{v}/plugins/{id}/assets/vendor/ckeditor5/{ver}/ckeditor5.umd.js` (정적 게시)
* 경로 글로브(`**\/vendor/...`)는 2번에서 절대 매칭되지 않아 차단이 조용히 무효가 되고,
* 그러면 이 spec 전체가 "폴백이 안 뜬다" 로 실패한다. 파일명만 보면 세 형태 모두 걸린다.
* (번역 파일 `translations/ko.umd.js` 는 파일명이 달라 걸리지 않는다 — 본체만 차단한다.)
*/
const EDITOR_BUNDLE = /ckeditor5\.umd\.js/;
test.describe('편집기 자산 실패 폴백', () => {
// 이 spec 은 라이브 서버에서 자산 로드 실패를 실제로 재현하고, 한 케이스는 저장 →
// 재진입 → 정리 삭제까지 밟는다. 기본 30초 예산으로는 담기지 않아 케이스마다 늘린다.
test.beforeEach(({}, testInfo) => {
testInfo.setTimeout(120_000);
});
test('자산 실패 시 안내와 평문 입력창이 나타난다', async ({ page, editorToken }) => {
// @scenario asset_class=vendored, outcome=failed
// @effects failed_asset_falls_back_to_plain_input, failed_asset_shows_retry_notice
await page.route(EDITOR_BUNDLE, (route) => route.abort());
await authenticatePage(page, editorToken);
await page.goto('/admin/board/notice/create');
await page.waitForLoadState('networkidle');
// 안내 배너 — 호스트 컴포넌트 없이 코어가 직접 주입한다
const notice = page.locator('#g7-asset-failure-notice');
await expect(notice).toBeVisible({ timeout: 20_000 });
await expect(notice).toHaveAttribute('role', 'alert');
// 빈 div 가 아니라 실제 입력창이 서 있어야 한다
await expect(page.locator('[data-ckeditor5-fallback]')).toBeVisible({ timeout: 20_000 });
});
test('폴백 입력창으로 작성한 내용이 평문으로 저장되고 새로고침 뒤에도 남는다', async ({ page, editorToken }) => {
// @scenario asset_class=vendored, outcome=failed
// @effects failed_asset_falls_back_to_plain_input
//
// 폼 상태만 보면 "폴백에 글자가 들어갔다" 까지만 증명된다. 제보의 요구는 그게 아니라
// **글을 쓸 수 있어야 한다** 이므로 저장 → 재진입 → 본문 보존까지 실제로 밟는다.
// 라이브 쓰기이므로 생성한 게시글은 이 테스트가 스스로 지운다.
await page.route(EDITOR_BUNDLE, (route) => route.abort());
await authenticatePage(page, editorToken);
await page.goto('/admin/board/notice/create');
await page.waitForLoadState('networkidle');
const textarea = page.locator('[data-ckeditor5-fallback]');
await expect(textarea).toBeVisible({ timeout: 20_000 });
const stamp = Date.now();
const title = `E2E 폴백 저장 ${stamp}`;
const body = `폴백 저장 확인 ${stamp} — 평문으로 저장되어야 한다.`;
await page.locator('input[name="title"]').fill(title);
await textarea.fill(body);
// 폴백은 평문이므로 서버가 HTML 로 신뢰하면 안 된다
const mode = await page.evaluate(
() => (window as any).G7Core?.state?.getLocal?.()?.form?.content_mode
);
expect(mode).toBe('text');
let postId: number | null = null;
try {
await page.locator('#footer_save_button').click();
// 저장 성공 시 상세로 이동한다 (`/admin/board/{slug}/post/{id}`)
await page.waitForURL(/\/admin\/board\/notice\/post\/(\d+)/, { timeout: 30_000 });
postId = Number(page.url().match(/\/post\/(\d+)/)![1]);
// 새로고침(재진입) 후에도 남아야 한다 — 자산은 여전히 차단된 상태이므로
// 수정 화면도 폴백으로 열리고, 거기에 저장된 본문이 실려 있어야 한다.
await page.goto(`/admin/board/notice/${postId}/edit`);
await page.waitForLoadState('networkidle');
const reopened = page.locator('[data-ckeditor5-fallback]');
await expect(reopened).toBeVisible({ timeout: 20_000 });
await expect(reopened).toHaveValue(new RegExp(`폴백 저장 확인 ${stamp}`), { timeout: 20_000 });
// 평문 계약이 서버까지 도달했는지 — 저장본에 태그가 섞이면 안 된다
const stored = await reopened.inputValue();
expect(stored).not.toMatch(/<\/?[a-z][\s\S]*>/i);
} finally {
if (postId !== null) {
const del = await page.request.delete(
`/api/modules/sirsoft-board/admin/board/notice/posts/${postId}`,
{ headers: { Authorization: `Bearer ${editorToken}`, Accept: 'application/json' } },
);
expect(del.ok(), `정리 삭제가 성공해야 한다 (status ${del.status()})`).toBeTruthy();
}
}
});
test('차단 해제 후 다시 시도하면 편집기가 서고 입력 내용이 승계된다', async ({ page, editorToken }) => {
// @scenario asset_class=vendored, outcome=failed
// @effects retry_recovers_editor
let blocked = true;
await page.route(EDITOR_BUNDLE, (route) => (blocked ? route.abort() : route.continue()));
await authenticatePage(page, editorToken);
await page.goto('/admin/board/notice/create');
await page.waitForLoadState('networkidle');
const textarea = page.locator('[data-ckeditor5-fallback]');
await expect(textarea).toBeVisible({ timeout: 20_000 });
const carried = `승계 확인 ${Date.now()}`;
await textarea.fill(carried);
// 차단을 풀고 다시 시도
blocked = false;
await page.locator('#g7-asset-failure-notice [data-action="retry"]').click();
// 편집기가 서면 폴백은 사라진다
await expect(page.locator('.ck-editor')).toBeVisible({ timeout: 30_000 });
await expect(textarea).toHaveCount(0, { timeout: 20_000 });
// 폴백에 써 둔 내용이 사라지면 [다시 시도] 는 누를 수 없는 버튼이 된다
const restored = await page.evaluate(
() => (window as any).G7Core?.state?.getLocal?.()?.form?.content ?? ''
);
expect(restored).toContain('승계 확인');
});
test('정상 경로에서는 안내가 뜨지 않고 편집기가 선다', async ({ page, editorToken }) => {
// 폴백이 정상 경로까지 삼키면 편집기가 영영 안 뜬다 — 반대 방향도 잠근다.
// @scenario asset_class=vendored, outcome=loaded
// @effects runtime_asset_served_same_origin
await authenticatePage(page, editorToken);
await page.goto('/admin/board/notice/create');
await page.waitForLoadState('networkidle');
await expect(page.locator('.ck-editor')).toBeVisible({ timeout: 30_000 });
await expect(page.locator('[data-ckeditor5-fallback]')).toHaveCount(0, { timeout: 20_000 });
await expect(page.locator('#g7-asset-failure-notice')).toHaveCount(0, { timeout: 20_000 });
});
});
@@ -0,0 +1,112 @@
/**
* E2E: 글을 옮겨 다녀도 이전 글의 본문이 새 글에 새지 않는다
*
* 배경: 편집기는 `html-editor.json` 의 `onMount` 에서만 만들어진다. 관리자 화면에서
* 글 A 수정 → 글 B 수정 으로 옮기는 이동은 **같은 레이아웃**이라 컴포넌트가 언마운트되지
* 않아 그 훅이 다시 발화하지 않는다. 편집기는 글 A 의 본문을 그대로 보여주고, 폼 상태만
* 글 B 의 값으로 바뀐다.
*
* 그 상태에서 한 글자만 입력하면 `change:data` 가 **화면에 보이는 글 A 의 본문**을 글 B 의
* `form.content` 에 써 넣는다. 저장하면 글 B 의 본문이 글 A 의 것으로 통째로 대체된다 —
* 예외도 경고도 남지 않고, 운영자에게는 "원래 그런 내용이던 글" 로 보인다.
*
* 그래서 브라우저에서 확인해야 하는 것은 "편집기가 뜬다" 가 아니라 아래 셋이다.
*
* 1. 글을 옮기면 편집기가 **새 글의 본문**을 보여준다
* 2. 옮긴 뒤 입력한 내용이 **새 글의 본문에** 붙는다 (이전 글 본문이 섞이지 않는다)
* 3. 되돌아오면 원래 글의 본문이 그대로 보인다
*/
import { test, expect, authenticatePage } from '../fixtures/ckeditor5-auth';
const BOARD = 'notice';
const API = `/api/modules/sirsoft-board/admin/board/${BOARD}/posts`;
/**
* 게시글을 API 로 만들고 id 를 돌려줍니다.
*
* @param request Playwright 요청 컨텍스트
* @param token 권한 토큰
* @param title 제목
* @param content 본문 (HTML)
* @return 생성된 게시글 id
*/
async function createPost(
request: import('@playwright/test').APIRequestContext,
token: string,
title: string,
content: string,
): Promise<number> {
const res = await request.post(API, {
headers: { Authorization: `Bearer ${token}`, Accept: 'application/json' },
data: { title, content, content_mode: 'html' },
});
expect(res.ok(), `게시글 생성이 성공해야 한다 (status ${res.status()})`).toBeTruthy();
return (await res.json()).data.id as number;
}
test.describe('글 전환 시 본문 격리', () => {
test.beforeEach(({}, testInfo) => {
testInfo.setTimeout(120_000);
});
test('다른 글로 옮기면 편집기가 그 글의 본문으로 다시 선다', async ({ page, editorToken }) => {
// @scenario asset_class=vendored, outcome=loaded
// @effects runtime_asset_served_same_origin
const stamp = Date.now();
const bodyA = `<p>A 글 본문 ${stamp} 입니다.</p>`;
const bodyB = `<p>B 글 본문 ${stamp} 입니다. 길이를 다르게 둔다.</p>`;
const idA = await createPost(page.request, editorToken, `A 전환 점검 ${stamp}`, bodyA);
const idB = await createPost(page.request, editorToken, `B 전환 점검 ${stamp}`, bodyB);
try {
await authenticatePage(page, editorToken);
await page.goto(`/admin/board/${BOARD}/${idA}/edit`);
await expect(page.locator('.ck-editor__editable')).toContainText(`A 글 본문 ${stamp}`, { timeout: 30_000 });
// 레이아웃이 같아 컴포넌트가 언마운트되지 않는 이동 — 앱 자신의 라우터로 옮긴다
await page.evaluate(
(path) => (window as any).G7Core.dispatch({ handler: 'navigate', params: { path } }),
`/admin/board/${BOARD}/${idB}/edit`,
);
// 1. 편집기가 B 의 본문으로 다시 서야 한다
await expect(page.locator('.ck-editor__editable')).toContainText(`B 글 본문 ${stamp}`, { timeout: 30_000 });
await expect(page.locator('.ck-editor__editable')).not.toContainText(`A 글 본문 ${stamp}`);
// 2. 여기서 입력한 내용은 B 의 본문에 붙어야 한다
await page.locator('.ck-editor__editable').click();
await page.keyboard.type('추가입력');
await expect
.poll(
() => page.evaluate(() => (window as any).G7Core?.state?.getLocal?.()?.form?.content ?? ''),
{ timeout: 15_000 },
)
.toContain('추가입력');
const formContent = await page.evaluate(
() => (window as any).G7Core?.state?.getLocal?.()?.form?.content ?? '',
);
expect(formContent).toContain(`B 글 본문 ${stamp}`);
expect(formContent).not.toContain(`A 글 본문 ${stamp}`);
// 3. 되돌아가면 A 의 본문이 그대로여야 한다
await page.evaluate(
(path) => (window as any).G7Core.dispatch({ handler: 'navigate', params: { path } }),
`/admin/board/${BOARD}/${idA}/edit`,
);
await expect(page.locator('.ck-editor__editable')).toContainText(`A 글 본문 ${stamp}`, { timeout: 30_000 });
await expect(page.locator('.ck-editor__editable')).not.toContainText(`B 글 본문 ${stamp}`);
} finally {
for (const id of [idA, idB]) {
await page.request.delete(`${API}/${id}`, {
headers: { Authorization: `Bearer ${editorToken}`, Accept: 'application/json' },
});
}
}
});
});
Loaded 100 of 1042 files, more files were not shown because too many files have changed in this diff. Show more