From d512653405e583b536be28035c65c6fd662ebf67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=89=A2=E5=BA=9F=E7=89=A9?= Date: Sun, 4 Oct 2026 14:18:01 +0800 Subject: [PATCH] feat: complete Chinese and English interface localization --- .github/workflows/i18n.yml | 19 + .gitignore | 3 + I18N.md | 17 + package-lock.json | 14 +- package.json | 11 +- .../wiki-shared/src/editor/autocomplete.ts | 225 +- packages/wiki-shared/src/editor/cm-shared.ts | 164 +- packages/wiki-shared/src/editor/image.ts | 136 +- packages/wiki-shared/src/editor/summary.ts | 92 +- .../wiki-shared/src/editor/table-toolbar.ts | 50 +- packages/wiki-shared/src/editor/utils.ts | 63 +- packages/wiki-shared/src/i18n/client.ts | 30 + packages/wiki-shared/src/i18n/core.ts | 31 + packages/wiki-shared/src/i18n/en.json | 3433 +++++ packages/wiki-shared/src/i18n/source.json | 3433 +++++ packages/wiki-shared/src/i18n/sources.json | 12161 ++++++++++++++++ packages/wiki-shared/src/i18n/zh-CN.json | 3433 +++++ .../src/render/render-presentation.ts | 19 +- packages/wiki-shared/src/render/render.ts | 239 +- packages/wiki-shared/src/server/bearerAuth.ts | 19 +- packages/wiki-shared/src/ui/ui-state.ts | 3 +- public/ext/freq/freq-editor.js | 53 +- public/ext/freq/freq.js | 37 +- public/ext/stock/stock.js | 6 +- scripts/localize-shells.mjs | 54 + scripts/test-i18n.mjs | 12 + src/astro/layouts/BaseLayout.astro | 6 + src/client/admin/palettes.ts | 72 +- src/client/article/backlinks.ts | 35 +- src/client/article/breadcrumb.ts | 15 +- src/client/article/share.ts | 25 +- src/client/article/structure.ts | 31 +- src/client/command-palette.ts | 115 +- src/client/common.ts | 166 +- src/client/diff.ts | 54 +- src/client/discussion-edit/editor.ts | 29 +- src/client/edit/autocomplete.ts | 200 +- src/client/edit/bulk-category.ts | 129 +- src/client/edit/cheatsheet.ts | 163 +- src/client/edit/cm-shared.ts | 131 +- src/client/edit/conflict.ts | 89 +- src/client/edit/image.ts | 110 +- src/client/edit/main.ts | 474 +- src/client/edit/modals.ts | 747 +- src/client/edit/summary.ts | 63 +- src/client/edit/table-toolbar.ts | 30 +- src/client/edit/utils.ts | 65 +- src/client/edit/wiki-lint.ts | 11 +- src/client/i18n.ts | 2 + src/client/iconPicker.ts | 5 +- src/client/pages/admin-bulk-manage.ts | 202 +- src/client/pages/admin-media.ts | 165 +- src/client/pages/admin.ts | 229 +- src/client/pages/all.ts | 55 +- src/client/pages/blog.ts | 103 +- src/client/pages/components-json-builder.ts | 92 +- src/client/pages/discussions.ts | 157 +- src/client/pages/explore.ts | 127 +- src/client/pages/index.ts | 639 +- src/client/pages/login.ts | 21 +- src/client/pages/memo.ts | 99 +- src/client/pages/mypage.ts | 695 +- src/client/pages/qr-login-approve.ts | 33 +- src/client/pages/qr-login-guest.ts | 42 +- src/client/pages/revisions.ts | 181 +- src/client/pages/search.ts | 67 +- src/client/pages/setup-profile-form.ts | 37 +- src/client/pages/tickets.ts | 171 +- src/client/pages/user-profile.ts | 90 +- src/client/permissions/category-acl-modal.ts | 123 +- src/client/permissions/permissions-modal.ts | 224 +- src/client/push.ts | 17 +- src/client/render.ts | 239 +- src/client/sw.ts | 3 +- src/client/utils/api.ts | 3 +- src/client/utils/ui-state.ts | 3 +- src/durable/adminJob.ts | 33 +- src/i18n/server.ts | 34 + src/index.ts | 119 +- src/middleware/session.ts | 15 +- src/middleware/ssr.ts | 3 +- src/routes/admin-mcp.ts | 513 +- src/routes/admin.ts | 299 +- src/routes/adminJobs.ts | 25 +- src/routes/analytics.ts | 3 +- src/routes/auth/common.ts | 3 +- src/routes/auth/index.ts | 115 +- src/routes/auth/providers/discord.ts | 11 +- src/routes/auth/providers/google.ts | 11 +- src/routes/auth/providers/nodeloc.ts | 3 +- src/routes/blog.ts | 73 +- src/routes/discussion.ts | 53 +- src/routes/explore.ts | 3 +- src/routes/mcp-submissions.ts | 19 +- src/routes/mcp.ts | 75 +- src/routes/media.ts | 43 +- src/routes/notification.ts | 35 +- src/routes/oauth.ts | 44 +- src/routes/pending-edits.ts | 109 +- src/routes/push.ts | 23 +- src/routes/qr-login.ts | 45 +- src/routes/search.ts | 5 +- src/routes/ticket.ts | 75 +- src/routes/wiki.ts | 333 +- src/types.ts | 1 + src/utils/aiParser.ts | 11 +- src/utils/analytics.ts | 3 +- src/utils/announcements.ts | 3 +- src/utils/editAcl.ts | 7 +- src/utils/mapDocument.ts | 25 +- src/utils/mcpAuth.ts | 3 +- src/utils/mcpDispatch.ts | 179 +- src/utils/mcpDraftApply.ts | 93 +- src/utils/pagePipeline/notifyWatchers.ts | 3 +- src/utils/r2.ts | 3 +- src/utils/webhook/events/blog.ts | 3 +- src/utils/webhook/events/discussion.ts | 7 +- src/utils/webhook/events/pendingEdit.ts | 9 +- src/utils/webhook/events/signup.ts | 23 +- src/utils/webhook/events/superAdmin.ts | 5 +- src/utils/webhook/events/ticket.ts | 5 +- src/utils/webhook/events/user.ts | 9 +- tests/i18n-shells.test.mjs | 43 + tests/i18n.test.ts | 83 + tsconfig.json | 5 +- vite.config.ts | 1 + wrangler example.toml | 1 + wrangler.production.toml | 1 + 128 files changed, 26913 insertions(+), 6076 deletions(-) create mode 100644 .github/workflows/i18n.yml create mode 100644 I18N.md create mode 100644 packages/wiki-shared/src/i18n/client.ts create mode 100644 packages/wiki-shared/src/i18n/core.ts create mode 100644 packages/wiki-shared/src/i18n/en.json create mode 100644 packages/wiki-shared/src/i18n/source.json create mode 100644 packages/wiki-shared/src/i18n/sources.json create mode 100644 packages/wiki-shared/src/i18n/zh-CN.json create mode 100644 scripts/localize-shells.mjs create mode 100644 scripts/test-i18n.mjs create mode 100644 src/client/i18n.ts create mode 100644 src/i18n/server.ts create mode 100644 tests/i18n-shells.test.mjs create mode 100644 tests/i18n.test.ts diff --git a/.github/workflows/i18n.yml b/.github/workflows/i18n.yml new file mode 100644 index 0000000..ed0f01f --- /dev/null +++ b/.github/workflows/i18n.yml @@ -0,0 +1,19 @@ +name: UI languages +on: + pull_request: + push: + branches: [main] +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '24' + cache: npm + - run: npm ci + - run: node scripts/prepare-production.mjs + - run: npm run typecheck && npm run typecheck:client && npm run test:i18n + - run: npm run build + - run: I18N_CHECK_BUILD=1 npm run test:i18n diff --git a/.gitignore b/.gitignore index b20ceaa..4d4d0bf 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,6 @@ yarn-error.log* .gemini/ gha-creds-*.json + +# Generated bilingual shells +/public/_i18n diff --git a/I18N.md b/I18N.md new file mode 100644 index 0000000..7412116 --- /dev/null +++ b/I18N.md @@ -0,0 +1,17 @@ +# Interface languages + +VireoWiki supports Simplified Chinese (`zh-CN`, default) and English (`en`). The language selector keeps the current URL and stores `vireo_locale` for one year. A valid `?lang=` overrides the cookie; `DEFAULT_LOCALE` in Wrangler sets the fallback. Article text, slugs, markup grammar, status codes and user content stay unchanged. + +## Adding interface text + +Catalogs live in `packages/wiki-shared/src/i18n/`: `source.json` records the original authored message; `zh-CN.json` and `en.json` contain the same keys. `sources.json` records original locations for migration reference. Use a descriptive new key or `m_` plus the first 16 hexadecimal characters of the source message's SHA-256. Add all three catalog values together. + +In browser modules import `ui` from `packages/wiki-shared/src/i18n/client`; server modules use `src/i18n/server`. The latter keeps the locale isolated with AsyncLocalStorage, so concurrent requests cannot share a language. Shared server helpers accept a locale explicitly. Classic extensions use `window.VireoI18n.ui` after the page bootstrap. + +`ui(key, [value0, value1])` fills `__VIREO_SLOT_0__`, `__VIREO_SLOT_1__`, etc. Keep existing escaping at the interpolation call site. Do not translate input text, namespace prefixes, SQL, CSS classes, API identifiers or parser tokens. Translations may reorder slots, but must preserve every slot exactly once for each original occurrence. HTML templates must preserve markup and behavior attributes; only visible text and accessibility labels change. + +## Static pages and checks + +Astro creates the original shells. `scripts/localize-shells.mjs` writes both languages to `public/_i18n/{locale}`. Worker routes select the correct shell; direct static HTML uses the default Chinese output. The language bootstrap is a Vite entry at `/dist/i18n.js`, included in every shell. Adding an authored static label also requires cataloging its original text. ``, `
`, scripts and `data-no-i18n` content are protected.
+
+Run `npm run test:i18n`, `npm run typecheck`, `npm run typecheck:client` and `npm run build`. CI checks catalog coverage, slots, HTML structure, language negotiation and concurrent request isolation. No translation service is used at runtime. Main-branch pushes deploy the existing `vireowiki` Worker using `wrangler.production.toml`; credentials remain Cloudflare secrets.
diff --git a/package-lock.json b/package-lock.json
index 56895c2..4f7400e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,6 +7,7 @@
     "": {
       "name": "vireowiki",
       "version": "1.0.0",
+      "license": "MPL-2.0",
       "workspaces": [
         "packages/*",
         "cloudspace"
@@ -21,11 +22,12 @@
         "@emnapi/runtime": "1.10.0",
         "@types/node": "^25.6.0",
         "astro": "^6.4.2",
+        "esbuild": "^0.27.3",
+        "parse5": "^7.3.0",
         "typescript": "^5.5.0",
         "vite": "^8.0.10",
         "wrangler": "^4.78.0"
-      },
-      "license": "MPL-2.0"
+      }
     },
     "cloudspace": {
       "version": "1.0.0",
@@ -380,7 +382,6 @@
       "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@emnapi/wasi-threads": "1.2.1",
         "tslib": "^2.4.0"
@@ -392,7 +393,6 @@
       "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "tslib": "^2.4.0"
       }
@@ -2272,7 +2272,6 @@
       "integrity": "sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "undici-types": "~7.19.0"
       }
@@ -3538,7 +3537,6 @@
       "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==",
       "dev": true,
       "license": "MPL-2.0",
-      "peer": true,
       "dependencies": {
         "detect-libc": "^2.0.3"
       },
@@ -5341,7 +5339,6 @@
       "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@types/estree": "1.0.8"
       },
@@ -5741,7 +5738,6 @@
       "integrity": "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "pathe": "^2.0.3"
       }
@@ -6058,7 +6054,6 @@
       "integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "lightningcss": "^1.32.0",
         "picomatch": "^4.0.4",
@@ -6179,7 +6174,6 @@
       "dev": true,
       "hasInstallScript": true,
       "license": "Apache-2.0",
-      "peer": true,
       "bin": {
         "workerd": "bin/workerd"
       },
diff --git a/package.json b/package.json
index 8048c4d..0de6ee0 100644
--- a/package.json
+++ b/package.json
@@ -11,13 +11,14 @@
     "predev": "node packages/wiki-shared/scripts/sync-render-css.mjs",
     "dev": "wrangler dev",
     "deploy": "wrangler deploy",
-    "build": "node packages/wiki-shared/scripts/sync-render-css.mjs && node scripts/build-skins-css.mjs && astro build && node scripts/copy-astro-pages.mjs && vite build",
-    "build:astro": "node packages/wiki-shared/scripts/sync-render-css.mjs && node scripts/build-skins-css.mjs && astro build && node scripts/copy-astro-pages.mjs",
+    "build": "node packages/wiki-shared/scripts/sync-render-css.mjs && node scripts/build-skins-css.mjs && astro build && node scripts/copy-astro-pages.mjs && node scripts/localize-shells.mjs && vite build",
+    "build:astro": "node packages/wiki-shared/scripts/sync-render-css.mjs && node scripts/build-skins-css.mjs && astro build && node scripts/copy-astro-pages.mjs && node scripts/localize-shells.mjs",
     "build:watch": "vite build --watch",
     "typecheck": "tsc --noEmit",
     "typecheck:client": "tsc --noEmit -p tsconfig.client.json",
     "generate:rules": "node scripts/generate-rules.mjs",
-    "deploy:do": "wrangler deploy -c do-worker/wrangler.toml"
+    "deploy:do": "wrangler deploy -c do-worker/wrangler.toml",
+    "test:i18n": "node scripts/test-i18n.mjs"
   },
   "dependencies": {
     "@block65/webcrypto-web-push": "^1.0.2",
@@ -31,7 +32,9 @@
     "astro": "^6.4.2",
     "typescript": "^5.5.0",
     "vite": "^8.0.10",
-    "wrangler": "^4.78.0"
+    "wrangler": "^4.78.0",
+    "parse5": "^7.3.0",
+    "esbuild": "^0.27.3"
   },
   "license": "MPL-2.0"
 }
diff --git a/packages/wiki-shared/src/editor/autocomplete.ts b/packages/wiki-shared/src/editor/autocomplete.ts
index adce4c4..ddaf7ea 100644
--- a/packages/wiki-shared/src/editor/autocomplete.ts
+++ b/packages/wiki-shared/src/editor/autocomplete.ts
@@ -1,28 +1,4 @@
-/**
- * edit-autocomplete.js → ESM 이전 (Phase 4-5)
- *
- * 에디터 인라인 자동완성 통합 모듈:
- *   - 이미지 크기 ({size:…})
- *   - 코드/커맨드 ({bg:, {icon:, …})
- *   - 블록 컴포넌트 (:::card 등)
- *   - 아이콘 ({bi:, {mdi:, {icon:})
- *   - 색상 피커 ({bg:, {color:})
- *   - 타임스탬프 달력 ({dday:, {age:, …})
- *   - 팔레트 ({palette:})
- *   - 카테고리 태그 UI
- *   - 위키 링크 ([[…]]) / 틀 ({{…}}) 제목 자동완성
- *
- * 브리지 노출 (window.*):
- *   선택 핸들러 — selectImgSizeAutocomplete, selectCodeAutocomplete,
- *                 selectBlockAutocomplete, selectIconAutocomplete,
- *                 selectAutocomplete, selectCategoryAcByIndex, removeCategoryTag
- *   외부 호출  — showColorAutocomplete, showPaletteAutocomplete,
- *                hideAutocomplete, hideIconAutocomplete, hideColorAutocomplete,
- *                getAllPalettesForEditor, renderCategoryTags
- *   상태 공유  — paletteAc (edit.js 가 .replaceRange 를 직접 기록)
- *                categoryTags (edit.js 가 read/write)
- */
-
+import { ui } from '../i18n/client';
 import './types';
 import { escapeHtml } from '../ui/html';
 import type { PaletteInfo } from './types';
@@ -131,10 +107,10 @@ const imgSizeAc = {
     selectedIndex: -1,
     div: document.getElementById('imgsize-autocomplete'),
     options: [
-        { id: 'icon',   label: '아이콘',      icon: 'mdi-square-medium-outline' },
-        { id: 'small',  label: '작게',        icon: 'mdi-arrow-collapse' },
-        { id: 'medium', label: '중간',        icon: 'mdi-square-outline' },
-        { id: 'full',   label: '크게(기본)',  icon: 'mdi-arrow-expand-all' },
+        { id: 'icon',   label: ui("m_1d080437d8462ce9"),      icon: 'mdi-square-medium-outline' },
+        { id: 'small',  label: ui("m_28fa29ac1fa6e31c"),        icon: 'mdi-arrow-collapse' },
+        { id: 'medium', label: ui("m_541d1ddb952f8fbf"),        icon: 'mdi-square-outline' },
+        { id: 'full',   label: ui("m_9926395d3d8baa1b"),  icon: 'mdi-arrow-expand-all' },
     ] as ImgSizeOption[],
 };
 
@@ -207,29 +183,29 @@ const codeAc = {
     query: '',
     div: document.getElementById('code-autocomplete'),
     options: [
-        { id: 'icon',     label: '아이콘',       icon: 'mdi mdi-emoticon-outline',          insert: 'icon:',     iconMode: 'selected' },
-        { id: 'bi',       label: 'Bootstrap Icons', icon: 'bi bi-bootstrap',                insert: 'bi:',       iconMode: 'library'  },
-        { id: 'mdi',      label: 'Material Design', icon: 'mdi mdi-material-design',         insert: 'mdi:',      iconMode: 'library'  },
-        { id: 'bg',       label: '배경색',        icon: 'mdi mdi-format-color-fill',         insert: 'bg:'        },
-        { id: 'color',    label: '글자색',        icon: 'mdi mdi-format-color-text',         insert: 'color:'     },
-        { id: 'palette',  label: '팔레트 색상',   icon: 'mdi mdi-palette-swatch',            insert: 'palette:'   },
-        { id: 'fs',       label: '글자 크기',     icon: 'mdi mdi-format-size',               insert: 'fs:'        },
-        { id: 'dday',     label: 'D-Day',         icon: 'mdi mdi-calendar-clock',            insert: 'dday:'      },
-        { id: 'time',     label: '표시 시간',     icon: 'mdi mdi-clock-outline',             insert: 'time:'      },
-        { id: 'timer',    label: '타이머',        icon: 'mdi mdi-timer-outline',             insert: 'timer:'     },
-        { id: 'age',      label: '만 나이',       icon: 'mdi mdi-cake-variant-outline',      insert: 'age:'       },
-        { id: 'calendar', label: '캘린더 날짜',   icon: 'mdi mdi-calendar-month',            insert: 'calendar:'  },
-        { id: 'kbd',      label: '키보드 키',     icon: 'mdi mdi-keyboard-outline',          insert: 'kbd:'       },
-        { id: 'progress', label: '진행도 바',     icon: 'mdi mdi-progress-helper',           insert: 'progress:'  },
-        { id: 'size',     label: '이미지 크기',   icon: 'mdi mdi-image-size-select-large',   insert: 'size:'      },
-        { id: 'align',    label: '이미지 정렬',   icon: 'mdi mdi-format-align-center',        insert: 'align:'     },
-        { id: 'caption',  label: '이미지/표 캡션', icon: 'mdi mdi-format-text',              insert: 'caption:'   },
-        { id: 'id',       label: '앵커 ID(탭/아코디언)', icon: 'mdi mdi-identifier',          insert: 'id:'        },
-        { id: 'badge',    label: '배지',          icon: 'mdi mdi-label-outline',             insert: 'badge:'     },
-        { id: 'tag',      label: '태그',          icon: 'mdi mdi-tag-outline',               insert: 'tag:'       },
-        { id: 'button',   label: '버튼',          icon: 'mdi mdi-gesture-tap-button',        insert: 'button:'    },
-        { id: 'stat',     label: '통계 수치',     icon: 'mdi mdi-counter',                   insert: 'stat:'      },
-        { id: 'embed',    label: '미디어 임베드', icon: 'mdi mdi-play-box-outline',          insert: 'embed:'     },
+        { id: 'icon',     label: ui("m_1d080437d8462ce9"),       icon: 'mdi mdi-emoticon-outline',          insert: 'icon:',     iconMode: 'selected' },
+        { id: 'bi',       label: ui("m_381cbc5a80cdd675"), icon: 'bi bi-bootstrap',                insert: 'bi:',       iconMode: 'library'  },
+        { id: 'mdi',      label: ui("m_9d89cdc64edf175d"), icon: 'mdi mdi-material-design',         insert: 'mdi:',      iconMode: 'library'  },
+        { id: 'bg',       label: ui("m_0531b5486f1b8a48"),        icon: 'mdi mdi-format-color-fill',         insert: 'bg:'        },
+        { id: 'color',    label: ui("m_04b9d4d0d299bc60"),        icon: 'mdi mdi-format-color-text',         insert: 'color:'     },
+        { id: 'palette',  label: ui("m_8268412b046258a5"),   icon: 'mdi mdi-palette-swatch',            insert: 'palette:'   },
+        { id: 'fs',       label: ui("m_6b28ff42c3bd1e53"),     icon: 'mdi mdi-format-size',               insert: 'fs:'        },
+        { id: 'dday',     label: ui("m_563d700698b2e153"),         icon: 'mdi mdi-calendar-clock',            insert: 'dday:'      },
+        { id: 'time',     label: ui("m_e8e55f63b04c532c"),     icon: 'mdi mdi-clock-outline',             insert: 'time:'      },
+        { id: 'timer',    label: ui("m_39434f4dbd6aa9ad"),        icon: 'mdi mdi-timer-outline',             insert: 'timer:'     },
+        { id: 'age',      label: ui("m_57b8d86c7074f30c"),       icon: 'mdi mdi-cake-variant-outline',      insert: 'age:'       },
+        { id: 'calendar', label: ui("m_b9a2602b5dd2c5b7"),   icon: 'mdi mdi-calendar-month',            insert: 'calendar:'  },
+        { id: 'kbd',      label: ui("m_2fe5356cb0530f05"),     icon: 'mdi mdi-keyboard-outline',          insert: 'kbd:'       },
+        { id: 'progress', label: ui("m_6bbd4af8328c9ba6"),     icon: 'mdi mdi-progress-helper',           insert: 'progress:'  },
+        { id: 'size',     label: ui("m_2810cd41e255386b"),   icon: 'mdi mdi-image-size-select-large',   insert: 'size:'      },
+        { id: 'align',    label: ui("m_0af5878da3772fe3"),   icon: 'mdi mdi-format-align-center',        insert: 'align:'     },
+        { id: 'caption',  label: ui("m_9225b45181da8f16"), icon: 'mdi mdi-format-text',              insert: 'caption:'   },
+        { id: 'id',       label: ui("m_22866179d06cfcf3"), icon: 'mdi mdi-identifier',          insert: 'id:'        },
+        { id: 'badge',    label: ui("m_57ff1b60f5b9be4b"),          icon: 'mdi mdi-label-outline',             insert: 'badge:'     },
+        { id: 'tag',      label: ui("m_e24f8f799a09913f"),          icon: 'mdi mdi-tag-outline',               insert: 'tag:'       },
+        { id: 'button',   label: ui("m_605632038f49400b"),          icon: 'mdi mdi-gesture-tap-button',        insert: 'button:'    },
+        { id: 'stat',     label: ui("m_30c765b107c5eb5a"),     icon: 'mdi mdi-counter',                   insert: 'stat:'      },
+        { id: 'embed',    label: ui("m_588be0deb770b095"), icon: 'mdi mdi-play-box-outline',          insert: 'embed:'     },
     ] as CodeOption[],
     filtered: [] as CodeOption[],
 };
@@ -325,8 +301,8 @@ const BLOCK_SCAFFOLDS: Record = {
     // 인포박스 — 제목 헤더 + 구분 행 없는 `| 키 | 값 |` 프로필 나열(나무위키식).
     infobox:
         ':::infobox {right} {span:4} ' + CARET_MARKER + '\n' +
-        '| 이름 | 값 |\n' +
-        '| 이름 | 값 |\n\n' +
+        ui("m_c738b61460f613ac") +
+        ui("m_f076669f17b53f92") +
         ':::',
     // 이미지 갤러리 — 본문의  만 수집해 균등 썸네일 그리드로 배치.
     gallery:
@@ -338,26 +314,26 @@ const BLOCK_SCAFFOLDS: Record = {
     // 탭 — 자식 :::tab 항목.
     tabs:
         ':::tabs\n' +
-        ':::tab 탭 1\n' + CARET_MARKER + '내용\n:::\n' +
-        ':::tab 탭 2\n내용\n:::\n' +
+        ui("m_6e5c1fafcd87247d") + CARET_MARKER + ui("m_d7cafcbd87c399b7") +
+        ui("m_b750a273eb0c992a") +
         ':::',
     // 아코디언 — 자식 :::item 항목.
     accordion:
         ':::accordion\n' +
-        ':::item 항목 1\n' + CARET_MARKER + '내용\n:::\n' +
-        ':::item 항목 2\n내용\n:::\n' +
+        ui("m_d26e710e43dbf1d0") + CARET_MARKER + ui("m_d7cafcbd87c399b7") +
+        ui("m_1987e477de299aaa") +
         ':::',
     // 스텝퍼 — 자식 :::step 항목.
     steps:
         ':::steps\n' +
-        ':::step 단계 1\n' + CARET_MARKER + '내용\n:::\n' +
-        ':::step 단계 2\n내용\n:::\n' +
+        ui("m_d1641961d67e5ef0") + CARET_MARKER + ui("m_d7cafcbd87c399b7") +
+        ui("m_368117f5be6dee60") +
         ':::',
     // 문서 변수 — `이름 = 값` 정의(본문에서 {{{@이름}}} 으로 참조).
     meta:
         ':::meta\n' +
-        '제목 = ' + CARET_MARKER + '\n' +
-        '저자 = \n' +
+        ui("m_932dba77309c6041") + CARET_MARKER + '\n' +
+        ui("m_005648e5b43bb97a") +
         ':::',
 };
 
@@ -367,29 +343,29 @@ const blockAc = {
     query: '',
     div: document.getElementById('block-autocomplete'),
     options: [
-        { id: 'card',      label: '카드',      desc: '제목 + 본문 박스',           icon: 'mdi mdi-card-text-outline'       },
-        { id: 'grid',      label: '그리드',    desc: '그리드 ({cols:N}/{template:1-3·8-4 등})', icon: 'mdi mdi-grid'                },
-        { id: 'row',       label: '가로 정렬', desc: '자식을 가로로 배치',         icon: 'mdi mdi-view-column-outline'     },
-        { id: 'center',    label: '가운데 정렬', desc: '내용을 가운데 정렬',       icon: 'mdi mdi-format-align-center'     },
-        { id: 'right',     label: '오른쪽 정렬', desc: '내용을 오른쪽 정렬',       icon: 'mdi mdi-format-align-right'      },
-        { id: 'left',      label: '왼쪽 정렬', desc: '내용을 왼쪽 정렬(중첩 정렬 해제)', icon: 'mdi mdi-format-align-left'  },
-        { id: 'canvas',    label: '캔버스',    desc: '비대칭 12컬럼 레이아웃 — 선택 시 :::area 골격 자동 삽입', icon: 'mdi mdi-view-dashboard-outline', scaffold: BLOCK_SCAFFOLDS.canvas },
-        { id: 'infobox',   label: '인포박스',  desc: '옆을 감싸는 프로필 카드 — 선택 시 제목+표 골격 삽입', icon: 'mdi mdi-card-account-details-outline', scaffold: BLOCK_SCAFFOLDS.infobox },
-        { id: 'float',     label: '플로팅 패널', desc: '본문이 옆을 감싸는 좌/우 패널 ({left|right}{span:3~6})', icon: 'mdi mdi-dock-right'          },
-        { id: 'gallery',   label: '갤러리',    desc: '이미지 균등 그리드 — 선택 시 이미지 골격 삽입 ({cols:2~6})', icon: 'mdi mdi-view-gallery-outline', scaffold: BLOCK_SCAFFOLDS.gallery },
-        { id: 'embed',     label: '임베드',    desc: '강조선 박스 + 내부 URL 미디어 임베드', icon: 'mdi mdi-format-quote-close'      },
-        { id: 'tabs',      label: '탭',        desc: '탭 컨테이너 — 선택 시 :::tab 골격 삽입',  icon: 'mdi mdi-tab',            scaffold: BLOCK_SCAFFOLDS.tabs      },
-        { id: 'accordion', label: '아코디언',  desc: '아코디언 — 선택 시 :::item 골격 삽입',    icon: 'mdi mdi-format-list-bulleted-square', scaffold: BLOCK_SCAFFOLDS.accordion },
-        { id: 'steps',     label: '스텝퍼',    desc: '진행 단계 — 선택 시 :::step 골격 삽입',   icon: 'mdi mdi-stairs',        scaffold: BLOCK_SCAFFOLDS.steps     },
-        { id: 'meta',      label: '문서 변수', desc: '`이름 = 값` 정의 → 본문 {{{@이름}}} 참조', icon: 'mdi mdi-variable',      scaffold: BLOCK_SCAFFOLDS.meta      },
-        { id: 'until',     label: '시점 이전 표시', desc: '지정 시각 전에만 표시 (유닉스초 또는 YYYY-MM-DD)', icon: 'mdi mdi-clock-start' },
-        { id: 'after',     label: '시점 이후 표시', desc: '지정 시각 후에만 표시 (유닉스초 또는 YYYY-MM-DD)', icon: 'mdi mdi-clock-end'   },
-        { id: 'info',      label: '정보',      desc: '정보 콜아웃',                icon: 'mdi mdi-information-outline'     },
-        { id: 'tip',       label: '팁',        desc: '팁 콜아웃',                  icon: 'mdi mdi-lightbulb-on-outline'    },
-        { id: 'success',   label: '성공',      desc: '성공 콜아웃',                icon: 'mdi mdi-check-circle-outline'    },
-        { id: 'warning',   label: '주의',      desc: '주의 콜아웃',                icon: 'mdi mdi-alert-outline'           },
-        { id: 'danger',    label: '위험',      desc: '위험 콜아웃',                icon: 'mdi mdi-alert-octagon-outline'   },
-        { id: 'note',      label: '노트',      desc: '노트 콜아웃',                icon: 'mdi mdi-note-text-outline'       },
+        { id: 'card',      label: ui("m_62b41b5aaec6fef4"),      desc: ui("m_155774e65ecb6263"),           icon: 'mdi mdi-card-text-outline'       },
+        { id: 'grid',      label: ui("m_14a173232a613b6e"),    desc: ui("m_818bcff7e71931a4"), icon: 'mdi mdi-grid'                },
+        { id: 'row',       label: ui("m_4a6a4508513a1deb"), desc: ui("m_6eee93bfecdb267d"),         icon: 'mdi mdi-view-column-outline'     },
+        { id: 'center',    label: ui("m_004150139f94ab3a"), desc: ui("m_fe525c37167d2e2c"),       icon: 'mdi mdi-format-align-center'     },
+        { id: 'right',     label: ui("m_bc18fb606d1cd4a5"), desc: ui("m_993f9d86db97f941"),       icon: 'mdi mdi-format-align-right'      },
+        { id: 'left',      label: ui("m_8864f426cc18342d"), desc: ui("m_cf92ecdc8c488285"), icon: 'mdi mdi-format-align-left'  },
+        { id: 'canvas',    label: ui("m_328263b28ff57998"),    desc: ui("m_8223173395e0f378"), icon: 'mdi mdi-view-dashboard-outline', scaffold: BLOCK_SCAFFOLDS.canvas },
+        { id: 'infobox',   label: ui("m_5430ebf3366f2ff9"),  desc: ui("m_98658eb5d2388d8a"), icon: 'mdi mdi-card-account-details-outline', scaffold: BLOCK_SCAFFOLDS.infobox },
+        { id: 'float',     label: ui("m_18d0e6bc2a7f45bd"), desc: ui("m_c82e34fcdb9baac1"), icon: 'mdi mdi-dock-right'          },
+        { id: 'gallery',   label: ui("m_5cd4cd76699a6fd0"),    desc: ui("m_7619e9a7dfa77df6"), icon: 'mdi mdi-view-gallery-outline', scaffold: BLOCK_SCAFFOLDS.gallery },
+        { id: 'embed',     label: ui("m_4da85c65f840aa80"),    desc: ui("m_2a1a5d18bb46c4ec"), icon: 'mdi mdi-format-quote-close'      },
+        { id: 'tabs',      label: ui("m_28badb093c233e15"),        desc: ui("m_5ae3a1514ad2f6dd"),  icon: 'mdi mdi-tab',            scaffold: BLOCK_SCAFFOLDS.tabs      },
+        { id: 'accordion', label: ui("m_9a076cf23c023e1a"),  desc: ui("m_9fc6dbe4b783be99"),    icon: 'mdi mdi-format-list-bulleted-square', scaffold: BLOCK_SCAFFOLDS.accordion },
+        { id: 'steps',     label: ui("m_a096cdeecea40a9d"),    desc: ui("m_376fd5ff710fc52b"),   icon: 'mdi mdi-stairs',        scaffold: BLOCK_SCAFFOLDS.steps     },
+        { id: 'meta',      label: ui("m_d22e12c683a74d09"), desc: ui("m_963dbba2a659b1ff"), icon: 'mdi mdi-variable',      scaffold: BLOCK_SCAFFOLDS.meta      },
+        { id: 'until',     label: ui("m_745bc68d37465f9d"), desc: ui("m_0b159c50aac67173"), icon: 'mdi mdi-clock-start' },
+        { id: 'after',     label: ui("m_128b0dfe35235930"), desc: ui("m_573ca43f917ffb30"), icon: 'mdi mdi-clock-end'   },
+        { id: 'info',      label: ui("m_b8cf07ac906c8124"),      desc: ui("m_28fe61bef75af3d5"),                icon: 'mdi mdi-information-outline'     },
+        { id: 'tip',       label: ui("m_d9fcd43cf85293f6"),        desc: ui("m_4fa4e2ac36cd09f1"),                  icon: 'mdi mdi-lightbulb-on-outline'    },
+        { id: 'success',   label: ui("m_b4f76a33b89bb947"),      desc: ui("m_261ff49b524384f1"),                icon: 'mdi mdi-check-circle-outline'    },
+        { id: 'warning',   label: ui("m_acc90fbf66686d20"),      desc: ui("m_833a2943e99a7d7f"),                icon: 'mdi mdi-alert-outline'           },
+        { id: 'danger',    label: ui("m_baaff05e434f85e3"),      desc: ui("m_d9fc0886a0acb827"),                icon: 'mdi mdi-alert-octagon-outline'   },
+        { id: 'note',      label: ui("m_a34b4d0aafc9ecfd"),      desc: ui("m_88530cabd97e47c4"),                icon: 'mdi mdi-note-text-outline'       },
     ] as BlockOption[],
     filtered: [] as BlockOption[],
 };
@@ -568,7 +544,7 @@ function showIconAutocomplete(query: string, type: 'bi' | 'mdi' | 'icon'): void
             : 'mdi mdi-material-design';
     }
     if (typeLabelEl) {
-        typeLabelEl.textContent = type === 'icon' ? '아이콘 검색'
+        typeLabelEl.textContent = type === 'icon' ? ui("m_72cca7f7d985c021")
             : type === 'bi' ? 'Bootstrap Icons'
             : 'Material Design Icons';
     }
@@ -904,7 +880,7 @@ function showColorAutocomplete(query: string, type: 'bg' | 'color'): void {
     colorAc.visible = true;
 
     const typeLabelEl = document.getElementById('colorAcTypeLabel');
-    if (typeLabelEl) typeLabelEl.textContent = type === 'bg' ? '배경색 선택' : '글자색 선택';
+    if (typeLabelEl) typeLabelEl.textContent = type === 'bg' ? ui("m_d0d72f97f1cef99e") : ui("m_db0613f318fbce1d");
 
     window.positionDropdownAtCursor?.(colorAc.div, 280);
 
@@ -979,7 +955,7 @@ function _renderCalendar(): void {
     const yearPanel = document.getElementById('tsCalYearPanel');
     if (!grid || !ymBtn) return;
 
-    ymBtn.textContent = `${cal.year}년 ${_calPad(cal.month)}월`;
+    ymBtn.textContent = ui("m_4a131f6944f28a0e", [cal.year, _calPad(cal.month)]);
 
     if (cal.showingYearPanel) {
         if (calSection) calSection.style.display = 'none';
@@ -1109,7 +1085,7 @@ function showTimestampAutocomplete(trigger: string): void {
 
     if (trigger === 'age') {
         if (iconEl) iconEl.className = 'mdi mdi-cake-variant-outline';
-        if (labelEl) labelEl.textContent = '만 나이 생년월일';
+        if (labelEl) labelEl.textContent = ui("m_60fad9caf3faed31");
         if (inputEl) { inputEl.type = 'text'; inputEl.placeholder = 'YYYY-MM-DD'; inputEl.readOnly = true; }
         const initDate = _offsetYear(-20);
         cal.year = parseInt(initDate.slice(0, 4), 10);
@@ -1119,7 +1095,7 @@ function showTimestampAutocomplete(trigger: string): void {
         if (inputEl) inputEl.value = initDate;
     } else if (trigger === 'dday') {
         if (iconEl) iconEl.className = 'mdi mdi-calendar';
-        if (labelEl) labelEl.textContent = 'D-Day 날짜 선택';
+        if (labelEl) labelEl.textContent = ui("m_ec40140f5eba9621");
         if (inputEl) { inputEl.type = 'text'; inputEl.placeholder = 'YYYY-MM-DD'; inputEl.readOnly = true; }
         const initDate = _offsetDate(0);
         cal.year = parseInt(initDate.slice(0, 4), 10);
@@ -1129,7 +1105,7 @@ function showTimestampAutocomplete(trigger: string): void {
         if (inputEl) inputEl.value = initDate;
     } else if (trigger === 'calendar') {
         if (iconEl) iconEl.className = 'mdi mdi-calendar-month';
-        if (labelEl) labelEl.textContent = '캘린더 날짜 선택';
+        if (labelEl) labelEl.textContent = ui("m_73c1974526a832fb");
         if (inputEl) { inputEl.type = 'text'; inputEl.placeholder = 'YYYY-MM-DD'; inputEl.readOnly = true; }
         const initDate = _offsetDate(0);
         cal.year = parseInt(initDate.slice(0, 4), 10);
@@ -1139,16 +1115,16 @@ function showTimestampAutocomplete(trigger: string): void {
         if (inputEl) inputEl.value = initDate;
     } else {
         if (iconEl) iconEl.className = trigger === 'timer' ? 'mdi mdi-timer-outline' : 'mdi mdi-clock-outline';
-        if (labelEl) labelEl.textContent = trigger === 'timer' ? '타이머 시간 선택' : '표시 시간 선택';
-        if (inputEl) { inputEl.type = 'text'; inputEl.placeholder = 'Unix 타임스탬프 (초)'; inputEl.readOnly = false; }
+        if (labelEl) labelEl.textContent = trigger === 'timer' ? ui("m_0bf7e5778c32d7a4") : ui("m_a8cf1d2334124a36");
+        if (inputEl) { inputEl.type = 'text'; inputEl.placeholder = ui("m_95048bb4f8debef2"); inputEl.readOnly = false; }
         const now = Math.floor(Date.now() / 1000);
         const presets = [
-            { label: '지금',   value: now },
-            { label: '+1시간', value: now + 3600 },
-            { label: '+1일',   value: now + 86400 },
-            { label: '+1주',   value: now + 7 * 86400 },
-            { label: '+1달',   value: now + 30 * 86400 },
-            { label: '+1년',   value: now + 365 * 86400 },
+            { label: ui("m_df159f47a890ff65"),   value: now },
+            { label: ui("m_78f6af44ca5c8ef9"), value: now + 3600 },
+            { label: ui("m_4ec242e30c0f7971"),   value: now + 86400 },
+            { label: ui("m_3e8889e56aec25a2"),   value: now + 7 * 86400 },
+            { label: ui("m_f1f8b2018b071cb7"),   value: now + 30 * 86400 },
+            { label: ui("m_4fe4705ef5532abd"),   value: now + 365 * 86400 },
         ];
         if (presetsEl) {
             presetsEl.innerHTML = presets.map(p =>
@@ -1297,7 +1273,7 @@ function renderPaletteAcResults(): void {
     listEl.innerHTML = '';
 
     paletteAc.results.forEach((p, i) => {
-        const tag = p.source === 'preset' ? '기본' : p.source === 'override' ? '오버라이드' : '커스텀';
+        const tag = p.source === 'preset' ? ui("m_3603b4581160941a") : p.source === 'override' ? ui("m_4be0c73b19663c54") : ui("m_d734129fabaa146b");
         // 빌트인 이름은 본문 렌더가 mark.wiki-palette-NAME 클래스(= --wiki-palette-* 토큰)로 그리므로
         // 스와치도 토큰 var() 로 칠해 색을 일치시킨다(테마/스킨/다크모드 자동 반영, 통제된 토큰이라 안전).
         const isBuiltin = !!(window.WIKI_HARDCODED_PALETTES
@@ -1410,14 +1386,14 @@ interface EditAcl { flags: EditAclFlag[]; }
 type CategoryAclMode = 'overwrite' | 'merge' | 'ignore';
 
 const CHECK_CATEGORY_FLAG_LABELS: Record = {
-    aged: '가입 N일 이상',
-    page_editor: '본 문서 편집 이력',
-    any_editor: '임의 문서 편집 이력',
-    admin_only: '관리자 전용',
+    aged: ui("m_bf8508933cb57822"),
+    page_editor: ui("m_6e8b991fd801742e"),
+    any_editor: ui("m_33a7ab7ce21a4ef0"),
+    admin_only: ui("m_593efa9a64e89c3f"),
 };
 
 function formatAclFlags(acl: EditAcl): string {
-    return acl.flags.map(f => CHECK_CATEGORY_FLAG_LABELS[f] ?? f).join(' 그리고 ');
+    return acl.flags.map(f => CHECK_CATEGORY_FLAG_LABELS[f] ?? f).join(ui("m_96df792915787246"));
 }
 
 async function checkCategoryWithServer(name: string): Promise<{ ok: boolean; reason?: string; edit_acl?: EditAcl | null }> {
@@ -1442,26 +1418,15 @@ async function promptCategoryAclMode(name: string, acl: EditAcl): Promise
-            
카테고리 ${escapeHtml(name)} 에 다음 편집 ACL 템플릿이 설정되어 있습니다.
-
${escapeHtml(flagsText)} (모두 충족 — AND)
-
이 카테고리를 문서에 적용하면서 카테고리 ACL 을 어떻게 반영할까요?
-
- - - -
- - `; + const html = ui("m_cedc796580c58c6b", [escapeHtml(name), escapeHtml(flagsText)]); const result = await window.Swal.fire({ - title: '카테고리 ACL 적용', + title: ui("m_135e365a1ae7ac65"), html, icon: 'question', focusConfirm: false, showCancelButton: true, - confirmButtonText: '적용', - cancelButtonText: '취소 (이 카테고리 추가 안 함)', + confirmButtonText: ui("m_6a1c963d5bc5e2e5"), + cancelButtonText: ui("m_2dcf57eb172a504d"), preConfirm: () => { const el = document.querySelector('input[name="catAclMode"]:checked') as HTMLInputElement | null; return (el?.value ?? 'merge') as CategoryAclMode; @@ -1568,7 +1533,7 @@ function renderCategoryTags(): void { const tagEl = document.createElement('span'); tagEl.className = 'category-tag'; if (autoCategory && tagText === autoCategory) { - tagEl.innerHTML = `${escapeHtml(tagText)} `; + tagEl.innerHTML = ui("m_a12b6dbd16de6888", [escapeHtml(tagText)]); } else { tagEl.innerHTML = `${escapeHtml(tagText)} `; } @@ -1593,8 +1558,8 @@ async function addCategoryTag(tag: string): Promise { if (!/^[가-힣a-zA-Z0-9\s_.-]+$/.test(cleanTag)) { window.Swal?.fire({ icon: 'warning', - title: '특수문자 제외', - text: '특수문자를 제외한 카테고리 이름을 입력해 주세요.', + title: ui("m_4907df8dbe60e7cc"), + text: ui("m_19823ed7547a358d"), toast: true, position: 'top-end', timer: 2000, @@ -1611,14 +1576,14 @@ async function addCategoryTag(tag: string): Promise { if (check.reason === 'admin_only') { window.Swal?.fire({ icon: 'warning', - title: '관리자 전용 카테고리', - text: `"${cleanTag}" 카테고리는 관리자만 적용할 수 있습니다.`, + title: ui("m_7d1389c0c9a517a1"), + text: ui("m_31429406550ed617", [cleanTag]), }); } else { window.Swal?.fire({ icon: 'warning', - title: '카테고리 사용 불가', - text: `"${cleanTag}" 카테고리는 사용할 수 없습니다.`, + title: ui("m_1b91634007da0f71"), + text: ui("m_07ad18c84a8945ca", [cleanTag]), }); } return; @@ -1778,14 +1743,14 @@ function showAutocomplete(query: string, type: 'link' | 'template'): void { function renderAutocompleteResults(): void { if (!wikiAc.div) return; if (wikiAc.results.length === 0) { - wikiAc.div.innerHTML = '
결과 없음
'; + wikiAc.div.innerHTML = ui("m_af9027f1a1dee91e"); return; } wikiAc.div.innerHTML = wikiAc.results.map((item, index) => `
${escapeHtml(item.slug)} - ${wikiAc.type === 'template' ? '틀' : '문서'} + ${wikiAc.type === 'template' ? '틀' : ui("m_50da0b175337961e")}
`).join(''); wikiAc.selectedIndex = 0; @@ -2146,7 +2111,7 @@ function attachAutocomplete(viaFallback = false): void { if (!editor || typeof editor.on !== 'function') return; _autocompleteAttached = true; if (viaFallback) { - console.warn('[edit] 자동완성이 폴링 안전망으로 부착됨 — 정상 트리거가 누락되었을 가능성. _attachAttempts=' + _attachAttempts); + console.warn(ui("m_b868014175376f4d") + _attachAttempts); } _resolveAutocompleteDivs(); diff --git a/packages/wiki-shared/src/editor/cm-shared.ts b/packages/wiki-shared/src/editor/cm-shared.ts index 7206ffd..4a0b86a 100644 --- a/packages/wiki-shared/src/editor/cm-shared.ts +++ b/packages/wiki-shared/src/editor/cm-shared.ts @@ -1,17 +1,4 @@ -// 위키 에디터(edit/main.ts)와 워크스페이스 에디터(pages/ws-edit.ts)가 공유하는 -// CodeMirror6 빌딩 블록 단일 소스. 두 에디터가 동일한 레이아웃·마크다운 하이라이트· -// 라이트/다크 테마·툴바 버튼 팩토리·서식 삽입 헬퍼를 쓰도록 일원화해, 과거 ws-edit 가 -// 보유하던 분기된 간소 사본(서로 다른 색/툴바/레이아웃)을 제거한다. -// -// CodeMirror 모듈은 두 진입점 모두 런타임 동적 import(esm.sh, vite external) 로 받으므로, -// 이 파일은 CM 을 static import 하지 않고 필요한 생성자(HighlightStyle/EditorView/tags)를 -// 인자로 받는다(번들에 CM 정적 의존성을 추가하지 않기 위함). - -/* eslint-disable @typescript-eslint/no-explicit-any */ - -// ── 마크다운 문법 하이라이트 스타일 (라이트/다크) ── -// 헤딩 폰트 크기는 cm-md-h* 라인 클래스(public/css/edit.css)가 줄 단위로 적용하므로 -// 여기서는 색/굵기만 지정한다(인라인 fontSize 중복 곱셈 방지). +import { ui } from '../i18n/client'; export function makeMarkdownHighlightStyles(HighlightStyle: any, t: any): { light: any; dark: any } { const light = HighlightStyle.define([ { tag: t.heading1, color: "#0550ae", fontWeight: "700" }, @@ -164,7 +151,7 @@ export function makeFormatHelpers(view: any): FormatHelpers { function wrapSelection(prefix: string, suffix: string) { const { main } = view.state.selection; const selected = view.state.sliceDoc(main.from, main.to); - const wrapped = prefix + (selected || '텍스트') + suffix; + const wrapped = prefix + (selected || ui("m_258ad4b095a1841b")) + suffix; view.dispatch({ changes: { from: main.from, to: main.to, insert: wrapped }, selection: { anchor: main.from + prefix.length, head: main.from + wrapped.length - suffix.length } @@ -180,7 +167,7 @@ export function makeFormatHelpers(view: any): FormatHelpers { function insertOrWrapWikiBlock(blockType: string) { const { main } = view.state.selection; const selected = view.state.sliceDoc(main.from, main.to); - const inner = selected || `{palette:primary}{stat:값1|라벨1}\n{palette:secondary}{stat:값2|라벨2}\n{palette:success}{stat:값3|라벨3}`; + const inner = selected || ui("m_48cec4d8d32e8c6f"); const lineStart = view.state.doc.lineAt(main.from); const lineEnd = view.state.doc.lineAt(main.to); const prefix = (main.from === lineStart.from) ? '' : '\n'; @@ -231,78 +218,78 @@ export function buildSharedToolbar( const insertText = opts.insertText; // ── 포맷 ── - toolbar.appendChild(createToolbarBtn('H', '제목', () => insertPrefix('## '))); - toolbar.appendChild(createToolbarBtn('B', '굵게', () => wrapSelection('**', '**'))); - toolbar.appendChild(createToolbarBtn('I', '기울임', () => wrapSelection('*', '*'))); - toolbar.appendChild(createToolbarBtn('S', '취소선', () => wrapSelection('~~', '~~'))); - toolbar.appendChild(createToolbarBtn('', '밑줄', () => wrapSelection('__', '__'))); + toolbar.appendChild(createToolbarBtn('H', ui("m_08b17e433630742b"), () => insertPrefix('## '))); + toolbar.appendChild(createToolbarBtn('B', ui("m_fba83d218eea748c"), () => wrapSelection('**', '**'))); + toolbar.appendChild(createToolbarBtn('I', ui("m_dd933ae8c2d8fac8"), () => wrapSelection('*', '*'))); + toolbar.appendChild(createToolbarBtn('S', ui("m_a862dac745e78146"), () => wrapSelection('~~', '~~'))); + toolbar.appendChild(createToolbarBtn('', ui("m_f88f8ea2b7099d9d"), () => wrapSelection('__', '__'))); // ==...== 는 형식 지정 캐리어라 단독으로는 강조가 없다(기본 형광펜 제거). 형광펜 버튼은 // 배경/글자색 토큰을 함께 감싸 실제 노란 형광펜을 만든다(bg·color 둘 다 지정 → 다크모드 가독성 안전). - toolbar.appendChild(createToolbarBtn('', '형광펜', () => wrapSelection('{bg:yellow}{color:black}==', '=='))); + toolbar.appendChild(createToolbarBtn('', ui("m_425c77dfa9261c85"), () => wrapSelection('{bg:yellow}{color:black}==', '=='))); toolbar.appendChild(createToolbarSep()); // ── 구분선/인용 ── - toolbar.appendChild(createToolbarBtn('─', '구분선', () => insertText('\n---\n'))); - toolbar.appendChild(createToolbarBtn('', '인용', () => insertPrefix('> '))); + toolbar.appendChild(createToolbarBtn('─', ui("m_d9488fcb2def80e5"), () => insertText('\n---\n'))); + toolbar.appendChild(createToolbarBtn('', ui("m_4a02004ab78c6f58"), () => insertPrefix('> '))); toolbar.appendChild(createToolbarSep()); // ── 목록 ── - toolbar.appendChild(createToolbarBtn('', '목록', () => insertPrefix('- '))); - toolbar.appendChild(createToolbarBtn('', '번호 목록', () => insertPrefix('1. '))); - toolbar.appendChild(createToolbarBtn('', '체크리스트', () => insertPrefix('- [ ] '))); + toolbar.appendChild(createToolbarBtn('', ui("m_f07b32009d77b4f6"), () => insertPrefix('- '))); + toolbar.appendChild(createToolbarBtn('', ui("m_f09a17e1297a71b2"), () => insertPrefix('1. '))); + toolbar.appendChild(createToolbarBtn('', ui("m_c1ccf498b9d46c70"), () => insertPrefix('- [ ] '))); toolbar.appendChild(createToolbarSep()); // ── 그리드/row ── - toolbar.appendChild(createToolbarBtn('', '그리드', () => insertOrWrapWikiBlock('grid'))); - toolbar.appendChild(createToolbarBtn('', 'row(가로 배치)', () => insertOrWrapWikiBlock('row'))); + toolbar.appendChild(createToolbarBtn('', ui("m_14a173232a613b6e"), () => insertOrWrapWikiBlock('grid'))); + toolbar.appendChild(createToolbarBtn('', ui("m_03084381746f9d3f"), () => insertOrWrapWikiBlock('row'))); toolbar.appendChild(createToolbarSep()); // ── 표 ── // setupTableInsertPopover(edit-modals.js)이 로드돼 있으면 팝오버를, 아니면 기본 스니펫을 삽입한다. // edit-modals.js 는 위키 에디터와 워크스페이스 에디터 모두 로드하므로 enableWikiModals 와 무관하다. - const tableBtn = createToolbarBtn('', '표', () => { }); + const tableBtn = createToolbarBtn('', ui("m_40ec1a2864faf2b4"), () => { }); toolbar.appendChild(tableBtn); if (typeof w.setupTableInsertPopover === 'function') { w.setupTableInsertPopover(tableBtn); } else { - tableBtn.addEventListener('click', () => insertText('\n| 머리글1 | 머리글2 |\n| --- | --- |\n| 셀1 | 셀2 |\n')); + tableBtn.addEventListener('click', () => insertText(ui("m_89c93f8d51cb6b27"))); } - toolbar.appendChild(createToolbarBtn('', '링크', () => wrapSelection('[', '](url)'))); + toolbar.appendChild(createToolbarBtn('', ui("m_3d54da9c8367da77"), () => wrapSelection('[', '](url)'))); toolbar.appendChild(createToolbarSep()); // ── 위키 문법 버튼(모달 비의존) ── - toolbar.appendChild(createToolbarBtn('[[ ]]', '위키 링크 삽입', () => insertText('[[문서제목]]'))); - toolbar.appendChild(createToolbarBtn('{{ }}', '틀 삽입', () => insertText('{{틀제목}}'))); - toolbar.appendChild(createToolbarBtn('[*]', '각주 삽입', () => insertText('[* 각주 내용]'))); - toolbar.appendChild(createToolbarBtn('', '펼치기 접기', () => insertText('[+ 펼치기/접기 제목]\n여기에 숨겨진 내용이 들어갑니다.\n[-]'))); + toolbar.appendChild(createToolbarBtn('[[ ]]', ui("m_b0b29ad61c3a4dbd"), () => insertText(ui("m_63a835c695516cf2")))); + toolbar.appendChild(createToolbarBtn('{{ }}', ui("m_6d7d3b4a3fb130a5"), () => insertText(ui("m_2fd9854b72b78403")))); + toolbar.appendChild(createToolbarBtn('[*]', ui("m_7d564631b75f58ca"), () => insertText(ui("m_90f5c358f338ef2c")))); + toolbar.appendChild(createToolbarBtn('', ui("m_eeb99d66983b2d76"), () => insertText(ui("m_6754eb453d1381b3")))); // ── edit-modals.js 에 의존하되 API 독립적인 버튼(위키·워크스페이스 공용) ── // window.* 함수가 아직 로드되지 않은 경우 optional chain 으로 no-op 처리한다. - toolbar.appendChild(createToolbarBtn('', '타임스탬프 삽입', () => w.openTimestampInsertModal?.())); + toolbar.appendChild(createToolbarBtn('', ui("m_59f567500d74d9da"), () => w.openTimestampInsertModal?.())); toolbar.appendChild(createToolbarSep()); - const specialCharBtn = createToolbarBtn('Ω', '특수문자 삽입', () => { }); + const specialCharBtn = createToolbarBtn('Ω', ui("m_aca561ad6616b9c6"), () => { }); toolbar.appendChild(specialCharBtn); if (typeof w.setupSpecialCharPicker === 'function') w.setupSpecialCharPicker(specialCharBtn); toolbar.appendChild(createToolbarSep()); if (w.selectedIconsOnly) { - toolbar.appendChild(createToolbarBtn('', '아이콘 삽입', () => w.openSelectedIconsPicker?.())); + toolbar.appendChild(createToolbarBtn('', ui("m_678e6857dbfa791e"), () => w.openSelectedIconsPicker?.())); } else { - toolbar.appendChild(createToolbarBtn('', 'MDI 아이콘', () => w.openIconPicker?.('mdi'))); - toolbar.appendChild(createToolbarBtn('', 'Bootstrap 아이콘', () => w.openIconPicker?.('bi'))); + toolbar.appendChild(createToolbarBtn('', ui("m_1f038fec36e3ef39"), () => w.openIconPicker?.('mdi'))); + toolbar.appendChild(createToolbarBtn('', ui("m_1d1a784d512f3d57"), () => w.openIconPicker?.('bi'))); } toolbar.appendChild(createToolbarSep()); - toolbar.appendChild(createToolbarBtn('', '카드 블록', () => w.openCardInsertModal?.())); - toolbar.appendChild(createToolbarBtn('', '탭 / 아코디언 / 진행상황', () => w.openStructureBlockInsertModal?.())); - toolbar.appendChild(createToolbarBtn('', '색상 삽입', () => w.openPaletteColorModal?.())); - toolbar.appendChild(createToolbarBtn('', '배지', () => w.openBadgeInsertModal?.())); + toolbar.appendChild(createToolbarBtn('', ui("m_418dde62ead8a731"), () => w.openCardInsertModal?.())); + toolbar.appendChild(createToolbarBtn('', ui("m_ce7f3924e442da20"), () => w.openStructureBlockInsertModal?.())); + toolbar.appendChild(createToolbarBtn('', ui("m_e43408e86524c8cc"), () => w.openPaletteColorModal?.())); + toolbar.appendChild(createToolbarBtn('', ui("m_57ff1b60f5b9be4b"), () => w.openBadgeInsertModal?.())); // ── 위키 전용 버튼(워크스페이스 문서 목록 / 검색 API 의존) ── if (opts.enableWikiModals) { - toolbar.appendChild(createToolbarBtn('', '하위 문서', () => w.openSubdocInsertModal?.())); + toolbar.appendChild(createToolbarBtn('', ui("m_a08b29f109b398dc"), () => w.openSubdocInsertModal?.())); } toolbar.appendChild(createToolbarSep()); // ── 코드 ── - toolbar.appendChild(createToolbarBtn('</>', '인라인 코드', () => wrapSelection('`', '`'))); - toolbar.appendChild(createToolbarBtn('', '코드 블록', () => wrapSelection('\n```\n', '\n```\n'))); + toolbar.appendChild(createToolbarBtn('</>', ui("m_8d79ff34d4f67a6e"), () => wrapSelection('`', '`'))); + toolbar.appendChild(createToolbarBtn('', ui("m_af4eb87c4024e6a8"), () => wrapSelection('\n```\n', '\n```\n'))); toolbar.appendChild(createToolbarSep()); - toolbar.appendChild(createToolbarBtn('', '구글 지도 삽입', () => w.openGoogleMapsEmbedModal?.())); + toolbar.appendChild(createToolbarBtn('', ui("m_e2cd97fd2dde76e7"), () => w.openGoogleMapsEmbedModal?.())); // ── 이미지 ── toolbar.appendChild(createToolbarSep()); @@ -310,7 +297,7 @@ export function buildSharedToolbar( if (imgBtn.mode === 'wiki-popup') { buildImageUploadPopupButton(toolbar, insertText); } else { - const btn = createToolbarBtn('', '이미지 업로드', () => imgBtn.handler()); + const btn = createToolbarBtn('', ui("m_cead00a863df4d5d"), () => imgBtn.handler()); btn.id = 'wsEditMediaBtn'; toolbar.appendChild(btn); } @@ -320,7 +307,7 @@ export function buildSharedToolbar( // window.handleImageUpload / window.openExistingImageSearch(edit-modals.js)에 의존한다. function buildImageUploadPopupButton(toolbar: HTMLElement, insertText: (text: string) => void): void { const w = window as any; - const imageUploadBtn = createToolbarBtn('', '이미지 업로드', () => { }); + const imageUploadBtn = createToolbarBtn('', ui("m_cead00a863df4d5d"), () => { }); toolbar.appendChild(imageUploadBtn); const insertImage = (url: string, alt: string, size?: string) => { @@ -332,16 +319,7 @@ function buildImageUploadPopupButton(toolbar: HTMLElement, insertText: (text: st const imgUploadPopup = document.createElement('div'); imgUploadPopup.className = 'img-upload-popup'; - imgUploadPopup.innerHTML = ` -
- -
이미지를 여기에 드래그하세요
-
또는 클릭하여 파일 선택
-
- - `; + imgUploadPopup.innerHTML = ui("m_bb515988d3b48720"); document.body.appendChild(imgUploadPopup); const imgDropzone = imgUploadPopup.querySelector('.img-upload-dropzone') as HTMLElement; @@ -413,7 +391,7 @@ function buildImageUploadPopupButton(toolbar: HTMLElement, insertText: (text: st const file = files[0]; const acceptTypes = ['image/jpeg', 'image/png', 'image/gif', 'image/webp', 'image/svg+xml']; if (!acceptTypes.includes(file.type)) { - w.Swal?.fire('오류', '지원하지 않는 파일 형식입니다.', 'warning'); + w.Swal?.fire(ui("m_b49f20d86148ddfd"), ui("m_9f4eb7d3aa1c1688"), 'warning'); return; } imgUploadPopup.classList.remove('active'); @@ -435,53 +413,11 @@ export function buildEditorLayoutHTML(opts: EditorLayoutOptions = {}): string { const slideZones = !!opts.slideZones; const tocFab = !!opts.tocFab; - const slideTop = slideZones ? ` - ` : ''; - const slideBottom = slideZones ? ` - - ` : ''; - const tocFabHtml = tocFab ? ` -
-
- 목차 -
- -
-
- -
` : ''; - - return ` -
-
- - -
-
-
-
${slideTop} -
${slideBottom} -
-
${tocFabHtml} -
-
- `; + const slideTop = slideZones ? ui("m_e556342b438d499f") : ''; + const slideBottom = slideZones ? ui("m_f02b935997f88b93") : ''; + const tocFabHtml = tocFab ? ui("m_ad517c180afa0165") : ''; + + return ui("m_b29c4d9dd8ee7fc7", [slideTop, slideBottom, tocFabHtml]); } // ── 모바일 탭(에디터/프리뷰) + PC 보기 모드(일반/작성/보기) 스위처 ── @@ -502,9 +438,9 @@ export interface TabSwitcher { } const PC_MODES: Record = { - split: { icon: 'mdi-view-split-vertical', label: '일반 모드', desc: '에디터 + 프리뷰' }, - edit: { icon: 'mdi-pencil', label: '작성 모드', desc: '에디터만' }, - preview: { icon: 'mdi-eye-outline', label: '보기 모드', desc: '프리뷰만' }, + split: { icon: 'mdi-view-split-vertical', label: ui("m_e641c71c0d190e8a"), desc: ui("m_aa91acdd84951b8f") }, + edit: { icon: 'mdi-pencil', label: ui("m_41b56eb1bf8a1682"), desc: ui("m_70112194ffe3dda1") }, + preview: { icon: 'mdi-eye-outline', label: ui("m_868dabeaade8d9d4"), desc: ui("m_e07317efd9062e52") }, }; // 워크스페이스 에디터용 경량 탭/모드 스위처. cm-toolbar 끝에 PC 모드 드롭다운 버튼을 @@ -539,7 +475,7 @@ export function setupTabSwitcher( let currentPcMode: 'split' | 'edit' | 'preview' = 'split'; const modeBtn = createToolbarBtn( ``, - '보기 방식 전환', + ui("m_d294c765583f8080"), () => toggleModePanel() ); modeBtn.id = 'cm-mode-btn'; @@ -618,7 +554,7 @@ export function setupTabSwitcher( else layoutEl.dataset.pcMode = mode; const m = PC_MODES[mode]; modeBtn.innerHTML = ``; - modeBtn.title = `보기 방식: ${m.label}`; + modeBtn.title = ui("m_636e9d2eec6f82bc", [m.label]); modeBtn.classList.toggle('active', mode !== 'split'); if (mode !== 'edit') opts.onPreviewShown?.(); opts.onModeChange?.(mode); diff --git a/packages/wiki-shared/src/editor/image.ts b/packages/wiki-shared/src/editor/image.ts index af961cb..f02f1ad 100644 --- a/packages/wiki-shared/src/editor/image.ts +++ b/packages/wiki-shared/src/editor/image.ts @@ -1,29 +1,4 @@ -/** - * 이미지 업로드 / 기존 이미지 검색 / 이미지 편집기 (크롭 + 90도 회전, 터치 지원). - * 기존 public/js/edit-image.js 의 ES 모듈 이전. - * - * edit.html / blog-edit.html 양쪽에서 로드 (양 페이지 동일한 #imageEditorModal 마크업). - * - * 외부 노출 (브리지): - * - window.openExistingImageSearch(callback) ← edit.js 가 호출 - * - window.handleImageUpload(blob, callback) ← edit.js 가 호출 - * - * ImageEditor 는 모듈 내부에서만 사용 (handleImageUpload 가 직접 참조). 외부 어떤 - * raw script 도 ImageEditor 글로벌을 직접 사용하지 않음을 grep 으로 확인했으므로 - * window 노출 불필요. - * - * 외부 의존: - * - window.Swal (CDN sweetalert2) - * - window.mountMediaTagInput (common.js) - * - window.bootstrap.Modal (CDN bootstrap) - * - DOM: #imageEditorModal 외 (edit.html / blog-edit.html 양쪽 동일) - * - * 모듈 평가 타이밍: - * type="module" 스크립트는 deferred — 모든 classic top-level 실행 후, 어떤 - * DOMContentLoaded 핸들러보다 앞이다. 따라서 브리지 노출과 ImageEditor 의 - * 내부 setTimeout(init, 300) 모두 안전. - */ - +import { ui } from '../i18n/client'; import './types'; import type { MediaTagWidget } from './types'; @@ -112,41 +87,15 @@ async function openExistingImageSearch(callback: ImageInsertCallback): Promise - -
- -
- `; + const tagFilterHtml = _searchFetcher ? '' : ui("m_13ef923140bdadfe"); await Swal.fire({ - title: '기존 이미지 검색', + title: ui("m_28eb97fae6405a87"), width: 720, showCancelButton: true, showConfirmButton: false, - cancelButtonText: '닫기', - html: ` -
- - ${tagFilterHtml} -
-
- -
- `, + cancelButtonText: ui("m_1e8c10206f5b35bd"), + html: ui("m_4e4aa3dda3ff54ae", [tagFilterHtml]), didOpen: () => { const input = document.getElementById('existingImgSearchInput') as HTMLInputElement | null; const searchBtn = document.getElementById('existingImgSearchBtn'); @@ -219,7 +168,7 @@ async function openExistingImageSearch(callback: ImageInsertCallback): Promise ({})) as MediaSearchResponse; - throw new Error(data.error || '검색 실패'); + throw new Error(data.error || ui("m_e92a0544c85716d0")); } const data = await res.json() as MediaSearchResponse; resultTotal = data.total || 0; @@ -235,8 +184,8 @@ async function openExistingImageSearch(callback: ImageInsertCallback): Promise 0 - ? `총 ${total}개 중 ${items.length}개 표시` - : '결과가 없습니다.'; + ? ui("m_2d0270718450107d", [total, items.length]) + : ui("m_7ec78a5826a6fbcf"); moreWrap.style.display = finished ? 'none' : ''; } catch (err) { const msg = err instanceof Error ? err.message : String(err); @@ -251,7 +200,7 @@ async function openExistingImageSearch(callback: ImageInsertCallback): Promise'; return; } @@ -262,7 +211,7 @@ async function openExistingImageSearch(callback: ImageInsertCallback): Promise 4) ? `+${m.tags.length - 4}` : ''; const tagLine = (m.tags && m.tags.length) ? `
${tagBadges}${extra}
` : ''; const titleAttr = (m.tags && m.tags.length) - ? `${m.filename}\n태그: ${m.tags.join(', ')}` + ? ui("m_bb909f283a1fc5c9", [m.filename, m.tags.join(', ')]) : m.filename; return `
@@ -288,22 +237,11 @@ async function openExistingImageSearch(callback: ImageInsertCallback): Promise { const result = await Swal!.fire({ - title: '이미지 크기 선택', - html: ` -
- ${escapeHtml(picked.filename)} -
${escapeHtml(picked.filename)}
-
-
- - - - -
- `, + title: ui("m_b1ebd39a6e828143"), + html: ui("m_067ee424bdc93ea7", [escapeHtml(picked.url), escapeHtml(picked.filename), escapeHtml(picked.filename)]), showCancelButton: true, - confirmButtonText: '삽입', - cancelButtonText: '취소', + confirmButtonText: ui("m_0d635eda295a08c8"), + cancelButtonText: ui("m_be876433993ab7ba"), preConfirm: () => { const sel = document.querySelector('input[name="existingImgSize"]:checked'); return sel ? sel.value : 'full'; @@ -337,15 +275,15 @@ type FilenameValidation = function validateUploadFilenameClient(raw: string): FilenameValidation { const normalized = normalizeUploadFilename(raw); if (!normalized) { - return { ok: false, error: '파일명을 입력해주세요.' }; + return { ok: false, error: ui("m_a55030239d03452b") }; } const matches = normalized.match(FILENAME_FORBIDDEN_CHARS); if (matches) { const unique = Array.from(new Set(matches)).join(' '); - return { ok: false, error: `파일명에 사용할 수 없는 문자가 있습니다: ${unique}` }; + return { ok: false, error: ui("m_ab2e0b9772ce93a3", [unique]) }; } if (normalized.length > FILENAME_MAX_LENGTH) { - return { ok: false, error: `파일명은 최대 ${FILENAME_MAX_LENGTH}자까지 입력할 수 있습니다.` }; + return { ok: false, error: ui("m_c9c598c90e74c0b2", [FILENAME_MAX_LENGTH]) }; } return { ok: true, value: normalized }; } @@ -362,7 +300,7 @@ async function handleImageUpload( const Swal = window.Swal; if (blob.size > 15 * 1024 * 1024) { - Swal?.fire('오류', '파일 크기는 15MB 이하만 허용됩니다.', 'warning'); + Swal?.fire(ui("m_b49f20d86148ddfd"), ui("m_b338a7efc6ad1e66"), 'warning'); return; } @@ -375,7 +313,7 @@ async function handleImageUpload( | { sanitize(dirty: string, cfg?: Record): string } | undefined; if (!DOMPurify || typeof DOMPurify.sanitize !== 'function') { - Swal?.fire('오류', 'SVG 보안 정제 라이브러리를 로드할 수 없습니다. 페이지를 새로고침 후 다시 시도해주세요.', 'error'); + Swal?.fire(ui("m_b49f20d86148ddfd"), ui("m_eba914ae07bfbadf"), 'error'); return; } const svgText = await (workingBlob as File).text(); @@ -397,32 +335,20 @@ async function handleImageUpload( const initialNormalized = normalizeUploadFilename(nameWithoutExt); const nameDefaultAttr = escapeHtml(initialNormalized || nameWithoutExt); const FILENAME_HELP_DEFAULT = - '공백은 - 로 변환되고, 양 끝의 공백·- 는 제거됩니다. ' + + ui("m_16a254e99098adf0") + '[ ] ( ) # % | ' + - '< > ^ / \\ . ? 는 사용할 수 없습니다.'; + ui("m_5d704cd6c4bfa10f"); const showTags = !_searchFetcher; - const tagSectionHtml = showTags ? ` - -
- -
-
한글/영문/숫자/공백/_/./- 만 사용 가능 · 최대 20개
` : ''; + const tagSectionHtml = showTags ? ui("m_a1f6b16b2c3b2a38") : ''; let tagWidget: MediaTagWidget | null = null; const result = await (Swal?.fire<{ filename: string; tags: string[] }>({ - title: '이미지 업로드', - html: ` -
- - -
${FILENAME_HELP_DEFAULT}
- ${tagSectionHtml} -
- `, + title: ui("m_cead00a863df4d5d"), + html: ui("m_ba18fae2953eebf1", [nameDefaultAttr, FILENAME_HELP_DEFAULT, tagSectionHtml]), showCancelButton: true, - confirmButtonText: '업로드', - cancelButtonText: '취소', + confirmButtonText: ui("m_0a1ac7eec7b927f7"), + cancelButtonText: ui("m_be876433993ab7ba"), focusConfirm: false, didOpen: () => { const fnInput = document.getElementById('uploadFilenameInput') as HTMLInputElement | null; @@ -449,7 +375,7 @@ async function handleImageUpload( fnFeedback.innerHTML = FILENAME_HELP_DEFAULT; fnFeedback.className = 'form-text text-muted'; } else { - fnFeedback.innerHTML = `저장될 파일명: ${escapeHtml(v.value)}`; + fnFeedback.innerHTML = ui("m_e6481000e178501b", [escapeHtml(v.value)]); fnFeedback.className = 'form-text text-success'; } }; @@ -498,7 +424,7 @@ async function handleImageUpload( if (!res.ok) { const data = await res.json() as MediaUploadResponse; - throw new Error(data.error || '업로드 실패'); + throw new Error(data.error || ui("m_f302c6e835b3628e")); } const data = await res.json() as MediaUploadResponse; @@ -509,7 +435,7 @@ async function handleImageUpload( } catch (err) { const msg = err instanceof Error ? err.message : String(err); console.error(err); - Swal?.fire('오류', msg, 'error'); + Swal?.fire(ui("m_b49f20d86148ddfd"), msg, 'error'); } } @@ -579,7 +505,7 @@ const ImageEditor = (() => { selectedSize = 'full'; const toggleBtn = document.getElementById('btnImgEditorSizeToggle'); if (toggleBtn) { - toggleBtn.innerHTML = '크게(기본)'; + toggleBtn.innerHTML = ui("m_6de19876d0e0a5c0"); } const cropOverlay = document.getElementById('cropOverlay') as HTMLElement | null; if (cropOverlay) cropOverlay.style.display = 'none'; @@ -716,7 +642,7 @@ const ImageEditor = (() => { const sh = Math.round(crop.h * scaleY); if (sw < 10 || sh < 10) { - window.Swal?.fire('오류', '크롭 영역이 너무 작습니다.', 'warning'); + window.Swal?.fire(ui("m_b49f20d86148ddfd"), ui("m_1ef78e7f5b9a3e71"), 'warning'); return; } diff --git a/packages/wiki-shared/src/editor/summary.ts b/packages/wiki-shared/src/editor/summary.ts index 17a7256..76ee6ad 100644 --- a/packages/wiki-shared/src/editor/summary.ts +++ b/packages/wiki-shared/src/editor/summary.ts @@ -1,38 +1,4 @@ -/** - * 편집 요약 자동 작성 (기존 public/js/edit-summary.js 의 ES 모듈 이전). - * - * 자동요약은 더 이상 summaryInput 입력 칸에 표시하지 않는다. refreshAutoSummary 가 - * 백그라운드에서 자동요약을 재계산해 모듈 변수(currentAutoSummary)에 보관하고, - * 저장 시점에 main.ts / ws-edit.ts 가 getAutoEditSummary() 로 읽어 - * "<사용자입력> / <자동요약>" 형식으로 병합한다(둘 중 하나만 있으면 해당 부분만). - * 입력 칸(summaryInput)은 사용자 입력 전용이며 maxlength 길이 제한은 사용자 - * 입력분에만 적용된다. 병합되는 자동요약분에는 길이 제한을 적용하지 않는다. - * - * 자동요약 규칙: - * - 섹션 편집 모드: "'<섹션 헤딩 텍스트>' 편집" - * 헤딩 텍스트 자체가 바뀌면 "'OLD' → 'NEW' 섹션 이름 변경" - * 섹션 내부 하위 헤딩 추가/삭제도 합성 - * "하위 문서로 분리" 가 수행된 직후에는 - * "'<헤딩>' 섹션을 '<신규 슬러그>' 하위 문서로 분리" 로 덮어쓴다 - * (window.splitSubdocInfo 신호 — main.ts 가 set). - * - 신규 문서: "문서 생성" - * - 기존 문서: 카테고리 추가/삭제, 넘겨주기 설정/해제, 관리자 전용(잠금) 변경, - * 본문 헤딩 추가/삭제/이름 변경, - * 공통 섹션 본문 편집("섹션 'X' 편집") 을 합성 - * - * 사용자가 에디터 설정에서 자동 작성을 끄면(localStorage editor_auto_summary = "false") - * refreshAutoSummary 가 보관된 자동요약을 비우고 즉시 종료한다(병합 없음). - * - * 브리지 (raw script ↔ ESM): - * - 출력: window.refreshAutoSummary(백그라운드 재계산) / window.getAutoEditSummary(병합용 읽기) 노출. - * - 입력: edit-utils 모듈이 초기화한 window.X 상태(originalContent, editor, - * sectionMode, sectionRange, originalPageMeta) + edit-autocomplete.js 의 - * var 글로벌(categoryTags) + render.js 의 _extractMarkdownSectionRanges - * 를 읽는다. 모든 공유 Window 프로퍼티 선언은 src/client/edit/types.ts 가 - * 단일 소스이며, 본 모듈은 import 만 한다. - */ - -// types.ts 의 declare global { Window {...} } 가 본 모듈 컨텍스트로 들어오도록 import. +import { ui } from '../i18n/client'; import './types'; declare global { @@ -186,7 +152,7 @@ function formatHeadingList(items: T[], mapToLabel: (item: T) => string): stri const labels = items.map(mapToLabel); if (labels.length <= HEADING_LIST_CAP) return labels.join(', '); const head = labels.slice(0, HEADING_LIST_CAP).join(', '); - return `${head} 외 ${labels.length - HEADING_LIST_CAP}개`; + return ui("m_37a35f695d13de6a", [head, labels.length - HEADING_LIST_CAP]); } function buildHeadingDiffParts( @@ -194,22 +160,22 @@ function buildHeadingDiffParts( currHeadings: HeadingForSummary[], opts?: BuildHeadingDiffOptions, ): string[] { - const labelPrefix = (opts && opts.labelPrefix) || '섹션'; + const labelPrefix = (opts && opts.labelPrefix) || ui("m_6d3d57e31f94600e"); const includeBodyEdits = !!(opts && opts.includeBodyEdits); const diff = diffHeadings(origHeadings, currHeadings); const parts: string[] = []; if (diff.renamed.length === 1) { const r = diff.renamed[0]; - parts.push(`${labelPrefix} '${r.from}' → '${r.to}' 이름 변경`); + parts.push(ui("m_e31c881e16db95c5", [labelPrefix, r.from, r.to])); } else if (diff.renamed.length > 1) { const list = formatHeadingList(diff.renamed, r => `'${r.from}' → '${r.to}'`); - parts.push(`${labelPrefix} 이름 변경 ${list}`); + parts.push(ui("m_e7a8a42e031bf6ea", [labelPrefix, list])); } if (diff.added.length) { - parts.push(`${labelPrefix} ${formatHeadingList(diff.added, h => `'${h.text}'`)} 추가`); + parts.push(ui("m_2f18f2b811bf77a0", [labelPrefix, formatHeadingList(diff.added, h => `'${h.text}'`)])); } if (diff.removed.length) { - parts.push(`${labelPrefix} ${formatHeadingList(diff.removed, h => `'${h.text}'`)} 삭제`); + parts.push(ui("m_f5adc7cae0cf6975", [labelPrefix, formatHeadingList(diff.removed, h => `'${h.text}'`)])); } // 헤딩이 동일한(공통) 섹션의 본문이 바뀐 경우 "섹션 'X' 편집" 으로 보고. // 부모-자식 섹션이 같은 변화로 중복 표시되는 잡음을 피하려고 own-body @@ -224,7 +190,7 @@ function buildHeadingDiffParts( } } if (edited.length) { - parts.push(`${labelPrefix} ${formatHeadingList(edited, h => `'${h.text}'`)} 편집`); + parts.push(ui("m_aef0755c90fc2f17", [labelPrefix, formatHeadingList(edited, h => `'${h.text}'`)])); } } return parts; @@ -259,7 +225,7 @@ function formatLineDiffStats(orig: string, curr: string): string { const oldN = countLines(orig); const newN = countLines(curr); if (oldN === newN) return ''; - return newN > oldN ? `[+${newN - oldN}줄]` : `[-${oldN - newN}줄]`; + return newN > oldN ? ui("m_0ce908153b8c4723", [newN - oldN]) : ui("m_28f4885ee4cc6f4d", [oldN - newN]); } const Diff = window.Diff; if (!Diff || typeof Diff.diffLines !== 'function') return ''; @@ -279,9 +245,9 @@ function formatLineDiffStats(orig: string, curr: string): string { return ''; } if (!added && !removed) return ''; - if (added && removed) return `[+${added}줄 -${removed}줄]`; - if (added) return `[+${added}줄]`; - return `[-${removed}줄]`; + if (added && removed) return ui("m_4a3f2ae942af04cc", [added, removed]); + if (added) return ui("m_0ce908153b8c4723", [added]); + return ui("m_28f4885ee4cc6f4d", [removed]); } function appendLineStats(summary: string, stats: string): string { @@ -318,9 +284,9 @@ function buildAutoEditSummary(): string { const headingRemoved = editorAvailable && !topHeading; const origSub = getOriginalHeadingsForSummary().slice(1); const currSub = headingRemoved ? currHeadings : currHeadings.slice(1); - const subParts = buildHeadingDiffParts(origSub, currSub, { labelPrefix: '하위 섹션' }); - let prefix = `'${baseHeading}' 섹션을 '${splitInfo.newTitle}' 하위 문서로 분리`; - if (headingRemoved) prefix += ", 섹션 헤딩 삭제"; + const subParts = buildHeadingDiffParts(origSub, currSub, { labelPrefix: ui("m_c10e2eaa0268650c") }); + let prefix = ui("m_f359d66813daa42f", [baseHeading, splitInfo.newTitle]); + if (headingRemoved) prefix += ui("m_e1f660558dd31528"); if (subParts.length) prefix += ', ' + subParts.join(', '); const sectionStats = editorAvailable ? formatLineDiffStats(window.originalContent || '', currentContent) @@ -351,17 +317,17 @@ function buildAutoEditSummary(): string { // 첫 항목(섹션 헤딩) 을 제외한 나머지를 비교한다. const origSub = getOriginalHeadingsForSummary().slice(1); const currSub = sectionStatus === 'removed' ? currHeadings : currHeadings.slice(1); - const subParts = buildHeadingDiffParts(origSub, currSub, { labelPrefix: '하위 섹션' }); + const subParts = buildHeadingDiffParts(origSub, currSub, { labelPrefix: ui("m_c10e2eaa0268650c") }); let prefix: string; if (sectionStatus === 'removed') { - prefix = `'${baseHeading}' 섹션 헤딩 삭제`; + prefix = ui("m_985a5f979ef19c05", [baseHeading]); } else if (sectionStatus === 'level') { - prefix = `'${baseHeading}' 섹션 레벨 변경 (H${baseLevel} → H${newLevel})`; + prefix = ui("m_cc11371b5a1dcf37", [baseHeading, baseLevel, newLevel]); } else if (sectionStatus === 'renamed') { - prefix = `'${baseHeading}' → '${newText}' 섹션 이름 변경`; + prefix = ui("m_8a12bc762ca4fdd5", [baseHeading, newText]); } else { - prefix = `'${baseHeading}' 편집`; + prefix = ui("m_3ce84c749766490c", [baseHeading]); } if (subParts.length) prefix += ', ' + subParts.join(', '); const sectionStats = editorAvailable @@ -374,7 +340,7 @@ function buildAutoEditSummary(): string { const originalPageMeta = window.originalPageMeta; if (!originalPageMeta) { const newDocStats = editorAvailable ? formatLineDiffStats('', currentContent) : ''; - return appendLineStats('문서 생성', newDocStats); + return appendLineStats(ui("m_ba5f59098d850c32"), newDocStats); } const origCats = originalPageMeta.category @@ -400,21 +366,21 @@ function buildAutoEditSummary(): string { const parts: string[] = []; if (origTitle !== currTitle) { - if (!origTitle) parts.push(`대체 제목 '${currTitle}' 설정`); - else if (!currTitle) parts.push(`대체 제목 '${origTitle}' 해제`); - else parts.push(`대체 제목 '${origTitle}' → '${currTitle}' 변경`); + if (!origTitle) parts.push(ui("m_ae5e8a60a5e184d7", [currTitle])); + else if (!currTitle) parts.push(ui("m_2edd189025428bf6", [origTitle])); + else parts.push(ui("m_8c7c679e495c64d0", [origTitle, currTitle])); } - if (added.length) parts.push(`분류 ${added.map(c => `'${c}'`).join(', ')} 추가`); - if (removed.length) parts.push(`분류 ${removed.map(c => `'${c}'`).join(', ')} 삭제`); + if (added.length) parts.push(ui("m_6c44f3d4ed564acf", [added.map(c => `'${c}'`).join(', ')])); + if (removed.length) parts.push(ui("m_5a040009152a8117", [removed.map(c => `'${c}'`).join(', ')])); if (origRedirect !== currRedirect) { - parts.push(currRedirect ? `넘겨주기 '${currRedirect}' 설정` : '넘겨주기 해제'); + parts.push(currRedirect ? ui("m_23a212a1e65a49ad", [currRedirect]) : ui("m_f6fbe6e758da10c3")); } if (editorAvailable) { const currHeadings = extractHeadingsForSummary(currentContent); const origHeadings = getOriginalHeadingsForSummary(); const headingParts = buildHeadingDiffParts(origHeadings, currHeadings, { - labelPrefix: '섹션', + labelPrefix: ui("m_6d3d57e31f94600e"), includeBodyEdits: true, }); for (const p of headingParts) parts.push(p); @@ -425,7 +391,7 @@ function buildAutoEditSummary(): string { if (!headingParts.length && parts.length === 0 && origHeadings.length === 0 && currHeadings.length === 0 && (window.originalContent || '') !== (currentContent || '')) { - parts.push('본문 편집'); + parts.push(ui("m_8029674526ac2912")); } } diff --git a/packages/wiki-shared/src/editor/table-toolbar.ts b/packages/wiki-shared/src/editor/table-toolbar.ts index b15cc51..15854cb 100644 --- a/packages/wiki-shared/src/editor/table-toolbar.ts +++ b/packages/wiki-shared/src/editor/table-toolbar.ts @@ -1,23 +1,4 @@ -/** - * 표 안 커서 위에 떠 있는 통합 인라인 편집 툴바. - * - * 마크다운 표(GFM 파이프 + 위키 고유 셀 병합 토큰)에 커서가 들어가면 셀 바로 위에 - * 정렬·행/열 추가/삭제 + (빈 셀일 때) 셀 병합 토큰 4종 + 색상 삽입 버튼을 띄운다. - * 색상 삽입은 기존 에디터 툴바의 `openPaletteColorModal()` 을 그대로 재호출해 - * 동일한 팔레트/커스텀 색상 모달을 띄운다. - * - * 외부 의존성: - * - window._cmView (CodeMirror6 EditorView; main.ts 가 생성) - * - window.openPaletteColorModal (edit/modals.ts 가 노출하는 색상 삽입 모달) - * - * 노출 글로벌: - * - window.setupTableToolbar() → { update, hide } 핸들. main.ts 의 updateListener / - * blurHandler 가 호출. - * - * 위치 계산 / 표 블록 감지 로직은 기존 main.ts 의 `cellMergeToolbar` 블록을 흡수·확장한 - * 것이다. - */ - +import { ui } from '../i18n/client'; import './types'; // CodeMirror6 EditorView. npm 미설치 + codemirror.d.ts shim 이라 type 만 any 로 둔다. @@ -330,34 +311,7 @@ function buildToolbarEl(): ToolbarRefs { const el = document.createElement('div'); el.className = 'cm-cell-merge-toolbar cm-table-toolbar'; el.style.display = 'none'; - el.innerHTML = ` -
- - - -
-
-
- - - -
-
-
- - - -
-
-
- - - - -
-
- - `; + el.innerHTML = ui("m_731818359bf928c3"); const alignBtns = { left: el.querySelector('[data-action="align-left"]')!, center: el.querySelector('[data-action="align-center"]')!, diff --git a/packages/wiki-shared/src/editor/utils.ts b/packages/wiki-shared/src/editor/utils.ts index b5321fe..3bf9051 100644 --- a/packages/wiki-shared/src/editor/utils.ts +++ b/packages/wiki-shared/src/editor/utils.ts @@ -35,6 +35,7 @@ * 글로벌 property 쓰기로 동작 — 모든 raw script 에 'use strict' 없음 확인됨. */ +import { ui } from '../i18n/client'; import { escapeHtml } from '../ui/html'; import './types'; import type { CMView, DraftPayload, SectionRange } from './types'; @@ -82,16 +83,16 @@ function fmtCount(n: number): string { } function setCheapCounts(els: CounterEls, lines: number, charsWithSpaces: number): void { - if (els.lines) els.lines.textContent = `${fmtCount(lines)}줄`; - if (els.charsWithSpaces) els.charsWithSpaces.textContent = `${fmtCount(charsWithSpaces)}자(공백포함)`; + if (els.lines) els.lines.textContent = ui("m_6d483574d6f62c82", [fmtCount(lines)]); + if (els.charsWithSpaces) els.charsWithSpaces.textContent = ui("m_6677dacfda7bd1cf", [fmtCount(charsWithSpaces)]); } function setHeavyCountsFromText(els: CounterEls, str: string): void { const chars = str.replace(/\s/g, '').length; const trimmed = str.trim(); const words = trimmed ? trimmed.split(/\s+/).length : 0; - if (els.chars) els.chars.textContent = `${fmtCount(chars)}자`; - if (els.words) els.words.textContent = `${fmtCount(words)}단어`; + if (els.chars) els.chars.textContent = ui("m_3f461b232fc684b2", [fmtCount(chars)]); + if (els.words) els.words.textContent = ui("m_6f884f72025f6d53", [fmtCount(words)]); } function cancelHeavy(): void { @@ -427,7 +428,7 @@ function saveDraftToLocal(): boolean { if (!content || !content.trim()) { window.Swal?.fire({ icon: 'info', - title: '저장할 내용이 없습니다', + title: ui("m_f5c3734f1842d175"), timer: 1200, showConfirmButton: false, }); @@ -449,8 +450,8 @@ function saveDraftToLocal(): boolean { localStorage.setItem(draftKey, JSON.stringify(payload)); window.Swal?.fire({ icon: 'success', - title: '초안 저장됨', - text: '이 브라우저에 임시 저장했습니다.', + title: ui("m_ffe73dd0b9913359"), + text: ui("m_4a0c4ffb632258ff"), toast: true, position: 'top-end', timer: 1500, @@ -460,8 +461,8 @@ function saveDraftToLocal(): boolean { } catch { window.Swal?.fire({ icon: 'error', - title: '초안 저장 실패', - text: '브라우저 저장소에 기록할 수 없습니다. (용량 초과 가능성)', + title: ui("m_e25992f8b1b64bc7"), + text: ui("m_0d3fa0fb13f01944"), }); return false; } @@ -525,12 +526,12 @@ async function checkDraft(): Promise { if (versionChanged) { const result = await swal.fire({ - title: '문서가 그 사이 편집되었습니다', - text: '마지막으로 초안을 저장한 이후 문서가 편집되었습니다. 초안을 불러오시겠습니까?', + title: ui("m_02d29b4444c4bc35"), + text: ui("m_8c6275b0525f518a"), icon: 'warning', showCancelButton: true, - confirmButtonText: '예, 불러오기 (충돌 해결)', - cancelButtonText: '아니오, 초안 삭제', + confirmButtonText: ui("m_8673367aa168346a"), + cancelButtonText: ui("m_644e6e73401bc4b5"), }); if (!result.isConfirmed) { localStorage.removeItem(draftKey); @@ -618,12 +619,12 @@ async function checkDraft(): Promise { // 버전 동일 → 평소처럼 불러오기 여부만 확인 const result = await swal.fire({ - title: '저장된 초안이 있습니다', - text: '이전에 저장한 초안을 불러오시겠습니까?', + title: ui("m_81d70d3ce436e08d"), + text: ui("m_3debe2c26e180005"), icon: 'info', showCancelButton: true, - confirmButtonText: '예, 불러오기', - cancelButtonText: '아니오, 삭제', + confirmButtonText: ui("m_4615af86275a1ed2"), + cancelButtonText: ui("m_ca8ae38121505dba"), }); if (result.isConfirmed) { @@ -631,8 +632,8 @@ async function checkDraft(): Promise { window.scrollToBottom?.(); await swal.fire({ icon: 'success', - title: '불러옴', - text: '저장된 초안을 불러왔습니다.', + title: ui("m_4b6e64b01208ec5b"), + text: ui("m_dd15748fb340ff41"), toast: true, position: 'top-end', timer: 1500, @@ -699,7 +700,7 @@ async function checkSectionDrafts(): Promise { // 불러와 에디터 내용을 바꿨을 수도 있으므로 originalContent 가 아닌 editor 기준이 안전하다. const baseContent = editor.getMarkdown(); const range: SectionRange | null = findSectionRange(baseContent, sIdx, sHeading); - const headingDisplay = (range && range.headingText) || sHeading || `섹션 #${sIdx + 1}`; + const headingDisplay = (range && range.headingText) || sHeading || ui("m_dbfe8bc53f299dac", [sIdx + 1]); // 현재 본문의 해당 섹션 텍스트와 초안이 동일하면 의미 없음 — 정리 if (range) { @@ -713,26 +714,26 @@ async function checkSectionDrafts(): Promise { if (!range) { const result = await swal.fire({ - title: '섹션 위치를 찾지 못했습니다', - html: `${escapeHtml(headingDisplay)} 섹션의 저장된 초안이 있지만 문서 구조가 변경되어 위치를 찾을 수 없습니다.`, + title: ui("m_bb23db5abfb5746e"), + html: ui("m_8857aa2850c69203", [escapeHtml(headingDisplay)]), icon: 'warning', showCancelButton: true, - confirmButtonText: '초안 삭제', - cancelButtonText: '나중에', + confirmButtonText: ui("m_15a73ae33375c3b1"), + cancelButtonText: ui("m_a12252500035668f"), }); if (result.isConfirmed) localStorage.removeItem(key); continue; } const result = await swal.fire({ - title: '저장된 섹션 초안', - html: `${escapeHtml(headingDisplay)} 에 저장된 초안이 있습니다.
본문에 불러오시겠습니까?`, + title: ui("m_9ec3652c9d614929"), + html: ui("m_6506287817248afd", [escapeHtml(headingDisplay)]), icon: 'info', showCancelButton: true, showDenyButton: true, - confirmButtonText: '예, 불러오기', - denyButtonText: '아니오, 삭제', - cancelButtonText: '나중에', + confirmButtonText: ui("m_4615af86275a1ed2"), + denyButtonText: ui("m_ca8ae38121505dba"), + cancelButtonText: ui("m_a12252500035668f"), }); if (result.isConfirmed) { @@ -741,8 +742,8 @@ async function checkSectionDrafts(): Promise { localStorage.removeItem(key); await swal.fire({ icon: 'success', - title: '불러옴', - text: `'${headingDisplay}' 섹션 초안을 본문에 병합했습니다.`, + title: ui("m_4b6e64b01208ec5b"), + text: ui("m_a1a6f7bd639bc549", [headingDisplay]), toast: true, position: 'top-end', timer: 1500, diff --git a/packages/wiki-shared/src/i18n/client.ts b/packages/wiki-shared/src/i18n/client.ts new file mode 100644 index 0000000..5128f4e --- /dev/null +++ b/packages/wiki-shared/src/i18n/client.ts @@ -0,0 +1,30 @@ +import { DEFAULT_LOCALE, LOCALE_COOKIE, normalizeLocale, translate, type Locale } from './core'; + +export function getLocale(): Locale { + // Shared helpers can also be imported in Workers and service workers. + if (typeof document === 'undefined') return DEFAULT_LOCALE; + return normalizeLocale(document.documentElement.lang) ?? DEFAULT_LOCALE; +} + +export function ui(key: string, values: readonly unknown[] = []): string { + return translate(key, getLocale(), values); +} + +export function setLocale(locale: Locale): void { + if (typeof document === 'undefined') return; + document.cookie = `${LOCALE_COOKIE}=${locale}; Path=/; Max-Age=31536000; SameSite=Lax${location.protocol === 'https:' ? '; Secure' : ''}`; + const url = new URL(location.href); + url.searchParams.set('lang', locale); + location.assign(url.href); +} + +export function initI18n(): void { + (globalThis as typeof globalThis & { VireoI18n?: { ui: typeof ui; getLocale: typeof getLocale } }).VireoI18n = { ui, getLocale }; + document.querySelectorAll('[data-language-selector]').forEach(select => { + select.value = getLocale(); + select.addEventListener('change', () => { + const locale = normalizeLocale(select.value); + if (locale) setLocale(locale); + }); + }); +} diff --git a/packages/wiki-shared/src/i18n/core.ts b/packages/wiki-shared/src/i18n/core.ts new file mode 100644 index 0000000..2f69292 --- /dev/null +++ b/packages/wiki-shared/src/i18n/core.ts @@ -0,0 +1,31 @@ +import zh from './zh-CN.json'; +import en from './en.json'; +import source from './source.json'; + +export type Locale = 'zh-CN' | 'en'; +export const DEFAULT_LOCALE: Locale = 'zh-CN'; +export const LOCALE_COOKIE = 'vireo_locale'; +export const catalogs: Record> = { 'zh-CN': zh, en }; + +export function normalizeLocale(value: string | null | undefined): Locale | null { + const language = value?.trim().toLowerCase(); + if (language === 'en' || language?.startsWith('en-')) return 'en'; + if (language === 'zh' || language === 'zh-cn' || language === 'zh-hans') return 'zh-CN'; + return null; +} + +/** Only catalogued application literals are translated. Values stay byte-for-byte intact. */ +export function translate(key: string, locale: Locale, values: readonly unknown[] = []): string { + const pattern = catalogs[locale][key] ?? catalogs[DEFAULT_LOCALE][key] ?? key; + return pattern.replace(/__VIREO_SLOT_(\d+)__/g, (token, index: string) => + Number(index) < values.length ? String(values[Number(index)]) : token); +} + +export function translateLiteral(value: string, locale: Locale): string { + const sourceKeys = new Map(Object.entries(source).map(([key, value]) => [value, key])); + const key = sourceKeys.get(value.trim()); + if (!key) return value; + const leading = value.match(/^\s*/)?.[0] ?? ''; + const trailing = value.match(/\s*$/)?.[0] ?? ''; + return leading + translate(key, locale) + trailing; +} diff --git a/packages/wiki-shared/src/i18n/en.json b/packages/wiki-shared/src/i18n/en.json new file mode 100644 index 0000000..6a73493 --- /dev/null +++ b/packages/wiki-shared/src/i18n/en.json @@ -0,0 +1,3433 @@ +{ + "m_b6c1c96c52ea9de7": "Please enter your name.", + "m_17fd2bab60f5fa02": "Only English letters/numbers/underscores/hyphens 1~64 characters can be used.", + "m_32d3a1d05f377182": "Cannot overlap with hardcoded preset names.", + "m_cc9f8b1e951c4b0c": "Add new palette", + "m_5fb926229090001c": "Save", + "m_2f8d5d46605e2cde": "Edit palette: __VIREO_SLOT_0__", + "m_3537f0cc3ec9fa10": "Edit", + "m_c645164a4beb76ac": "
No registered custom palettes.
", + "m_4504090c6a71c3b5": "(Unspecified → __VIREO_SLOT_0__)", + "m_ad423fa90e1d916c": "\n
\n __VIREO_SLOT_1__\n \n \n \n \n __VIREO_SLOT_6__\n \n \n \n \n
\n ", + "m_53518a1483b7f94b": "\n /\n \n \n ", + "m_b178b2b6a6f06331": "
Failed to load palette list.
", + "m_b49f20d86148ddfd": "Error", + "m_289d5963498c8fac": "An invalid color code has been entered. (#RRGGBB or #RGB)", + "m_7e6dcbfd369a97fc": "Save failed (__VIREO_SLOT_0__)", + "m_ba971bfea1b3477d": "Saved.", + "m_e24943bb3e7cc75d": "Delete palette", + "m_ca8df919e95738a1": "Are you sure you want to delete the '__VIREO_SLOT_0__' palette? Documents using this palette will not have colours applied.", + "m_6139b6c3ed73cd4a": "Delete", + "m_be876433993ab7ba": "Cancel", + "m_ca0be49e14db6168": "Are you sure you want to delete '__VIREO_SLOT_0__'?", + "m_5cb5981d516bbfe3": "Delete failed (__VIREO_SLOT_0__)", + "m_d2e05037626d501d": " Deleted", + "m_c98b990e5d9b8b91": "\n \n
\n Blog\n __VIREO_SLOT_1____VIREO_SLOT_2__\n
\n __VIREO_SLOT_3__\n
", + "m_7eb48ab9b79e6ee6": "\n \n
\n Discussion\n __VIREO_SLOT_1__\n __VIREO_SLOT_2____VIREO_SLOT_3__\n
\n __VIREO_SLOT_4__\n
", + "m_a0ed21219d08052a": "\n \n
\n Ticket\n __VIREO_SLOT_1____VIREO_SLOT_2__\n
\n __VIREO_SLOT_3__\n
", + "m_37eba2bfd2ba98ed": "
No linked page
", + "m_7a0ef1e9e023fa04": "Loading...", + "m_038b55bd7b3d8fa2": "No page at the same step", + "m_06f20c851bc730ec": "Loading failed", + "m_589949d0ce1b0617": " ", + "m_d278e66fa5d99310": " / ", + "m_661f7e44a4aa7fa1": "Document structure:__VIREO_SLOT_0____VIREO_SLOT_1__", + "m_63935251e583b27f": "Document link has been copied to clipboard.", + "m_0bc1fb72ae1be5c5": "Error", + "m_ec6f40a9e763d7c1": "Failed to copy to clipboard.", + "m_38d098ba7768a3d1": "Document content has been copied to clipboard.", + "m_5d316b522e9b3812": "Unable to retrieve document content.", + "m_384c7951cf63c117": "Markdown source has been copied to clipboard.", + "m_24626229dc0b225b": "Document HTML has been copied to clipboard.", + "m_513eaca6e4834d62": "Read the following wiki page and answer questions about the content: ", + "m_34f74a1b1a652190": "Failed to load subdocument.", + "m_e97fa0a8680309fb": "Document structure", + "m_dfb2fc6223803099": "No child pages.", + "m_70de8e074ef644cd": " Copied", + "m_2f7cace2e470cb6f": "\n
\n \n \n
", + "m_fd065914070c3ee5": "\n
\n \n \n
", + "m_3fd47edce45b3603": "Close", + "m_7e0bfd6a2f4cf2c2": "
Loading...
", + "m_1194736d55543b31": "
Failed to load subdocument.
", + "m_33dcddf15dc978d8": "Create a new page", + "m_876c6189ce292af4": "Document name", + "m_c9370c3f2f8dde70": "Example: my-first-page", + "m_81b8d99b4f9bdf3c": "Create", + "m_2cd0f3be8738a86c": "Cancel", + "m_b68b9aa395e1d283": "Edit this page", + "m_1d3c8bb552e44b23": "Edit edit modify", + "m_6c0ad4da87f4b4b3": "Create a new page", + "m_4af2f5a4ab686f85": "Create new document new create", + "m_cd86b10b359ba0f7": "Random page", + "m_eef9c6abde132084": "Random page", + "m_b8957c30d19267f3": "Explore portal", + "m_dcfde3b8d380d541": "Explore explore portal", + "m_ffe893bace2a4aba": "Go to home", + "m_5a269c0e2c6ac18b": "Home home main", + "m_87354adb1c31e43d": "Admin panel", + "m_8c74baa4038b9dec": "Admin admin console settings", + "m_a7a6fa8c2a56c940": "Dark mode", + "m_0b9ebbd426468b58": "Dark dark theme theme dark", + "m_e44a6a58308e37db": "Light mode", + "m_3f13602d704b1fd0": "Light light theme theme bright", + "m_71d696e2079989c2": "Auto theme (system)", + "m_4e65100f2af2e903": "Auto auto theme theme system", + "m_c2952a5ffcc34883": "Personal settings", + "m_4550d1947c5097d8": "Settings settings preferences theme layout", + "m_f6eeae9b0f5d9dbb": "Grammar cheat sheet (grammar search)", + "m_2ce5a8b1a915598d": "Grammar Cheatsheet syntax cheatsheet token search insert", + "m_61935cdc25a7b5c8": "Shortcut help", + "m_d3af477e12a7a4b3": "Shortcut help help shortcut keyboard", + "m_51f9a31c0ae7a10b": "Command palette", + "m_25e2dedb7781d25c": "placeholder=\"Search documents·commands… (Press > to enter command mode)\" ", + "m_76e21e04481b1910": "Esc", + "m_dbfc08212ac85579": "
    ", + "m_4f255984f7f8e45a": "↑↓ Move", + "m_1596d8fae424d0ca": "Enter Select", + "m_115518dce9b7a39f": "Tab Search all", + "m_2a9b0e7c31cc401b": "Esc Close", + "m_d5fe8044502d75dd": "” 전체 검색", + "m_463dd346080e7ab3": "Recently visited documents", + "m_7bb3f9811758f0e9": "Quick actions", + "m_1f12b8e23dfddbba": "Command", + "m_452c7b10d57a86a7": "Page", + "m_515559957fd3acbd": "Category", + "m_5a30b6ad61d39bd0": "\" aria-hidden=\"true\"> ", + "m_1ba045c3573b1251": "No results", + "m_a706654a5b134832": "Try searching all by pressing Enter.", + "m_d86de434ba64df92": "Open command palette", + "m_e1cfad4ae66a5af3": "Focus header search bar", + "m_64a9bf4fc5ecfc98": "Go to home", + "m_0a7a8e73f4902844": "Go to navigation portal", + "m_efaf8a0202b89829": "Currently editing page", + "m_33d377b6c9c76b81": "Open this help", + "m_89ce481a4b23d2a4": "Keyboard shortcuts", + "m_ee24f945b92412f6": "Keyboard shortcuts", + "m_f17dc0280ef14b6d": "", + "m_de8f14b2aedcbfaf": "Tag too long", + "m_9341d4a4f50d3c34": "Tags can have up to 50 characters.", + "m_63d43c7f9b539745": "Special characters not supported", + "m_341c9158d0aeffee": "Tag name cannot contain special characters.", + "m_a94b9e1aaa79c9b1": "Exceeded tag limit", + "m_d6fec6bc78d9cef5": "You can add up to 20 tags.", + "m_cde96ff40e7778ed": "Unable to open random page.", + "m_aad7db05d61d31ff": "New announcement", + "m_a2d3a4eeefd7bf8f": "Do not show again", + "m_94c57dbb47dd1a3f": " Loading...", + "m_051ea7bfba93e9e6": "No notifications yet", + "m_08d7d6ce0ebacb38": "
    \n \n
    \n
    __VIREO_SLOT_7__
    \n
    __VIREO_SLOT_8__
    \n
    \n \n
    ", + "m_74df34d3749eea0f": "\n
    \n \n
    \n ", + "m_a424f4ceb627b56d": "
    Failed to load notifications
    ", + "m_030fa62eb15037f3": "Load failed, retry", + "m_de6785d99e028971": "Just now", + "m_f8083e01520b7dac": " Minutes ago", + "m_9ebf77f67bc49767": " Hours ago", + "m_5972982ce6bc68ca": " Days ago", + "m_56db248412ff2792": "Super administrator", + "m_78496a61deb74f2d": "Administrator", + "m_7a44dba7742f6b57": "Discussion administrator", + "m_6f93ba4c79f837ca": "Ban", + "m_958ece350af5369a": "DELETE", + "m_f6a2faaac200e75d": "Regular user", + "m_b9dfeed9394b41c2": "Failed to delete notification.", + "m_f8abee26e0bf27ae": "Failed to mark as read.", + "m_22abbed26f07b173": "Delete all notifications", + "m_c883eb513f547831": "All notifications will be deleted, this action cannot be undone.", + "m_9b2ccbb48e31d52a": "Delete all", + "m_2066f4e83f732ab8": "Receiving", + "m_6744b4c6a9aa0038": "Closed", + "m_00c6d96fa30a71b1": "Unsubscribe from push notifications", + "m_229f3f58efb2b445": "Receive push notifications", + "m_a4d9636a501c734d": "Push notifications unsubscribed", + "m_6c38770816549d26": "Failed to unsubscribe from push notifications", + "m_7de85bfdf94080d7": "Subscribed to push notifications", + "m_efbd623a09987dc7": "Notification permission disabled", + "m_bfd3af733fbd80eb": "Please allow notifications in your browser settings.", + "m_f34747723d1d3bcc": "Push notifications not supported by your current browser", + "m_892529bce47eabeb": "Failed to subscribe to push notifications", + "m_1ac13841ba2ea68b": "Unknown user", + "m_5d63997a05b668f1": "", + "m_66e824fac80d97ba": " Message", + "m_0adc4beac9ba4b15": "Cannot load messages", + "m_ca401920b0fcdb0c": " Reply to __VIREO_SLOT_0__", + "m_2beba854a0be713e": "Enter reply content...", + "m_9aee63bd0f6981b7": "Send", + "m_ab85f44f1d779fcb": "Please enter content.", + "m_c76bcedd965ccb8f": "Sending failed", + "m_34f48b56d4e22e22": "Message sent successfully", + "m_eeaf95fca202a934": "Failed to send message.", + "m_25f3b0bc182bfca2": " Message to __VIREO_SLOT_0__", + "m_4b6b457e887fe436": "Enter message content...", + "m_2f10882d8db32301": "__VIREO_SLOT_0__ minutes ago", + "m_13d9a4afbbd1b91f": "__VIREO_SLOT_0__ hours ago", + "m_dd30752bcdb324d3": "__VIREO_SLOT_0__ days ago", + "m_e22f859d1ee42e08": "No change history", + "m_c1fee7c8e96d332c": "No trending data", + "m_04bf37d3b91172bc": "Collapse ", + "m_06864158538ff797": "Expand ", + "m_10f31f3c85ee150f": "Mermaid diagram", + "m_c8084b4d279d80e4": "Chart", + "m_072e68b79d9bae6d": "Extension", + "m_b17999ff6941b1b9": "External content", + "m_abc1e7cf135be69e": " This is a __VIREO_SLOT_0__ block that cannot be displayed in preview. ", + "m_08f914b5b8fc4ad9": "Check the original text with Raw comparison.", + "m_16e9e630232b0f54": "
    No changes.
    ", + "m_28933254868ff727": "
    ⋯ __VIREO_SLOT_0__ paragraphs omitted
    ", + "m_348d96f189dbad3e": "⋯__VIREO_SLOT_0__ lines omitted", + "m_0f6519606ca9a78a": "... __VIREO_SLOT_0__ lines omitted", + "m_e81f18f2ccfa0ec4": "SweetAlert2 (Swal) has not been loaded.", + "m_2e352b418c280276": "
    \n \n \n
    ", + "m_4031d8d14f0a6741": "", + "m_ac1fc253bac86a56": "
    Rendering...
    ", + "m_ec377483a303fde2": " Copy failed", + "m_cc34e063fa6085b3": "Mention", + "m_56e88bd031eefcae": "No participants to mention", + "m_258ad4b095a1841b": "Text", + "m_fba83d218eea748c": "Bold", + "m_dd933ae8c2d8fac8": "Italic", + "m_a862dac745e78146": "Strikethrough", + "m_4a02004ab78c6f58": "Quote", + "m_f07b32009d77b4f6": "List", + "m_8d79ff34d4f67a6e": "Inline code", + "m_af4eb87c4024e6a8": "Code block", + "m_3d54da9c8367da77": "Link", + "m_db894ea81546a74d": " Upload new image", + "m_1ab5c248fcaeb392": " Search existing image", + "m_0d720eeea26466dd": "Icon", + "m_6a7339bb759788f3": "Small", + "m_a567bdaa11367f26": "Medium", + "m_62ebda24c90ca0a5": "Large (default)", + "m_381cbc5a80cdd675": "Bootstrap Icons", + "m_9d89cdc64edf175d": "Material Design", + "m_6d2b296c1cd03af4": "Background colour", + "m_04b9d4d0d299bc60": "Text colour", + "m_8268412b046258a5": "Palette colour", + "m_6b28ff42c3bd1e53": "Font size", + "m_563d700698b2e153": "D-Day", + "m_e8e55f63b04c532c": "Display time", + "m_39434f4dbd6aa9ad": "Timer", + "m_57b8d86c7074f30c": "Age", + "m_b9a2602b5dd2c5b7": "Calendar date", + "m_2fe5356cb0530f05": "Keyboard key", + "m_6bbd4af8328c9ba6": "Progress bar", + "m_2810cd41e255386b": "Image size", + "m_0af5878da3772fe3": "Image alignment", + "m_22866179d06cfcf3": "Anchor ID (tab/accordion)", + "m_57ff1b60f5b9be4b": "Badge", + "m_e24f8f799a09913f": "Tag", + "m_605632038f49400b": "Button", + "m_30c765b107c5eb5a": "Statistics", + "m_588be0deb770b095": "Media embed", + "m_c738b61460f613ac": "| Name | Value |\n", + "m_f076669f17b53f92": "| Name | Value |\n\n", + "m_6e5c1fafcd87247d": ":::tab Tab 1\n", + "m_d7cafcbd87c399b7": "Content :::\n", + "m_b750a273eb0c992a": ":::tab Tab 2\nContent\n:::\n", + "m_d26e710e43dbf1d0": ":::item Item 1\n", + "m_1987e477de299aaa": ":::item Item 2\nContent\n:::\n", + "m_d1641961d67e5ef0": ":::step Step 1\n", + "m_368117f5be6dee60": ":::step Step 2\nContent\n:::\n", + "m_932dba77309c6041": "Title = ", + "m_005648e5b43bb97a": "Author = \n", + "m_62b41b5aaec6fef4": "Card", + "m_155774e65ecb6263": "Title + Body Box", + "m_14a173232a613b6e": "Grid", + "m_818bcff7e71931a4": "Grid ({cols:N}/{template:1-3·8-4 etc.})", + "m_4a6a4508513a1deb": "Horizontal Alignment", + "m_6eee93bfecdb267d": "Arrange children horizontally", + "m_004150139f94ab3a": "Centre Alignment", + "m_fe525c37167d2e2c": "Align content to centre", + "m_bc18fb606d1cd4a5": "Right Alignment", + "m_993f9d86db97f941": "Align content to right", + "m_8864f426cc18342d": "Left Alignment", + "m_cf92ecdc8c488285": "Align content to left (reset nested alignment)", + "m_328263b28ff57998": "Canvas", + "m_8223173395e0f378": "Asymmetric 12-column layout — Inserts :::area skeleton when selected", + "m_5430ebf3366f2ff9": "Info Box", + "m_98658eb5d2388d8a": "Profile Card wrapping side content — Inserts title+table skeleton when selected", + "m_18d0e6bc2a7f45bd": "Floating Panel", + "m_c82e34fcdb9baac1": "Panel with side content wrapping body ({left|right}{span:3~6})", + "m_5cd4cd76699a6fd0": "Gallery", + "m_7619e9a7dfa77df6": "Equal Image Grid — Inserts image skeleton when selected ({cols:2~6})", + "m_4da85c65f840aa80": "Embed", + "m_2a1a5d18bb46c4ec": "Highlight Box + embedded internal URL media", + "m_28badb093c233e15": "Tab", + "m_5ae3a1514ad2f6dd": "Tab Container — Inserts :::tab skeleton when selected", + "m_9a076cf23c023e1a": "Accordion", + "m_9fc6dbe4b783be99": "Accordion — Inserts :::item skeleton when selected", + "m_a096cdeecea40a9d": "Stepper", + "m_376fd5ff710fc52b": "Progress Step — Inserts :::step skeleton when selected", + "m_d22e12c683a74d09": "Document Variable", + "m_963dbba2a659b1ff": "Define `name = value` → Reference in body {{{@name}}}", + "m_745bc68d37465f9d": "Display before this point in time", + "m_0b159c50aac67173": "Display only before the specified time (Unix seconds or YYYY-MM-DD)", + "m_128b0dfe35235930": "Display after this point in time", + "m_573ca43f917ffb30": "Display only after the specified time (Unix seconds or YYYY-MM-DD)", + "m_b8cf07ac906c8124": "Information", + "m_28fe61bef75af3d5": "Information callout", + "m_d9fcd43cf85293f6": "Tip", + "m_4fa4e2ac36cd09f1": "Tip callout", + "m_053461ce86d26572": "Success", + "m_261ff49b524384f1": "Success callout", + "m_acc90fbf66686d20": "Caution", + "m_833a2943e99a7d7f": "Caution callout", + "m_baaff05e434f85e3": "Danger", + "m_d9fc0886a0acb827": "Danger callout", + "m_a34b4d0aafc9ecfd": "Note", + "m_88530cabd97e47c4": "Note callout", + "m_72cca7f7d985c021": "Icon search", + "m_d0d72f97f1cef99e": "Select background colour", + "m_db0613f318fbce1d": "Select text colour", + "m_abcb334ca28cba23": "__VIREO_SLOT_0__ year __VIREO_SLOT_1__ Monday", + "m_60fad9caf3faed31": "Age by date of birth", + "m_ec40140f5eba9621": "Select D-Day date", + "m_73c1974526a832fb": "Select calendar date", + "m_0bf7e5778c32d7a4": "Select timer time", + "m_a8cf1d2334124a36": "Select display time", + "m_95048bb4f8debef2": "Unix timestamp (seconds)", + "m_df159f47a890ff65": "Now", + "m_78f6af44ca5c8ef9": "+1 hour", + "m_4ec242e30c0f7971": "+1 day", + "m_3e8889e56aec25a2": "+1 week", + "m_f1f8b2018b071cb7": "+1 month", + "m_4fe4705ef5532abd": "+1 year", + "m_844b8cc8dff7c1d8": "Default", + "m_4be0c73b19663c54": "Override", + "m_d734129fabaa146b": "Custom", + "m_bf8508933cb57822": "Member for N days or more", + "m_1067d4563021de5a": "Edit history of this page", + "m_16e8ef1a632a2464": "Edit history of any page", + "m_7f0dd12bee0266d4": "Admin only", + "m_96df792915787246": " And ", + "m_f0851d614a88a2d4": "\n
    \n
    Category __VIREO_SLOT_0__ The following edit ACL template is set
    \n
    __VIREO_SLOT_1__ (All conditions met — AND)
    \n
    How should the category ACL be applied when this category is applied to the document?
    \n
    \n \n \n \n
    \n
    \n ", + "m_135e365a1ae7ac65": "Apply category ACL", + "m_63c73c4730f4473e": "Apply", + "m_2dcf57eb172a504d": "Cancel (Do not add this category)", + "m_a12b6dbd16de6888": "__VIREO_SLOT_0__ ", + "m_19823ed7547a358d": "Please enter a category name without special characters.", + "m_70199ad768c9c1ba": "Administrator only category", + "m_31429406550ed617": "The \"__VIREO_SLOT_0__\" category can only be applied by administrators.", + "m_1b91634007da0f71": "Category unavailable", + "m_07ad18c84a8945ca": "The \"__VIREO_SLOT_0__\" category cannot be used.", + "m_d938160683e35283": "
    No results
    ", + "m_b868014175376f4d": "[edit] Autocomplete attached as polling safety net — normal trigger may have been missed. _attachAttempts=", + "m_f887c5441fa72e31": "Error (__VIREO_SLOT_0__)", + "m_217f3927ada2d495": "
    There are no automatic rules related to this document.
    ", + "m_da4b78a039d7ecf1": "\n \n \n \n \n __VIREO_SLOT_0__\n
    PrefixAutomatically Assigned Category
    \n ", + "m_7f64fa2837b5a993": "\n
    \n
    \n
    \n
    Target Subpages
    \n Loading…\n
    \n
    \n prefix\n __VIREO_SLOT_0__/**\n
    \n
    \n __VIREO_SLOT_1__\n
    \n
    \n\n
    \n
    \n
    \n \n
    \n
    \n
    \n \n
    \n

    \n Add category to checked pages Addand if you uncheck the previously checked pages,\n the category will be removedfrom those pages.\n

    \n \n
    \n\n
    \n
    \n
    Related automatic rules
    \n
    \n
    __VIREO_SLOT_2__
    \n
    \n
    \n ", + "m_7c29f4abd8717ff2": "Delete rule", + "m_93e382fd871dcc17": "Do you want to delete this automatic rule? (Categories already applied will remain unchanged)", + "m_2f9daa828907b93f": "Delete", + "m_c228558cf257fc49": "Deletion failed", + "m_8fad38bd78865ed0": "No selectable subpages", + "m_132826fa46e65b5f": "No category", + "m_22d4a168003098be": "
    Total __VIREO_SLOT_0__ — if there are many, the browser may slow down.
    ", + "m_61e2fbeb63b40304": "\n __VIREO_SLOT_0__\n
    \n \n __VIREO_SLOT_1__ items\n
    \n \n __VIREO_SLOT_2__\n
    \n ", + "m_15f2c0b076847d0c": "No subdocuments", + "m_88e05cab0c0583b9": "Checked __VIREO_SLOT_0__ / __VIREO_SLOT_1__ (Apply +__VIREO_SLOT_2__ / Remove -__VIREO_SLOT_3__)", + "m_ebaf4022cf1aed6d": "Loading failed", + "m_b64a912c7cdc706f": "No target documents", + "m_0f8085b7bde2b753": "Cannot confirm the title of the document currently being edited.", + "m_92e1fdf8beae6d63": "Manage subdocument categories", + "m_ac2a58826d92e6ae": "Execute", + "m_b4b1f2a564d854b5": "Please enter at least one category.", + "m_343252396d4d401c": "Please select the document to apply or choose \"Save as automatic rule.\"", + "m_ca3e5733b920c6d7": "To save the automatic rule, please enter a category.", + "m_2743911f83e1da69": "Failed", + "m_4f2ed8c604fc2f30": "Application complete", + "m_4f42e9c473808f1e": "Among __VIREO_SLOT_0__ target items, add __VIREO_SLOT_1__ items, remove __VIREO_SLOT_2__ items Applied.__VIREO_SLOT_3__", + "m_060465fa16bfecec": "
    Automatic rule also saved.", + "m_95d3fea17c6818a9": "Save automatic rule", + "m_f3b31700b077585d": "After this, any new or moved documents with this prefix will automatically have the category applied.", + "m_0dd9df5c73a87e5c": "Network error", + "m_5ad40d10dec739e9": "Text format", + "m_5e70b93f06c4552a": "Emphasis (bold)", + "m_87b0c4285bb1641a": "bold strong Bold thick", + "m_7c27f0abb0e69ed7": "**text**", + "m_6b81a8b6ee0375d9": "Italic", + "m_45641a8e2826ec3f": "italic emphasis Italic slant", + "m_e0143d2608b062f4": "*text*", + "m_f88f8ea2b7099d9d": "Underline", + "m_79a9e92a9823d2d8": "underline", + "m_28ee3b434f7fbc8a": "__text__", + "m_9605541606a51a5d": "strike", + "m_164ece50125e1e53": "~~text~~", + "m_425c77dfa9261c85": "highlighter", + "m_b7426c44e328feab": "background highlight — requires color token ({bg:} etc.) first", + "m_60941b9372553b49": "highlight mark highlighter background highlight format", + "m_e5ebe60e52d4d291": "{bg:color}==text==", + "m_ecdfb1788e6e5c75": "{bg:__VIREO_SLOT_0__}==text==", + "m_c3405f8c7d9d392a": "Title", + "m_7c7c786c576b8eb3": "ATX heading (level by number of symbols)", + "m_7a5a6074fcb22b40": "heading h2 h3 title heading", + "m_6ab7acb2deb94bde": "## title", + "m_0ce0c96ab3059495": "code span", + "m_24eb627b33e92123": "code inline code", + "m_195f9d1a2608f871": "`code`", + "m_02c2cc5f07593701": "heading collapse", + "m_722dbffc4414f098": "set this section to default collapsed", + "m_788ad98034524474": "collapse fold heading", + "m_7381a56fb257da46": "## title {collapse}", + "m_63fe65fbe46155a9": "color · palette · size", + "m_4d7af31a1fd5bfce": "highlighter/component background color", + "m_a799735f3ebb03cb": "bg background colour", + "m_3c40a3091a0e1668": "highlighter/component text colour", + "m_560b02f2ba31d1f5": "color text colour", + "m_8fd7bf321f4cb142": "palette", + "m_0749a92d98df30a3": "built-in/custom palette colours", + "m_ca9845d3588058b3": "palette theme colours", + "m_4bad4a16e714cbee": "font size (xs·sm·lg·xl·xxl)", + "m_b53aac0c18c9b535": "fs fontsize text size", + "m_ba2e24e6750375d5": "icon · component", + "m_1d1a784d512f3d57": "Bootstrap icon", + "m_4e03ec5334e74e4c": "bi icon", + "m_30ccd27a372b1e49": "bi bootstrap icon", + "m_1f038fec36e3ef39": "MDI icon", + "m_59252e6364e70887": "Material Design icon", + "m_37e5baccbef61206": "mdi material icon", + "m_cfb78faa23dd4a6f": "small label chip", + "m_bdbe40566cd2f81d": "badge label", + "m_e1119c65933c92d1": "{badge:Text}", + "m_8b037fd8c5402754": "Tag chip", + "m_542ba3c621b8a37e": "tag Tag", + "m_aadeffbf7c926876": "{tag:Text}", + "m_d35505adc98ef0c0": "Link/Internal navigation button", + "m_a168d5a58c13ccf4": "button Button link", + "m_98d83eb186555ae4": "{button:Text|[[Document]]}", + "m_1e8943dde4c14dbe": "{button:__VIREO_SLOT_0__|[[Document]]}", + "m_84ecd62d6ae48287": "Number highlight block", + "m_90f74d94326bae42": "stat Statistical figure", + "m_d8feb24858e3b649": "{stat:123|Label}", + "m_20d2f907b69fe58e": "{stat:__VIREO_SLOT_0__|Label}", + "m_54257d4a537853ff": "kbd Key notation", + "m_d7847edfc4e1daf9": "kbd keyboard Keyboard", + "m_8d24e901ebb500be": "Progress (number or auto)", + "m_fa7d9bcdb08c890f": "progress Progress bar", + "m_77fb16dee5514e18": "Link · Template · Footnote", + "m_482456fb5ca84f27": "Wiki link", + "m_6dafcb53f03855a1": "Document/Section link", + "m_07c8d2eaeda97ec9": "link wikilink Link document", + "m_ec3a11cca7c57eeb": "[[Document#Section]]", + "m_282b19bc77204d16": "Template transclusion", + "m_4f228ede45ed04d8": "Template inclusion", + "m_442639c8443f627b": "template Transclusion", + "m_457114ee2acc1c24": "{{TemplateName}}", + "m_78ca2b93ff924626": "Template parameter", + "m_986eddf472ab6404": "Reference parameter inside template", + "m_e317d2501c3cc784": "param Parameter Parameter", + "m_34e72d21069043d5": "{{{Name|Default}}}", + "m_d72cd75279d7b329": "Conditional #if", + "m_bd6cc888c6ab9ecd": "Parser function branching", + "m_bfdf9c84a40c551c": "if Condition parser Parser", + "m_d6d03ba9e7cdc40e": "{{#if:Condition|True|False}}", + "m_1c4b0effa5ee1b68": "{{#if:__VIREO_SLOT_0__|True|False}}", + "m_37c27f988750a4d2": "Branch #switch", + "m_cec0f2d90e9c7ea9": "Branch by value", + "m_f1da77da10bea126": "switch Branch parser", + "m_fee80b881568c844": "{{#switch:Value|Key=Result|#default=Default}}", + "m_2da25cc1311428c9": "{{#switch:__VIREO_SLOT_0__|key=result|#default=default}}", + "m_20b90f10d2bc1a07": "Arithmetic #expr", + "m_5faada11476c7ca3": "Basic arithmetic", + "m_f261f375b763025b": "expr calculation arithmetic parser", + "m_857a13037ceeb267": "Footnote", + "m_804af85d7bed565b": "Named footnote definition", + "m_af615ff3c5ed19de": "footnote annotation", + "m_ae3750a1f5f51449": "[*name content]", + "m_330f2dcca9e6ca91": "[*__VIREO_SLOT_0__ content]", + "m_77a8a5d48e0ec576": "Image · Embed", + "m_d24c10d37db0feea": "Image", + "m_b2fd5e226f6b38d1": "Insert image", + "m_be55173c7e7eb5a4": "image img picture", + "m_acf497c8753ad9b9": "Size token after image", + "m_abc73f4524e8c1ae": "size image", + "m_fdbbd1b98a5312fc": "Alignment token after image", + "m_bc36ee263d186ae6": "align image", + "m_c9420abd33d772ed": "Image caption", + "m_5fdba67640e01bbf": "Caption token after image", + "m_473ec399206fecdb": "caption description image", + "m_7dfe175110f64f08": "{caption:description}", + "m_b1eb718abc171730": "YouTube·NicoNico·Spotify·Map embed", + "m_3cd8a2a6e594de28": "embed YouTube Spotify NicoNico map media video music", + "m_626df1ec399ef16e": "Embed size", + "m_1685c0c8b5916d94": "Size token after embed (centre aligned)", + "m_3f121d5b04e38b63": "size embed", + "m_055eb7ff930783f3": "Table options", + "m_eab19781a95f8ba4": "Table alignment", + "m_5dfac4d259681910": "Alignment token for row above table", + "m_1967cf4ff8d3e05a": "table align", + "m_cae9028f5ba8b3a3": "Table width", + "m_710178eac8c6c859": "Table/column width (10% increments)", + "m_3aceb5cf2a6b4af9": "width table w", + "m_50a94e45fa19f96f": "Table caption", + "m_acb79305cdb79a39": " Title", + "m_f2b718b14c7ea3fe": "caption table title", + "m_2ab6f421dabfe446": "{caption:title}", + "m_a38b0a754df466ae": "Sticky header", + "m_ad58615453d6b0b1": "Header fixed on vertical scroll", + "m_abaf6d2bf557ed75": "sticky header fixed header", + "m_5cde908049d1520b": "Alignable table", + "m_33660b9f2ee02506": "Header click sort", + "m_70e4ac9277083c00": "Sortable table", + "m_995cce3fccaa251b": "Row header", + "m_63ea5efb0ef87398": "First column as vertical header", + "m_4b72e6a48983f4bf": "Row-header row header", + "m_4692cef5ac69eb37": "Time", + "m_4389adee0f33fa83": "Remaining/Past date", + "m_1405cf22ddb2f9a2": "D-day date", + "m_906e695a9dd195d4": "Unix timestamp display", + "m_4021494af219130b": "Time", + "m_b2a3929e82f566cf": "Countdown", + "m_d6fbe7b84eaa393f": "Timer countdown", + "m_32bec01b8725cfd4": "Date of birth → Age in years", + "m_7d01647a9637b258": "Age", + "m_0d59048a5e3146e0": "Date notation", + "m_cf168b44190eb3cc": "Calendar", + "m_986794778c6f6fc3": "Block (:::)", + "m_b3f4e8fc2790045f": "Card", + "m_03d0d662f6417857": "Grid layout({cols:N}/{template:})", + "m_4f5ec595721386a2": "Grid", + "m_5511e6819e5f7622": "12-column asymmetric layout(child :::area)", + "m_d55c4e8d8a03ccb0": "Canvas layout 12", + "m_426a72d1fe03a6ca": "Side-wrapping profile card", + "m_89aa7d3181af6159": "Infobox profile", + "m_58432bbf1955743f": ":::infobox {right} {span:4} __VIREO_SLOT_0__\n| Name | Value |\n| Name | Value |\n:::", + "m_17e105d42bc57a79": "Body-wrapping left/right panel", + "m_5591bfd19eb12134": "Floating panel", + "m_88c22b4254856d07": "Equal image grid", + "m_96fc4cbfbbb4a68b": "Gallery image", + "m_d77ec0c5d65354a6": "Tab container(child :::tab)", + "m_729d61eb72abd520": "Tabs", + "m_3c8db42388fda965": ":::tabs\n:::tab Tab 1\n__VIREO_SLOT_0__ content\n:::\n:::tab Tab 2\nContent\n:::\n:::", + "m_b2e85d62c21ea26c": "Collapsible item(child :::item)", + "m_ae717844f311cab8": "Accordion collapse", + "m_44b0836ae9501f74": ":::accordion\n:::item Item 1\n__VIREO_SLOT_0__Content\n:::\n:::item Item 2\nContent\n:::\n:::", + "m_db3b5555c19bee61": "Progress stage (child :::step)", + "m_879aa0b087e1fb3a": "steps Step stage", + "m_6eaaaff58dad3cc3": ":::steps\n:::step Step 1\n__VIREO_SLOT_0__Content\n:::\n:::step Step 2\nContent\n:::\n:::", + "m_23249fcbb4541ae0": "Name=value definition → {{{@Name}}}", + "m_03ef46a22b868a2c": "meta Variable document variable", + "m_79847f774c9abf5a": ":::meta\nTitle = __VIREO_SLOT_0__\nAuthor = \n:::", + "m_e4aa9f3cc7f52ddd": "Embed block", + "m_959f447cf8bdc114": "embed Embed citation media youtube spotify", + "m_5876fdcab265e1f3": "Display after specified time", + "m_8b2b237e6910529a": "after After the time point", + "m_07a947f26ac6ae13": "Display before specified time", + "m_e907c60ac4bad13f": "until Before the time point", + "m_f231c50e8d5e879c": "Callout", + "m_4a609a79cafc842c": "Information highlight box", + "m_3a337dba478e1b62": "info Information callout", + "m_bbca38e930cbff68": "Tip highlight box", + "m_473ec26f3b031ee0": "tip Tip callout", + "m_8486ba3807e58e90": "Success highlight box", + "m_9cb03ca06ba3b0e7": "success Success callout", + "m_9b460cad5e7cae7e": "Warning highlight box", + "m_cb0c12f7fe7188a5": "warning Warning callout", + "m_86ab151104bb5f57": "Danger highlight box", + "m_f93695c7580de589": "danger Danger callout", + "m_f777f1fd9661c4ac": "Note highlight box", + "m_3963bd77a691fad5": "note Note callout", + "m_4e005affa741cdd5": "Chart.js Chart (key-value DSL)", + "m_f4b700906190aaae": "chart Chart graph", + "m_b49df9362b9fc04c": "Diagram", + "m_39f01b610b764d12": "mermaid diagram Diagram flowchart", + "m_7411923f3565f219": "Grammar cheat sheet", + "m_adfbc5b5031b3785": "placeholder=\"Search grammar (name·usage)…\" role=\"combobox\" aria-expanded=\"true\" aria-controls=\"cheatList\" aria-activedescendant=\"\"", + "m_6fa21481d0463d65": "Esc", + "m_353196e2f209db14": "
      ", + "m_01f3562e8937f940": "
      ↑↓ MoveEnter InsertEsc Close
      ", + "m_0c8ad43d75788277": "
    • No matching grammar found.
    • ", + "m_48cec4d8d32e8c6f": "{palette:primary}{stat:value1|label1}\n{palette:secondary}{stat:value2|label2}\n{palette:success}{stat:value3|label3}", + "m_d9488fcb2def80e5": "Divider", + "m_aedd6814ff8c516c": "List", + "m_f09a17e1297a71b2": "Numbered list", + "m_c1ccf498b9d46c70": "Checklist", + "m_03084381746f9d3f": "row (horizontal layout)", + "m_40ec1a2864faf2b4": "Table", + "m_89c93f8d51cb6b27": "\n| Header1 | Header2 |\n| --- | --- |\n| Cell1 | Cell2 |\n", + "m_b0b29ad61c3a4dbd": "Insert wiki link", + "m_63a835c695516cf2": "[[Document title]]", + "m_6d7d3b4a3fb130a5": "Insert template", + "m_2fd9854b72b78403": "{{Template title}}", + "m_7d564631b75f58ca": "Insert footnote", + "m_90f5c358f338ef2c": "[* Footnote content]", + "m_eeb99d66983b2d76": "Expand/Collapse", + "m_6754eb453d1381b3": "[+ Expand/Collapse title]\nHidden content goes here.\n[-]", + "m_59f567500d74d9da": "Insert timestamp", + "m_aca561ad6616b9c6": "Insert special character", + "m_678e6857dbfa791e": "Insert icon", + "m_418dde62ead8a731": "Card block", + "m_ce7f3924e442da20": "Tabs / Accordion / Progress", + "m_e43408e86524c8cc": "Insert colour", + "m_a08b29f109b398dc": "Subdocument", + "m_e2cd97fd2dde76e7": "Insert Google Map", + "m_cead00a863df4d5d": "Upload image", + "m_bb515988d3b48720": "\n
      \n \n
      Drag image here
      \n
      Or click to select file
      \n
      \n \n ", + "m_9f4eb7d3aa1c1688": "Unsupported file format.", + "m_a94d3f1bd1a8f869": "\n
      \n
      \n Index\n
      \n \n
      \n
      \n \n
      ", + "m_373dafd051f6edfe": "\n
      \n
      \n \n \n
      \n
      \n
      \n
      \n
      \n
      \n
      __VIREO_SLOT_0__\n
      \n
      \n ", + "m_e641c71c0d190e8a": "Normal mode", + "m_aa91acdd84951b8f": "Editor + Preview", + "m_41b56eb1bf8a1682": "Writing mode", + "m_70112194ffe3dda1": "Editor only", + "m_868dabeaade8d9d4": "View Mode", + "m_e07317efd9062e52": "Preview Only", + "m_d294c765583f8080": "Switch View Mode", + "m_636e9d2eec6f82bc": "View Mode: __VIREO_SLOT_0__", + "m_a3e580ba52097ae4": "Server v__VIREO_SLOT_0__", + "m_63ec8a8f4103f19c": "Server Latest Version", + "m_04d0db5ba27ace52": "<<<<<<< My Edit [#__VIREO_SLOT_0__]", + "m_5166221d7a1f19c9": "My Edit", + "m_7d585c3842de4e43": "Server", + "m_9b1cea26e7804e7e": "(Newly Added)", + "m_d5d8a5afccfbb8bc": "(Delete all)", + "m_139fe8d49d51be54": "Line Count: ", + "m_65b269a7314db913": "  ·  Size: ", + "m_bd2774867f861fb4": "Large extension data only shows a summary instead of line-by-line diff. For detailed comparison, please save and use the revision page.", + "m_eef9de215a79fa02": "
      Previous Content (First 5 Lines)
      ",
      +  "m_ce244feffda50d66": "
      Current Content (First 5 Lines)
      ",
      +  "m_efc453685382dc16": "
      Failed to load diff library.
      ", + "m_7c7d8ee9e062abf5": "No Changes", + "m_84bdfed82c8302b4": "... (Omitted) ...\n", + "m_da85dc4c03a7a712": " Server Content", + "m_d68d6e631dfb7e11": " Preview", + "m_a37429a8e9ba6ccf": " View differences", + "m_8483e00a1e730d91": " Raw", + "m_cc8f6131f8abc5a9": "#__VIREO_SLOT_0__ — Mine: __VIREO_SLOT_1__ ↔ Server: __VIREO_SLOT_2__", + "m_682c7c5de9a7fcf4": "Click to go to the conflict location in the content", + "m_c321ac68cb45a57e": "Mine", + "m_90fe1c95a048d422": "Server", + "m_3bcaa2698d5dfd4b": "Both", + "m_20c483bdda9706e4": "Direct", + "m_560bcd460b579488": "(Empty Line)", + "m_2f51d54eda85311e": "__VIREO_SLOT_0__ Unresolved", + "m_fa9e02a7a346f67d": "Conflict Resolution Applied", + "m_660725a93b610493": "Continue editing in the editor and save.", + "m_6a349ddf665850dd": "Unresolved Conflicts Remain", + "m_5fde3e55d19cb3a5": "__VIREO_SLOT_0__ Conflict Marker(s) (<<<<<<<) Remain in the Content. Apply to editor anyway?", + "m_a0262d19200d9050": "Apply As Is", + "m_7e318ba57944486a": "Continue Resolving", + "m_c71ac4a126955661": "Cancel Conflict Resolution", + "m_e6d419c14ea93de9": "Do you want to discard your edits and refresh to the latest version?", + "m_acf595c34948293d": "Refresh (discard changes)", + "m_f7fa9aa6649f15e9": "This document is being edited by __VIREO_SLOT_0__ at the same time. Edit conflicts may occur.", + "m_13ef923140bdadfe": "\n
      \n \n
      \n \n
      \n
      ", + "m_28eb97fae6405a87": "Search existing image", + "m_4e4aa3dda3ff54ae": "\n
      \n
      \n \n \n
      \n __VIREO_SLOT_0__\n
      \n
      \n
      \n \n
      \n
      \n ", + "m_6b5dde6e3a599a71": "Search failed", + "m_2d0270718450107d": "Displaying __VIREO_SLOT_1__ of __VIREO_SLOT_0__ total", + "m_7ec78a5826a6fbcf": "No results", + "m_4e35e2915449a848": "No images", + "m_bb909f283a1fc5c9": "__VIREO_SLOT_0__\nTags: __VIREO_SLOT_1__", + "m_b1ebd39a6e828143": "Select image size", + "m_54198fe2800b9896": "\n
      \n \"__VIREO_SLOT_1__\"\n
      __VIREO_SLOT_2__
      \n
      \n
      \n \n \n \n \n
      \n ", + "m_0d635eda295a08c8": "Insert", + "m_a55030239d03452b": "Please enter a file name.", + "m_ab2e0b9772ce93a3": "The file name contains invalid characters: __VIREO_SLOT_0__", + "m_c9c598c90e74c0b2": "The file name can be up to __VIREO_SLOT_0__ characters long.", + "m_b338a7efc6ad1e66": "File size must be 15MB or less.", + "m_eba914ae07bfbadf": "Unable to load SVG sanitizer library. Please refresh the page and try again.", + "m_16a254e99098adf0": "Spaces will - be converted, and leading/trailing spaces will be- removed. ", + "m_5d704cd6c4bfa10f": "< > ^ / \\ . ? Cannot be used.", + "m_a1f6b16b2c3b2a38": "\n \n
      \n \n
      \n
      Only Korean/English letters, numbers, spaces, _, ., - are allowed · up to 20
      ", + "m_ba18fae2953eebf1": "\n
      \n \n \n
      __VIREO_SLOT_1__
      \n __VIREO_SLOT_2__\n
      \n ", + "m_0a1ac7eec7b927f7": "Upload", + "m_e6481000e178501b": "Saved file name: __VIREO_SLOT_0__", + "m_f302c6e835b3628e": "Upload failed", + "m_e5e83fc9c45875c4": "Large (default)", + "m_1ef78e7f5b9a3e71": "Crop area is too small.", + "m_8f7caa3335f974ff": "Turnstile not ready", + "m_4ec8d1c56721efad": "Security verification script has not been loaded yet. Please click the \"Reload Captcha\" button and try again.", + "m_a8e3497b8f82e395": "Security authentication before saving", + "m_a3ecb95a4c5084e8": "Please complete the security verification below to continue saving.", + "m_daa5a5069c80d9a9": "Clicking outside the area or pressing the ESC key will cancel saving.", + "m_59402595c3c3b2ea": "Failed to render security verification widget.", + "m_86fb214a51cdf2f7": "
      \n
      __VIREO_SLOT_0__ extension data (preview disabled)
      \n
      __VIREO_SLOT_1__
      \n
      ", + "m_777bde40a9ff7e81": "
      Failed to load render comparison module.
      ", + "m_6eb1b64e260a2dd3": "Login required", + "m_0aee075de8329869": "You need to log in to edit the document.", + "m_1e2df9c3075ae9e4": "Login", + "m_71bf59f4724ed8c3": "Document title is not specified.", + "m_cb487221f2198b88": "The title contains special characters that cannot be used.", + "m_d81753fb3236ed05": "No edit permissions", + "m_4416e10c79b8fcf2": "This document is designated for administrators only, general users cannot edit it.", + "m_3e16c452d266f638": "This document is set to private, it cannot be edited.", + "m_9105b84b4bd95493": "Deleted document", + "m_af0a9046ea4987d7": "This document is deleted. An administrator must restore it before it can be edited again.", + "m_0d16e7454b329be5": "Only administrators can edit the main document.", + "m_1de4bab6f40b6bb7": "Documents in the \"Image:\" namespace are managed on the media upload page.", + "m_12313c8c625cf809": "Account does not have editing permission.", + "m_6b59bacbccb7d095": "Subdocument auto rules", + "m_5c9e81967192dcbf": "Document settings", + "m_4a0c69945a24e95a": "This document can only be edited by users who meet the following conditions (__VIREO_SLOT_0__):
      __VIREO_SLOT_1__", + "m_078038d646a5bcf5": "Insufficient editing permissions.", + "m_1aacb54c49924296": "Confirm", + "m_228d34a44aa2df08": "Edit request mode", + "m_32ab57e6d9aa8e69": "You have insufficient editing permissions, saving will submit an edit request for reviewer approval.", + "m_f4cd50ffad94e9c4": "\n
      \n
      \n __VIREO_SLOT_0__ extension data\n This is raw data edit mode with Markdown rendering disabled\n
      \n
      \n \n
      \n ", + "m_7d4ca7f48effd602": "Large", + "m_dc0103c11a2b107b": "Left", + "m_d41ad4fcb417e884": "Center", + "m_f594aa6a15b9381c": "Right", + "m_106487d2bc2d660e": " Edit ", + "m_eec44d1a5d65b9a3": "Editor Settings", + "m_8138e088b975061f": "\n
      Editor Settings
      \n \n \n \n \n \n \n
      \n
      Line Break Mode
      \n \n \n
      \n \n \n \n ", + "m_1dd3e0d08015576b": "Find / Replace (Ctrl+F)", + "m_47f25a8a6f1ad0f0": "\n
      \n \n \n \n \n \n \n
      \n
      \n \n \n
      \n ", + "m_3d275876e9d3790b": " This category can only be applied by administrators.", + "m_5cc6bc297d72cde3": " The \"__VIREO_SLOT_0__\" category can only be applied by administrators.", + "m_0279a13372258c79": "Deleted documents cannot be viewed or edited.", + "m_d90f7cd5f542d770": "Private pages cannot be viewed or edited.", + "m_7599ad1f191ef2e6": "Private page", + "m_3d49bb2e1d4be61b": "Section not found", + "m_57e78dc7f8e63622": "Document structure has changed, switching to full edit mode.", + "m_f1dc7031a246f3de": " Section Edit: __VIREO_SLOT_0__", + "m_587d35dab87367a2": " MCP Edit Proposal: __VIREO_SLOT_0__", + "m_bd0beaf1d5900673": " Review Edit Request: __VIREO_SLOT_0__", + "m_d9d443198a541fbf": " Edit: __VIREO_SLOT_0__", + "m_f26649c1ec5369df": "Edit: __VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_ac1724aa71d0fbe4": "Failed to load MCP edit proposal.", + "m_ec96a006c6d2ae0f": "Failed to load edit request.", + "m_b208f22ff669d5d9": " MCP draft editing (new): __VIREO_SLOT_0__", + "m_e07d5909c2cc9b7f": " Create a new page", + "m_4ded05e76ade6420": "MCP editing: __VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_a2c620001e3e7c20": "New page - __VIREO_SLOT_0__", + "m_7c5e12da007b64cd": " Start with template", + "m_d2201ebe07f4e5d1": " Review edit request (new): __VIREO_SLOT_0__", + "m_0eb8c95b69e10444": "Review edit request: __VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_0ccf1841c2e0bc91": " Edit MCP draft paragraph: __VIREO_SLOT_0__", + "m_2b86743ed259dd90": "Failed to retrieve submission (HTTP __VIREO_SLOT_0__)", + "m_3f50f2f92321f051": "Submission title mismatch", + "m_29de34a5db6cd39b": "The document of submission (__VIREO_SLOT_0__) is different from the document currently being edited (__VIREO_SLOT_1__). Go to that document and try again.", + "m_d4986e193451f103": "Conflict cannot be handled in the editor", + "m_9159f61dacd42488": "The document has been deleted. It cannot be edited in the editor.", + "m_a71068bef839a413": "Another document with the same title was created in the meantime. Reject it on mypage or try again with a different title.", + "m_61225cca4a4c7bd1": "A soft-deleted document with the same title exists. An administrator must handle it first.", + "m_9997a5faaa88e5d5": "This is a conflict that cannot be resolved in the editor.", + "m_7ea99d6dde0b4b92": "Existing local draft has been backed up", + "m_d7a7ab5dd04f5dc9": "A local draft being worked on in the same document was preserved before loading the MCP draft.
      After saving, it can still be restored from localStorage with the following key:
      __VIREO_SLOT_0__", + "m_7bbf0318ee8af6f0": "Paragraph editing mode", + "m_0911555b8a35600c": "The submission only modified the paragraph '__VIREO_SLOT_0__' and opened it in the paragraph editing mode.", + "m_b7b66bc469094b86": "Failed to retrieve edit request (HTTP __VIREO_SLOT_0__)", + "m_1bc5210d145a3c23": "Document mismatch", + "m_bfba8460901deca3": "The document (__VIREO_SLOT_0__) of the edit request differs from the document (__VIREO_SLOT_1__) currently being edited.", + "m_d30060e4403b8eb9": "The document has been deleted. Please reject the request.", + "m_f39f6a885c587b81": "Another document with the same title has been created in the meantime. Please reject the request.", + "m_2b0655772f08d9b1": "A local draft that was being written in the same document has been preserved before loading the edit request.
      You can recover it from localStorage with the following key:
      __VIREO_SLOT_0__", + "m_d2e4384df45b9b4f": "Can only be used in section editing mode.", + "m_088ab35000074718": "Please refer to the [[__VIREO_SLOT_0__]] document.", + "m_1dce7601c57d6ab5": "Separate as a subdocument", + "m_987d3b2d984ab715": "\n
      \n
      \n \n \n
      Title of the subdocument to be created. You cannot use a title that already exists.
      \n
      \n
      \n \n \n
      The content that will remain under the heading of the existing section. It will automatically update according to the title change above until manually edited.
      \n
      \n
      \n ", + "m_4def3dd2fad11187": " Separate", + "m_126ca21a144835c7": "Please enter the subdocument title.", + "m_8cd214f180d806b2": "The subdocument title cannot be the same as the current document.", + "m_c0dc12316cd1f6c2": "'Image:' is reserved for image document namespace and cannot be used.", + "m_02423492453f1807": "Creating subdocument...", + "m_a1b887de60f7c266": "The document \"__VIREO_SLOT_0__\" already exists. Please use another title.", + "m_550903972ff086fa": "Separate the '__VIREO_SLOT_0__' document from the '__VIREO_SLOT_1__' section", + "m_d3209956264f62e3": "Separate from the '__VIREO_SLOT_0__' document", + "m_0b341923955c839f": "Failed to create subdocument.", + "m_55cb4ca7516ee2e8": "Network error occurred while creating subdocument.", + "m_12801cdf15ea11e9": "A subordinate document has been created", + "m_c1134648c2104c23": "__VIREO_SLOT_1__ A new document has been created.
      After reviewing the modified section content Save press the button to apply it.", + "m_d2f01605b3cde985": "Document status is corrupted", + "m_bcde4f6d56f9c359": "Stopping save for safety. Please refresh the page and try again.", + "m_619d1e30ff390627": "No changes detected", + "m_5018d44a41d5eeb4": "Please edit the content or change category and redirect settings.", + "m_a21df18dbb6dce0c": "Categories cannot contain special characters.", + "m_ab8e2f89966c4faa": " Saving...", + "m_cf1487e7aa8947c2": "Save failed.", + "m_6309a3bb5ba4c714": "Save failed", + "m_e5d4d87fc2fbde73": "Edit note has been saved.", + "m_8856aac2057bf097": "A network error occurred.", + "m_046f49a813cb38ec": " Save", + "m_50f541096bae2050": "Request already processed", + "m_c3f405538e609ea8": "This edit request has already been approved/rejected or cancelled.", + "m_d47eb575afb8b2de": "Cannot approve", + "m_b9cb3b7f38f0b29d": "Original requester's account could not be found. Please reject the request.", + "m_2d74d57ce2bd8d9d": "Document has been modified", + "m_e82a76527a5b9199": "After starting the review, other edits were applied. You need to merge again based on the latest content.", + "m_dfeeb8fa2d7cef70": "Merge again", + "m_ebda4623f6052fe2": "Approval conflict", + "m_2a397554c1b76f42": "A document with the same title already exists. Please reject the request.", + "m_2ac931bcbefcca32": "Document status has changed and cannot be approved. Please retry or reject.", + "m_e32c8a6ddd7bcef3": "No permissions", + "m_a295fe5c5da8d97e": "You do not have permission to approve this document's edit request.", + "m_005c43cba2f22464": "Approval failed", + "m_52079e3d89b7f5ed": "Failed to approve.", + "m_137b95d21b3645b6": "Edit request approved", + "m_cd3a4b02c8c8791f": "The request content has been applied, but the approver's additional edits could not be applied. Please edit the published document again.", + "m_47c387cf256f410a": "The request and additional edits have each been reflected as separate revisions.", + "m_5ee2c8bb13ee1350": "Reflected as a revision under the requester's name.", + "m_97bc23a9b6bcad89": "Failed to retrieve document information again", + "m_9753745bab72a39b": "Stopping save to prevent overwriting another user's changes. Please refresh the page.", + "m_deac7c7652570a2f": "An edit conflict occurred", + "m_ab2117fba2ece592": "Another user edited the same section simultaneously. Please check the conflict in full edit mode.", + "m_611b619761284845": "Another user has changed the document structure. Switching to full edit mode.", + "m_8c6b814d22d4c220": "Edit page: ", + "m_df18fdfe5cdeb2fd": "Edit request has been submitted", + "m_cf57f32bf33ad37b": "This edit will be reflected after reviewer approval.
      It will not be displayed in the public document until approved.", + "m_d9f1cf3269b58ea1": "[edit/main] MCP submission cleanup failed (HTTP ", + "m_4e6946551ccdf3fe": "). Manual cleanup needed in mypage.", + "m_d947ad1f21ddcc20": "Save completed!", + "m_1d1afe44d0161452": "Document was successfully saved.", + "m_ba1fba90f72fd53c": "Do you want to cancel the edit?", + "m_9d6ccf8be686e292": "Unsaved changes will be lost.", + "m_22bfa6072aee5d1e": "Exit", + "m_0120b5eb9a8d6f42": "Continue editing", + "m_398adf981018d45c": "Post not found.", + "m_c5348ab5543850dd": "Please enter a title.", + "m_ae7385e23546887a": "Blog post has been saved.", + "m_6d8adad124d0987f": "Choose icon", + "m_9c6c669c47481aa1": "Select Bootstrap Icons", + "m_36bdb068c44b81a8": "Select Material Design Icons", + "m_0ca868255f76b256": "
      ", + "m_b2c53b9650b29f9d": "", + "m_c3951dc60bf96486": "\n
      Select size
      \n __VIREO_SLOT_0__\n \n ", + "m_49b37c4e3f471e7d": "Select size", + "m_ffcc35339312833b": "Greek letters", + "m_ccc8d833af3fed83": "Mathematical symbols", + "m_2785ce58df740e52": "Arrows", + "m_1566f907a6cafa98": "Currency", + "m_7ac690f892035c00": "Punctuation", + "m_39c739b867eef4ab": "Numbers/Units", + "m_2a1ab0fc433fe4a3": "Shapes/Others", + "m_ce91402873043528": "\n
      \n Ω Special characters\n
      \n
      __VIREO_SLOT_0__
      \n
      \n ", + "m_ad2a021727ba5006": "Based on date of birth", + "m_1272d20262a7297f": "Display fixed time", + "m_995d13c173849c77": "Remaining/Past Time", + "m_74b26fc4e214ba84": "Calendar", + "m_1649005aa08afe3f": "Date in Calendar", + "m_139e9bf69e8e8a27": "The selected time is displayed as a fixed date/time string.", + "m_1d03cb185f79e003": "The remaining/past time until the selected time is displayed in real-time.", + "m_95d1a4bc0f3a1f4e": "\n
      \n \n \n
      __VIREO_SLOT_2__
      \n
      ", + "m_f7ea9e331f809359": "Date of Birth", + "m_09f76a1b7a6712ee": "Date", + "m_b6306b0c0739bba6": "Displays age based on today.", + "m_1441cf3cc6d86041": "Displays the remaining/past days until the entered date. If the year is omitted, it repeats annually.", + "m_1f8b9e640386d7ad": "Displays the entered date in a calendar format. If the year is omitted, the year is not displayed.", + "m_56f38475c09e90ed": "\n
      \n \n \n
      ", + "m_95f164c4fa1c981a": "Preview will be displayed after filling in the required input.", + "m_b3e62163fc465b9d": "The entered value is invalid.", + "m_a03bcaac1008e846": "Please enter a date and time.", + "m_6d63e624c20eba5c": "Please enter a valid date/time.", + "m_487739cecc25e679": "Please enter a date.", + "m_9a45d8beac2b662c": "\n
      \n
      \n \n
      __VIREO_SLOT_0__
      \n
      \n
      __VIREO_SLOT_1__
      \n
      \n \n
      \n
      \n
      \n
      \n ", + "m_70bd191952fc71c7": "Insert timestamp", + "m_c8de9972319654a0": "Please fill in the required input.", + "m_7ba89c363a3a76a9": "Title__VIREO_SLOT_0__", + "m_0ab884b9ab2c7a09": "Content__VIREO_SLOT_0__", + "m_4f39790bfd22c8c0": "Content is empty", + "m_7f697abbf2047c77": "Comma separator not found", + "m_dcddd4797bbccfca": "No valid rows", + "m_d39f7108d58e7acd": "There must be at least 2 columns", + "m_392832a675bf3e47": "The number of columns (__VIREO_SLOT_1__) in row __VIREO_SLOT_0__ differs from the header (__VIREO_SLOT_2__)", + "m_fdf04f03e0b2c942": "Insert CSV Table", + "m_7d683b4d01ff4ada": "\n
      \n

      \n Paste CSV data. The first row will be used as the table header.\n

      \n \n
      \n ", + "m_8abb941adbc7997a": "Please enter CSV data.", + "m_6a72b554a7c28caf": "Unknown error", + "m_894d2755019c74bc": "Not in CSV format: ", + "m_ffbbd93f310f6250": "Insert Google Map", + "m_8c1df1d5a0dfba80": "\n
      \n

      \n Google Maps → Share → Embed Map. Please enter the\n

      \n \n
      \n ", + "m_82ff6e1e38dd2f4c": "iframe HTML. This is not a valid iframe code. This is not a Google Maps URL. This is not a valid URL. Not selected. None. Insert card/embed/callout block. Block type. Callout type. Title palette. If left empty, 'Content' will be used as a placeholder. Media URL to embed (YouTube · Nico Nico Douga · Spotify · Maps) one per line. Left border palette. Title (optional). Embed title. Title (optional, default title if left empty). Example: Backup required. Card title. Lines starting with ::: in the body cannot be used as they close the block. Custom colour. Click the desired palette to insert into the editor. Please enter a valid colour code (Hex). Stats. Icon selection not made. Change. Remove icon. Value. Example: 42. Label. Example: Complete. Button title. https://example.com or /w/documentname. Example: Beta. Example: NEW. Please enter text. The text cannot contain {, }, |, or line break characters. Please enter a value.", + "m_480b6590ee92d485": "This is not a valid iframe code.", + "m_4ac094a75c8ed4f0": "This is not a Google Maps URL.", + "m_e46f9e192d1f7d11": "The URL is invalid.", + "m_7647e729130059dc": "", + "m_a983c6b83bb1ecf8": "Insert card / embed / callout block", + "m_2246fddc05d573ac": "\n
      \n
      \n \n \n
      \n \n \n \n
      \n
      \n
      \n \n \n
      \n __VIREO_SLOT_0__\n
      \n
      \n
      \n \n \n
      \n
      \n \n \n __VIREO_SLOT_1__\n
      \n
      \n \n \n
      \n
      \n ", + "m_7df2e1f129e0c26b": "If left empty, 'content' will be used as a placeholder.", + "m_7c9d19d16fab0f77": "Enter one media URL per line to embed (YouTube · Niconico · Spotify · Map)", + "m_47af9e15b60b97a5": "Left border palette", + "m_80d5305b067475b9": "Title (Optional)", + "m_5fdab11e30cecaea": "Embed Title", + "m_f457a2ac27592fb5": "Title (Optional, default title if left blank)", + "m_f6ebefaf89ab40e4": "Example: Backup required", + "m_01ac2b0c6f4e158f": "Title Palette", + "m_92ab0fddb7f04da5": "Card Title", + "m_4cdf202c9558f2c5": "Lines in the text that start with ::: cannot be used because they close the block.", + "m_7a688306423bec17": "Content", + "m_494d6529da346053": "\n
      \n
      \n \n
      \n \n \n \n
      \n
      \n
      \n \n
      \n \n \n
      \n
      \n
      \n \n \n \n
      \n
      \n
      \n
      ABC
      \n
      \n ", + "m_fa106cabdda26e90": "\n
        \n
      • \n \n
      • \n
      • \n \n
      • \n
      \n
      \n
      \n

      Clicking the desired palette will insert it into the editor.

      \n __VIREO_SLOT_0__\n
      \n
      \n __VIREO_SLOT_1__\n
      \n
      \n ", + "m_6146c4ffc51735d5": "Insert colour", + "m_ca905f2e8dad44e5": "Please enter a valid color code (Hex).", + "m_c9f511c1c9221959": "Stat", + "m_03a581e6686dde00": "", + "m_43879d12b6623841": "None", + "m_30ec4d8c6534a85a": "Select icon Not done", + "m_1b8575f36b9b08c7": "\n
      \n \n
      \n
      __VIREO_SLOT_0__
      \n
      __VIREO_SLOT_1__
      \n \n __VIREO_SLOT_3__\n
      \n
      ", + "m_16f64fe47b163b81": "Change", + "m_8d1a750c9351d1b8": "Select", + "m_88cdc26b4350f44b": "", + "m_ba152dbc0c19e004": "\n
      \n
      \n \n \n
      \n
      \n \n \n
      \n
      \n __VIREO_SLOT_2__", + "m_7217405d546156e8": "\n
      \n \n \n
      \n
      \n \n \n
      \n __VIREO_SLOT_2__", + "m_95bd08c478861f89": "Example: Beta", + "m_2c48e443bb1d8825": "Example: NEW", + "m_97c94ee5e5a838e6": "\n
      \n \n \n
      \n __VIREO_SLOT_2__", + "m_dafe247453aa7693": "Preview will be displayed after filling in the required input.", + "m_e035a3de4da7d35c": "Please enter the text.", + "m_6b9a6d3b336e2d71": "You cannot use {, }, |, or newline characters in the text.", + "m_003ab5d5618f9c91": "Please enter a value.", + "m_9f3e59080fdd2350": "You cannot use {, }, |, or newline characters in the value/label.", + "m_94581cc7585ca7f4": "Please enter the link.", + "m_daab054698e34b49": "You cannot use {, }, |, or newline characters in the title.", + "m_c6cee464c464112c": "You cannot use {, }, |, or newline characters in the link. (Encode | as %7C in the URL)", + "m_c20801f40b7d2560": "\n
      \n
      \n \n
      __VIREO_SLOT_0__
      \n
      \n
      \n \n
      \n
      \n
      __VIREO_SLOT_1__
      \n
      \n \n
      \n
      \n
      \n
      \n ", + "m_c48c43adb05aebfd": "\n
      \n
      \n \n
      \n
      Select icon library
      \n
      \n \n \n
      \n
      \n ", + "m_caf6dd4efb1f43e7": "\n
      \n
      \n \n \n
      \n
      \n \n

      Loading icons...

      \n
      \n
      \n
      \n \n

      No search results.

      \n
      \n
      \n ", + "m_7961a83384d35efe": "Change library", + "m_f090ebd527130a04": "Go back", + "m_699cde60d54b4dc9": "Insert badge", + "m_4ef3cdd6efbba5c3": "Insert sub-document structure", + "m_1194ddd41eefe131": "\n
      \n \n \n
        \n __VIREO_SLOT_0__\n
        \n \n
        \n                        
        \n
        \n ", + "m_8e1cef6dc6337762": "\n
        \n \n \n
        ", + "m_123bd246e01133e0": "Load template", + "m_aa0589ba34de4380": "\n
        \n \n \n
        \n
        \n \n
        \n ", + "m_c00e6c626e710688": "
        No search results.
        ", + "m_7a62c8ac8f4eada2": "
        Loading...
        ", + "m_31d2191b2eb19131": "Cannot load template list.", + "m_56d861199a9955aa": "Cannot load template content.", + "m_7ecb1aab70dc86ae": "Overwrite content", + "m_dfd24654e5de4b83": "Current content will be lost. Do you want to continue?", + "m_9408082561e0727e": "Yes, overwrite", + "m_4c490f1ca1d756f8": "No", + "m_bb0ef12c864f932d": "Template loaded.", + "m_6d920f20af1fbb93": "Enter value (optional)", + "m_92dd5ec930a5f047": "Default: (empty)", + "m_ffcc8ccfea24a0bc": "Has default value", + "m_21084b6c308bfc4c": "Default: __VIREO_SLOT_0__", + "m_41ba8a4a77de8ea9": "Insert template", + "m_18af8e11855e7194": "\n
        \n
        \n
        \n \n \n
        \n
        \n
        \n
        \n
        \n ", + "m_a1a80a460199fb2e": "Cannot load template list.", + "m_a3888c0ffc458644": "
        Loading template content...
        ", + "m_70ddbabf318bc9f4": "Cannot load template content.", + "m_808bca7b24c1ef11": "", + "m_02e46a21c00368ef": "Position argument __VIREO_SLOT_0__", + "m_e5b4ba4c5b5849b5": "\n
        \n \n __VIREO_SLOT_1__\n
        \n __VIREO_SLOT_2__\n
        Preview
        \n
        \n
        \n \n \n
        \n ", + "m_81b5029b153b5b67": "\n
        \n
        Parameters (__VIREO_SLOT_0__ items)
        \n
        __VIREO_SLOT_1__
        \n
        ", + "m_f508b82ec73b32de": "
        This template has no parameters to fill.
        ", + "m_8fbd5bc575ef6641": "Progress", + "m_2a73ed53178ab6fe": "Waiting", + "m_52e94db6f68c7bdf": "In progress", + "m_727333ab0740d7d8": "Completed", + "m_f8f8aa0ea86fa2cb": "\n
        \n \n \n
        ", + "m_7af33c647f3fa845": "", + "m_fc96c86388ff353c": "__VIREO_SLOT_0__ Step Title", + "m_e998dd3e6ab1ea90": "Item __VIREO_SLOT_0__ Title", + "m_67422b9f36e16f6f": "Example: Tab __VIREO_SLOT_0__", + "m_c604372f2450c30e": "Example: __VIREO_SLOT_0__ Step", + "m_5ee122a59e94bed2": "Example: Item __VIREO_SLOT_0__", + "m_75602484d2d2d49b": "", + "m_b000bfeac043e63a": "\n
        \n
        \n __VIREO_SLOT_1__\n \n \n
        \n __VIREO_SLOT_7__\n \n
        ", + "m_cc35839126f937d2": "\n
        \n \n
        ", + "m_706815de4845ba5c": "\n
        \n \n \n
        Number between 0–100, or a/b format (b ≥ a) fraction.
        \n
        \n
        \n \n \n
        \n
        \n \n __VIREO_SLOT_2__\n
        ", + "m_f98ff92c3b517d9d": "\n
        __VIREO_SLOT_0__
        \n ", + "m_ae85ebe729883ed1": "\n
        \n
        \n \n
        __VIREO_SLOT_0__
        \n
        \n __VIREO_SLOT_1__\n __VIREO_SLOT_2__\n __VIREO_SLOT_3__\n
        ", + "m_d063e7dfecfefbcc": "Insert Structural Component", + "m_254f1c310d7371ef": "Value must be 0–100 number or a/b (b ≥ a) fraction.", + "m_26a24b7e0ea8a922": "At least one item is required.", + "m_2f8cf5a7c5ccd681": "Lines starting with ':::' in the item body will close the block and cannot be used.", + "m_5c2a8f867bc8be99": "Tab __VIREO_SLOT_0__", + "m_7128e1015a8dd3dc": "Item __VIREO_SLOT_0__", + "m_977c0c00c8ebaa5e": "__VIREO_SLOT_0__ Step", + "m_37a35f695d13de6a": "__VIREO_SLOT_0__ and __VIREO_SLOT_1__ others", + "m_6d3d57e31f94600e": "Section", + "m_e31c881e16db95c5": "Rename __VIREO_SLOT_0__ '__VIREO_SLOT_1__' → '__VIREO_SLOT_2__'", + "m_e7a8a42e031bf6ea": "Rename __VIREO_SLOT_0__ to __VIREO_SLOT_1__", + "m_2f18f2b811bf77a0": "Add __VIREO_SLOT_1__ to __VIREO_SLOT_0__", + "m_f5adc7cae0cf6975": "Delete __VIREO_SLOT_1__ from __VIREO_SLOT_0__", + "m_aef0755c90fc2f17": "__VIREO_SLOT_0__ __VIREO_SLOT_1__ Edit", + "m_0ce908153b8c4723": "[+__VIREO_SLOT_0__ line]", + "m_28f4885ee4cc6f4d": "[-__VIREO_SLOT_0__ line]", + "m_4a3f2ae942af04cc": "[+__VIREO_SLOT_0__ line -__VIREO_SLOT_1__ line]", + "m_c10e2eaa0268650c": "Subsection", + "m_f359d66813daa42f": "Split '__VIREO_SLOT_0__' section into '__VIREO_SLOT_1__' subdocument", + "m_e1f660558dd31528": ", Delete section heading", + "m_985a5f979ef19c05": "Delete '__VIREO_SLOT_0__' section heading", + "m_cc11371b5a1dcf37": "Change '__VIREO_SLOT_0__' section level (H__VIREO_SLOT_1__ → H__VIREO_SLOT_2__)", + "m_8a12bc762ca4fdd5": "Rename '__VIREO_SLOT_0__' → '__VIREO_SLOT_1__' section", + "m_3ce84c749766490c": "Edit '__VIREO_SLOT_0__'", + "m_ba5f59098d850c32": "Create document", + "m_ae5e8a60a5e184d7": "Set alternative title '__VIREO_SLOT_0__'", + "m_2edd189025428bf6": "Remove alternative title '__VIREO_SLOT_0__'", + "m_8c7c679e495c64d0": "Change alternative title '__VIREO_SLOT_0__' → '__VIREO_SLOT_1__'", + "m_6c44f3d4ed564acf": "Add category __VIREO_SLOT_0__", + "m_5a040009152a8117": "Delete category __VIREO_SLOT_0__", + "m_23a212a1e65a49ad": "Set forwarding '__VIREO_SLOT_0__'", + "m_f6fbe6e758da10c3": "Remove forwarding", + "m_4622a0ae2316d86b": "Set edit memo", + "m_6cd2a24fc06cb39b": "Delete edit memo", + "m_8dcd11aee6f0dbb9": "Change edit memo", + "m_8029674526ac2912": "Edit body", + "m_731818359bf928c3": "\n
        \n \n \n \n
        \n
        \n
        \n \n \n \n
        \n
        \n
        \n \n \n \n
        \n
        \n
        \n \n \n \n \n
        \n
        \n \n ", + "m_90261fcce39fc898": "__VIREO_SLOT_0__ lines", + "m_411b2c6b766399b8": "__VIREO_SLOT_0__ characters (including spaces)", + "m_3f461b232fc684b2": "__VIREO_SLOT_0__ characters", + "m_1838d440c8d73857": "__VIREO_SLOT_0__ words", + "m_f5c3734f1842d175": "Nothing to save", + "m_ffe73dd0b9913359": "Draft saved", + "m_4a0c4ffb632258ff": "Temporarily saved in this browser.", + "m_0fdee520a75bf81b": "Draft save failed", + "m_0d3fa0fb13f01944": "Cannot record in browser storage. (Possible capacity exceeded)", + "m_02d29b4444c4bc35": "The document has been edited in the meantime", + "m_8c6275b0525f518a": "The document has been edited since the draft was last saved. Do you want to load the draft?", + "m_8673367aa168346a": "Yes, load (resolve conflict)", + "m_644e6e73401bc4b5": "No, delete draft", + "m_81d70d3ce436e08d": "A draft exists", + "m_3debe2c26e180005": "Do you want to load the previously saved draft?", + "m_4615af86275a1ed2": "Yes, load", + "m_ca8ae38121505dba": "No, delete", + "m_4b6e64b01208ec5b": "Loaded", + "m_dd15748fb340ff41": "The saved draft has been loaded.", + "m_dbfe8bc53f299dac": "Section #__VIREO_SLOT_0__", + "m_bb23db5abfb5746e": "Section position not found", + "m_8857aa2850c69203": "__VIREO_SLOT_0__ There is a saved draft of the section, but the document structure has changed, so the position cannot be found.", + "m_15a73ae33375c3b1": "Delete draft", + "m_a12252500035668f": "Later", + "m_9ec3652c9d614929": "Saved section draft", + "m_6506287817248afd": "__VIREO_SLOT_0__ There is a draft saved in.
        Do you want to load it into the main text?", + "m_a1a6f7bd639bc549": "'__VIREO_SLOT_0__' section draft has been merged into the main text.", + "m_75315ee45ec4712a": "There is an invisible character (zero-width space) at the start of the line — heading (#) or list start syntax may not be recognised. It will be automatically removed on save.", + "m_c80a6dcbf6960a9f": "The sum of the canvas area spans is not a multiple of 12 (currently __VIREO_SLOT_0__ — rows may not be fully filled).", + "m_41c6f48afae8edc4": "Unregistered palette: \"__VIREO_SLOT_0__\".", + "m_fe956171e5a0b99d": "Block \":::__VIREO_SLOT_0__\" is not closed (::: required).", + "m_39230b204bd49873": "Duplicate {id:__VIREO_SLOT_0__} — used __VIREO_SLOT_1__ times in the document.", + "m_d6f5e3691cc6008b": "Access restricted", + "m_81c940c801e0ec7f": "Only super administrators can access.", + "m_0e196333719d862c": " (Continues to run on the server even after leaving the page)", + "m_b4adc72395479a89": "Deletion in progress... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_a0ef6c9fa2bd275d": " (Continues to run on the server even after leaving the page)", + "m_faf001b7100460ec": "Deleting... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_e591663c20e8b8b7": "Move operation in progress... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_2d3c90871a22aed2": "Moving... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_222e45adc7dbf99f": "Job already running", + "m_7574c10174114a52": "Another bulk operation is currently running.
        Cannot start a new job until the current one is completed or stopped.", + "m_17347648a5c751ee": "Job submission failed", + "m_5a956bebe2ca288c": "HTTP __VIREO_SLOT_0__", + "m_2f7c5b2dedf710e2": "Failed to retrieve status", + "m_05ad218b2ac1779d": "Cannot check job status. Please check your network and refresh the page.", + "m_79c234a547f281f2": "Stop failed", + "m_da9295df13296758": "None selected", + "m_154745f0cb57b53e": "Please select the document(s) to delete.", + "m_8ad4371e3ea4adf5": "Confirm permanent deletion", + "m_65d6068e556b1cac": "Confirm page deletion", + "m_7544d023fa852dbd": "Selected __VIREO_SLOT_0__ items Document(s) Permanently deletefrom those pages.
        All discussions, revisions, and watches will be removed Cannot be undone.", + "m_e92dbc8971ca237a": "Selected __VIREO_SLOT_0__ items Delete the document. (Can be restored later.)", + "m_4e01a4d26a03423b": "Permanently delete", + "m_73c02260be022109": "Submitting job...", + "m_27ab0c6f71896fa2": "Deleting... (0/__VIREO_SLOT_0__)", + "m_e4f69e236d51ed95": "
        Error: __VIREO_SLOT_0__
        ", + "m_891598d221db1571": "
        Job error: __VIREO_SLOT_0__
        ", + "m_83dc9a22a33d0895": "
        __VIREO_SLOT_0__ documents have been deleted __VIREO_SLOT_1__.__VIREO_SLOT_2__
        ", + "m_a5e69871d2934498": "Permanent ", + "m_e3a2ddb8e52349a1": " (__VIREO_SLOT_0__ skipped)", + "m_547c96cbe08c4ad6": "Input required", + "m_61560166d5d4eabd": "Please enter 'Text to find'.", + "m_327563a465cf538b": "'Text to find' and 'Text to replace' are the same.", + "m_bd77cc3b242f9d7b": "Please select the document to move.", + "m_5e14d1c058efae1e": "(No changes)", + "m_0bdc92c1b6798d08": "\n
        \n
        Preview — Changes target __VIREO_SLOT_0__Items / Selected __VIREO_SLOT_1__ items
        \n
          __VIREO_SLOT_2__
        \n
        ", + "m_827597193b7f7d53": "No changes", + "m_66daf03ffc0fac65": "Among the selected documents, there are no pages containing 'Text to find'.", + "m_c8e0d126500c7350": "Confirm bulk document move", + "m_1022c9304cc114df": "Among the selected documents __VIREO_SLOT_0__ itemsIn the address (slug) of ", + "m_8cc99a47224784a9": "__VIREO_SLOT_0__ → __VIREO_SLOT_1__ Replace and move to.", + "m_e636bda8ebcf0cc1": "
        Reference link text pointing to each document is also updated Reference link text is not updated.from those pages.", + "m_1aa576d666714a04": "
        The move cannot be undone (can recover by moving again).", + "m_73b2738ac4b74fd2": "
        Execute move", + "m_e33ef078b7cf5037": "Move pages", + "m_24566fe78189441f": "__VIREO_SLOT_0__ documents have been moved.", + "m_3a16ff06f051eb49": "(Updated __VIREO_SLOT_0__ reference links)", + "m_b1be2efca8e7b129": " (Reference link __VIREO_SLOT_0__ items renewed)", + "m_f80dec7cd41af1b0": " · Skipped __VIREO_SLOT_0__ items__VIREO_SLOT_1__", + "m_b663ddf9f8baa973": " (and __VIREO_SLOT_0__ more)", + "m_22a363c2bacabe70": " · Failed to update backlinks __VIREO_SLOT_0__ items", + "m_8dcac6e9c804b4aa": " · Some backlinks not updated __VIREO_SLOT_0__ items", + "m_142aa09bb01a7e39": "
        Move succeeded but failed to update reference links (references may remain at old addresses)
          __VIREO_SLOT_0__
        ", + "m_19201c5bcc6bd7d5": "Conflict __VIREO_SLOT_0__", + "m_2a245cdc2401ba0a": "Skipped __VIREO_SLOT_0__", + "m_ac2fba8377d87700": "
      • __VIREO_SLOT_0__ — __VIREO_SLOT_1__ reference links not updated
      • ", + "m_22c4247c02491409": "
        Documents with partially updated reference links (over 200 items, simultaneous editing conflicts, read failures — affected references may remain at old addresses)
          __VIREO_SLOT_0__
        ", + "m_0615ca8b3271a36b": "
        and __VIREO_SLOT_0__ more (details omitted due to result cap)
        ", + "m_3dba0f2f82d951de": "
        Skipped documents
          __VIREO_SLOT_0__
        __VIREO_SLOT_1__
        ", + "m_dc1e1c170a6005d0": "Reindexing… (__VIREO_SLOT_0__/__VIREO_SLOT_1__) — __VIREO_SLOT_2__ mismatched documents fixed, __VIREO_SLOT_3__ links recorded__VIREO_SLOT_4__", + "m_b1168cb5088e809e": ", __VIREO_SLOT_0__ items skipped", + "m_4e79d5330305f2b9": "✓ Complete — processed a total of __VIREO_SLOT_0__ documents__VIREO_SLOT_1__", + "m_d9525c44539fb8c4": "
        Index mismatch __VIREO_SLOT_0__pages edited —", + "m_54578b0fc2f6382a": " Missing links __VIREO_SLOT_0__ added · remaining links __VIREO_SLOT_1__ removed (total __VIREO_SLOT_2__ links re-recorded)
        ", + "m_864f9e90a54aef3f": "
        …and __VIREO_SLOT_0__ documents omitted
        ", + "m_544d1a470b641ce0": "
        Modified documents (missing/remaining links)
          __VIREO_SLOT_0__
        __VIREO_SLOT_1__
        ", + "m_0c90c9c7adbe4fe3": "
        had indexes matching the content (skipped documents are unverified — see list below).
        ", + "m_446e3defe7106496": "
        All documents' backlink indexes match the content (no modifications).
        ", + "m_cffe2423b754b83e": "
        Skipped document IDs (errors or below minimum size)
        __VIREO_SLOT_0__
        ", + "m_05bd56619e5960f8": "Error: __VIREO_SLOT_0__", + "m_e8a4dbe174cfde00": "Paused — __VIREO_SLOT_0__ processed (resumable)", + "m_4f9a5073a0fd9162": "Resuming jobs...", + "m_8b6afd54317c5d9c": "Backfilling... (__VIREO_SLOT_0__/__VIREO_SLOT_1__) — __VIREO_SLOT_2__ mirrored, skipped __VIREO_SLOT_3__", + "m_388f1f1d9874393b": "✓ Completed — __VIREO_SLOT_0__ mirrored, skipped __VIREO_SLOT_1__ (total __VIREO_SLOT_2__ documents processed)", + "m_3d6b38494e727a56": "Please enter a search term.", + "m_47a1fa6f0e1a0d32": "Searching...", + "m_6e588599c725e484": "No matching pages.", + "m_1e17ef3b52568348": "__VIREO_SLOT_0__ search pages found __VIREO_SLOT_1__", + "m_8877a6381e48058a": " (Up to __VIREO_SLOT_0__ results only. Please narrow your search.)", + "m_71ff102ea89b4e6e": "Error: __VIREO_SLOT_0__", + "m_7bbf8a6c8a63d18b": "Deleted", + "m_d0386e67dd1f4a6f": "\n
        \n \n __VIREO_SLOT_0__ items\n
        \n __VIREO_SLOT_1__
        \n ", + "m_3ade1fed4df03c54": "__VIREO_SLOT_0__ selected", + "m_25044a9beab77aac": "Access restricted to administrators only.", + "m_290aea65c3f16fa7": "Failed to load image list", + "m_83382c601afc0ed6": "Cannot load image list", + "m_e6c8a4e6ff6206e1": "
      • ", + "m_56faeea9d4279b1a": "
      • ", + "m_1ebf863315a6276d": "
      • ", + "m_18abceefc15fa773": "
      • ", + "m_89fa716c20d6975b": "\n
        \n __VIREO_SLOT_1__\n
        \n __VIREO_SLOT_4__\n
        __VIREO_SLOT_5__ · __VIREO_SLOT_6__ · Uploader: __VIREO_SLOT_7__
        \n __VIREO_SLOT_8__\n
        \n
        \n \n \n
        \n
        \n ", + "m_02121e9f89592303": "Total __VIREO_SLOT_0__ · Showing __VIREO_SLOT_1__-__VIREO_SLOT_2__ · Page __VIREO_SLOT_3__/__VIREO_SLOT_4__", + "m_4fb0bcdb64aa72c6": "Delete Image", + "m_7fe8eb1fe4c3e8b2": "Are you sure you want to delete the \"__VIREO_SLOT_0__\" image? This action cannot be undone.", + "m_077a6d37719a0e21": "Deleted", + "m_74c1a50ecff0bebf": "Searching for unused images... (this may take some time)", + "m_ff106bdf32342a01": "
        No unused images. All images are in use in documents.
        ", + "m_08e1c6d38e3fef61": "
        Out of a total of __VIREO_SLOT_0__ images __VIREO_SLOT_1__ itemsare not used in any document.
        ", + "m_4fab65f10314a98f": "\n
        \n \n __VIREO_SLOT_1__\n
        \n __VIREO_SLOT_4__\n
        __VIREO_SLOT_5__ · __VIREO_SLOT_6__ · Uploader: __VIREO_SLOT_7__
        \n
        \n \n
        ", + "m_f9e39928a681db2a": "
        Error: __VIREO_SLOT_0__
        ", + "m_f56c6c82203b33f6": "Tip", + "m_6592941155924ffc": "Please select the images to delete.", + "m_517f80d5e802c50e": "Delete unused images", + "m_9505857337fbdb51": "Selected __VIREO_SLOT_0__ items Are you sure you want to permanently delete the images?
        This action cannot be undone.", + "m_d37f24fb4e0d7b1d": "Deleting...", + "m_c6c7a20bf9453422": "__VIREO_SLOT_0__ images have been deleted.", + "m_6d235d1bf6051e40": "\n\nWarning:\n__VIREO_SLOT_0__", + "m_a9734db6fb176602": "Garbage collection complete", + "m_ac1f587179b371a1": " Delete selected", + "m_1157eee8b9283734": "Tracking backlinks...", + "m_38372774e5415a6e": "Please wait.", + "m_4291ef38489ca46a": "Failed to track backlinks", + "m_1ce6d6664cb04530": "\n
      • \n \n __VIREO_SLOT_1__\n \n Blog\n
      • ", + "m_990b4c1d7cad17e1": "\n
      • \n __VIREO_SLOT_0__\n Discussion\n
      • ", + "m_33cbb4602073fb78": "\n
      • \n \n __VIREO_SLOT_1__\n \n Ticket\n
      • ", + "m_f1e3e9ce7c1fb7dd": "\n
      • \n \n __VIREO_SLOT_1__\n \n Page\n
      • ", + "m_7f6ade650e10d379": "
        Pages currently using this image: None
        ", + "m_fd33b1a4b07e2384": "Backlink tracking results", + "m_7ed12ac44a9887cb": "__VIREO_SLOT_0__ List of documents in use
        ", + "m_09aa016c5f43372b": "User", + "m_0ac696c929c4a7ed": "Super administrator", + "m_f932426b3687e632": "Administrator", + "m_e5d47a576f5bcf8e": "Discussion administrator", + "m_af258636a654f632": "", + "m_8199969ee24826d1": "Blocked", + "m_f7986512b3886a5c": "Normal", + "m_293182ec397e6b89": "Unblock", + "m_4b785e68bbaeafb2": "Changed", + "m_f4e3ec810bc2950d": "Block __VIREO_SLOT_0__", + "m_a6e7c85021623cdb": "Days (0=Unblock)", + "m_9aa31a355c5f1c82": "Open (fully unrestricted)", + "m_0e1d6e435d1d8866": "Disabled (blocked)", + "m_eb23450bff80aeee": "Failed to retrieve list", + "m_1b109fcd101882f3": "Failed to load: __VIREO_SLOT_0__", + "m_fe57cc5642b72994": "No announcements published", + "m_b88414a7c7371ad2": "(text only)", + "m_ea6a263186c95b72": "
        blog#__VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__
        ", + "m_bb8c8af377862bd1": " Deleted", + "m_0cca5a2971f119fa": "(untitled)", + "m_3c45a98ec04e084c": "", + "m_f66e36e2558de90f": "", + "m_7240ba2c07574495": "", + "m_6e59915db6f900f2": "", + "m_c1f3de26a5f102c6": "Icon picker failed to load.", + "m_80a42fdc93a8b3a3": "Please enter a title.", + "m_c0fd9a542515c058": "Publication failed.", + "m_da0dad56d4887e78": "The notice has been published.", + "m_710cee6baf966ad9": "Do you want to withdraw the notice?", + "m_4c84afb1ab910432": "Revoke", + "m_ed8b1ad5e3a58158": "Withdrawal failed.", + "m_2ac5f029a8308b3b": "Move failed.", + "m_2b8e0177e794ff8b": "Edit failed.", + "m_9693e1eb3edb1291": "Copied", + "m_7027c91cb33c8afe": "Save completed.", + "m_6c700457992d1984": "\n __VIREO_SLOT_0__\n __VIREO_SLOT_1__\n __VIREO_SLOT_2__\n __VIREO_SLOT_3__\n \n \n \n \n ", + "m_562d741f32937c7a": "No applications.", + "m_3552caa98eb436e3": "An error occurred while processing approval.", + "m_4f16c308b26b0191": "An error occurred while processing rejection.", + "m_191697bdb0eece29": "Failed to load list.", + "m_9d5d4fed551fb021": "\n \n
        __VIREO_SLOT_0__
        \n \n __VIREO_SLOT_1__\n \n \n \n \n ", + "m_8e33ab759d3c49a0": "Deleted temporary page not available.", + "m_f969cc6c70f1147d": "Total __VIREO_SLOT_0__ items.", + "m_917aa9acc9bd4f00": "
      • ", + "m_db21ba87d2bb268f": "
      • ", + "m_b88012495fd61b7f": "
      • ", + "m_87d48311da56e798": "
      • ", + "m_a77e673e33df301f": "Do you want to restore the document?", + "m_e7274914741b7904": "Restore.", + "m_c00baeeecffdda4b": "Restoration failed.", + "m_1d358458933cf3d4": "Restoration completed.", + "m_6f5d64ead92339db": "Membership N days.", + "m_1c6746a696b590ab": "This edit page history.", + "m_8cf990d20980a733": "Manual edit history.", + "m_f71eb110c02ececf": "No registered category ACL.", + "m_ffdbb50e2aa475ec": "Inactive.", + "m_a94c4ebca1afc288": "\n
        \n __VIREO_SLOT_1__\n __VIREO_SLOT_3__\n
        \n __VIREO_SLOT_4__ documents.\n
        ", + "m_a0e7ee7d62d7117e": "
        Failed to retrieve list: __VIREO_SLOT_0__.
        ", + "m_a804540cad75651f": "Failed to load logs.", + "m_1c33d57d376671cb": "No logs available.", + "m_375f2a17fd005d33": "
      • ", + "m_504ade90bc80e729": "
      • ", + "m_d038bc0ad25ed9f0": "
      • ", + "m_7cc01f11d9087f0a": "
      • ", + "m_2e1ae4c7b2dbdc8b": "No errors.", + "m_0245b23f2703421c": "No data available.", + "m_27aa10dd2ac8a04f": "
        \n
        Average (Avg).
        \n
        __VIREO_SLOT_0__ ms
        \n
        \n
        \n
        p95
        \n
        __VIREO_SLOT_1__ ms
        \n
        \n
        \n
        p99
        \n
        __VIREO_SLOT_2__ ms
        \n
        \n ", + "m_3d1af832228cb235": "Membership for __VIREO_SLOT_0__ days or more.", + "m_ca766e440fd9a607": " Edit restricted", + "m_8fad0c21df08b91f": "
        ", + "m_61ebde6ce0278343": "data-temporal-ms=\"__VIREO_SLOT_0__\" data-temporal-mode=\"__VIREO_SLOT_1__\">__VIREO_SLOT_2__
        ", + "m_b4f76a33b89bb947": "Success", + "m_37f9f3b4dae3a0c2": "__VIREO_SLOT_0__ days left", + "m_bd5fc8d9d63144b5": "__VIREO_SLOT_0__ days passed", + "m_660be8dc05756f29": "__VIREO_SLOT_0__ year", + "m_b2a75ffc664cfb3e": "__VIREO_SLOT_0__ month", + "m_24c9da1e988be3bc": "__VIREO_SLOT_0__ day", + "m_e4ed44191d2c228b": "__VIREO_SLOT_0__ hour", + "m_8ef0c1f1977d2540": "__VIREO_SLOT_0__ minute", + "m_f16a85a9e93a8699": "__VIREO_SLOT_0__ second", + "m_79e1a55bcaec418e": " left", + "m_cd887be638763115": " passed", + "m_111ec068b7c8a9e8": "__VIREO_SLOT_0__ years", + "m_c716bb70a4231be0": "__VIREO_SLOT_1__", + "m_36a083a833558006": "__VIREO_SLOT_2__", + "m_d1f9295e8d370952": "January", + "m_811d5d8a6b790167": "February", + "m_310010d93f058b83": "March", + "m_9d74e6caa95d1e81": "April", + "m_3bfa4068589f0a55": "May", + "m_b12d17822d583bf0": "June", + "m_add36baea45c759b": "July", + "m_5f0127f701deadad": "August", + "m_b16a827d17339118": "September", + "m_e0583d626b98ba7c": "October", + "m_5e12e956c42b0eb6": "November", + "m_c1ea3f913a36afc5": "December", + "m_1094b7d96a9a4109": "Sunday", + "m_6c95540e90f1a668": "Monday", + "m_94e234f76b8eab7e": "Tuesday", + "m_4ee1e5308220dcf1": "Wednesday", + "m_42d1a6367432ff8e": "Thursday", + "m_a594e9b583050ec4": "Friday", + "m_9f4eef79554b65d0": "Saturday", + "m_e09647e56f8b7b25": " ", + "m_2ab2d25416cb9437": "Go to external link", + "m_586d87d9a8dd8005": "External link __VIREO_SLOT_0__ Moving to.
        Do you want to continue?", + "m_2eb73fba696e2fe4": "Yes", + "m_1bd9c7624573e401": "Do you want to go to external link __VIREO_SLOT_0__?", + "m_9de1e8f20f53773d": "View image document: __VIREO_SLOT_0__", + "m_998f8bc6d96891d4": "
        Rendering diagram…
        ", + "m_f686e06a1e3e59ab": "
        Rendering chart…
        ", + "m_2fd5fe4b1f06d612": "Copy code", + "m_45b2dba76f782b4a": "Title copied.", + "m_a9a082320a57a6aa": "Copy section markdown", + "m_75a4500c1bfe7e1f": "Paragraph copied.", + "m_fd9385f42fbeb3bb": "Copy section link", + "m_58fd747e504105e2": "Edit this section only", + "m_0587feed32dce2b1": "Edit section", + "m_6d483574d6f62c82": "__VIREO_SLOT_0__ lines", + "m_6677dacfda7bd1cf": "__VIREO_SLOT_0__ characters (including spaces)", + "m_6f884f72025f6d53": "__VIREO_SLOT_0__ words", + "m_bba2df43bd36317f": "Failed to load extension script: ", + "m_04e6a6c23261a095": "[ext-sdk] defineExtension: render function missing (", + "m_7330c8d77372b51b": "[ext-sdk] Extension render failed (", + "m_816717780d53b2bf": "
        ⚠️ Extension render error: __VIREO_SLOT_0__
        ", + "m_e2e16c57161e128a": "[ext-sdk] Extension asynchronous render failed (", + "m_221ffcbb2b08b016": "[ext-sdk] Extension re-render failed (", + "m_a2af293eb559a854": "[ext-sdk] onThemeChange failed (", + "m_5270ec565b3f59aa": "
        ⚠️ Extension data not found.
        ", + "m_61b165a8c8808951": "
        ⚠️ Unknown extension: __VIREO_SLOT_0__
        ", + "m_98b3a605c4dfcab1": "
        Failed to load diagram library.
        ", + "m_3ca3edc2a96a0b58": "
        Diagram error
        __VIREO_SLOT_0__
        ", + "m_895ed39975f12244": "__VIREO_SLOT_0__ value must be in the format [a, b, c].", + "m_5a34b417191ccfc4": "Series item format error: \"__VIREO_SLOT_0__\" — must be in the format \"name: [number, ...]\".", + "m_834519cb468392f6": "Series \"__VIREO_SLOT_0__\"", + "m_05c591378dcc57d4": "Series \"__VIREO_SLOT_0__\" values must be a list of numbers ([120, 150, ...]).", + "m_d2433aabb003afe2": "Unknown line: \"__VIREO_SLOT_0__\"", + "m_c2930c6fbd88cc61": "Unsupported type: \"__VIREO_SLOT_0__\" — must be one of bar, line, pie, doughnut, radar.", + "m_d5c2dee002704944": "series: list \"name: [number, ...]\" with indentation from the next line.", + "m_ab81ac6483934fb3": "Unknown key: \"__VIREO_SLOT_0__\" — only type, labels, series are supported (series items require indentation).", + "m_0e36ab1fef14b593": "type is required (bar, line, pie, doughnut, radar).", + "m_ed77553468de39f6": "labels are required (e.g. labels: [1Q, 2Q, 3Q, 4Q]).", + "m_30bbebfd650e1342": "At least one series item is required.", + "m_825f2c4976ebc036": "Up to 8 series are supported.", + "m_b47794ae85254045": "Pie/doughnut charts support up to 8 items (labels).", + "m_8d2ec125e902f5db": "Series \"__VIREO_SLOT_0__\" value count (__VIREO_SLOT_1__) must match labels count (__VIREO_SLOT_2__).", + "m_1674c85d9fa4ee82": "
        Chart error.
        __VIREO_SLOT_0__
        ", + "m_1b47559afb653720": "Chart: __VIREO_SLOT_0__.", + "m_19c8b1eaaa5b3232": "
        Failed to render chart.
        ", + "m_3a92f0945a5ebe34": "
        Failed to load chart library.
        ", + "m_12ddd6ca69068faa": "Notification.", + "m_a44caa375edfe9f9": "API __VIREO_SLOT_0__ __VIREO_SLOT_1__ __VIREO_SLOT_2__", + "m_7545b39503978718": "Loading...", + "m_3c3b850c761f6668": "RAG mirroring is disabled (check RAG_SEARCH_ENABLED / RAG_BUCKET).", + "m_d7b5091b60eaed7f": "Bulk __VIREO_SLOT_0__ deletion of documents: __VIREO_SLOT_1__/__VIREO_SLOT_2__ items.", + "m_f4afd431e04afffc": "Document not found.", + "m_30df89932df3ca90": "Cannot move deleted document.", + "m_b9f524a9254f2af5": "Already moved or changed externally (skipped).", + "m_3ad19aa46150f9af": "No changes (nothing to find)", + "m_a735020dc7ef9e76": "Bulk document move (title change): \"__VIREO_SLOT_0__\" → \"__VIREO_SLOT_1__\" (__VIREO_SLOT_2__/__VIREO_SLOT_3__ items moved, __VIREO_SLOT_4__ back-links updated)", + "m_f46d2d3743a134e5": ", back-link failure __VIREO_SLOT_0__ items", + "m_8ec8a2a90281dd1a": ", back-link not updated __VIREO_SLOT_0__ items", + "m_ee82e0133f22362e": "Blocked accounts cannot access this resource.", + "m_2fe63954c7e53a1f": "\n\n\n\n\n\n__VIREO_SLOT_0__\n\n\n\n\n\n__VIREO_SLOT_5__\n\n\n
        __VIREO_SLOT_7__
        \n
        \n__VIREO_SLOT_8__\n
        \n\n", + "m_c29f0b4587dbd455": "Sub-document structure of __VIREO_SLOT_0__", + "m_e9703a579f6c5c8a": "(Root)", + "m_4a950e6b1646cff5": "__VIREO_SLOT_0__ - Image document", + "m_7989c08e00f0b922": "

        Tags: __VIREO_SLOT_0__

        ", + "m_dc9fd0bad4a7d8cd": "Private document - __VIREO_SLOT_0__", + "m_efc7fd6310f63f50": "
        \n

        __VIREO_SLOT_0__

        \n

        This document is private.

        \n
        ", + "m_a74a21bde371f2f4": "__VIREO_SLOT_0__ document is private.", + "m_3bd5e09f1ab5982e": "
        \n

        __VIREO_SLOT_0__

        \n

        This document has been deleted.

        \n
        ", + "m_02e62ff866abfe12": "__VIREO_SLOT_0__ document has been deleted.", + "m_7c2e54f55fcd9508": "No document - __VIREO_SLOT_0__", + "m_5ead5c155e8ba57a": "
        \n

        __VIREO_SLOT_0__

        \n

        The document you requested does not exist.

        \n
        ", + "m_cbe47a2bb2290296": "Cannot find __VIREO_SLOT_0__ document.", + "m_e2890670069386c9": "

        Automatically came from __VIREO_SLOT_0__.

        ", + "m_1f5f895990dac9d7": "

        Title: __VIREO_SLOT_0__

        ", + "m_84653322e3417259": "

        Body is empty.

        ", + "m_e838fb0ab17bfa72": "Login - ", + "m_04a65b6a61a9796c": "This is a private wiki. Please log in to use.", + "m_7eb1fefb7784f741": "An error occurred - ", + "m_6518ddaaddaaf1ac": " daily\n", + "m_28b76f58ad108f42": " \n", + "m_86c491782b0043ca": " weekly\n", + "m_a2aca12bc7570ba7": " __VIREO_SLOT_0__/blog\n", + "m_d190756ad4548f50": " __VIREO_SLOT_0__/blog/__VIREO_SLOT_1__\n", + "m_65543806151d7d94": "Discovery not implemented", + "m_e9357bc267260587": "Dynamic registration not supported", + "m_0019dfc4b32d63c1": "Not Found", + "m_f462be0e990eb8f7": "Page not found - ", + "m_59e63825df4dc0f7": "The page you requested cannot be found (404 Not Found)", + "m_e41656eb2ba6c629": "Internal Server Error", + "m_2c8f25af0a2db3fa": "An internal server error occurred (500 Internal Server Error)", + "m_02903fc13e99bba0": "The user has withdrawn.", + "m_640f50ae9c6b8e41": "Login is required.", + "m_6c866390a85ff79c": "The account is blocked and cannot be used.", + "m_b432a12aeaf2ac59": "Administrator privileges are required.", + "m_294eb6cfe8b5a1ea": "Insufficient permissions. (__VIREO_SLOT_0__)", + "m_a5ea4bcf95180105": "\"Logo\"", + "m_718e2147e1a2bdab": "Only administrators can edit this document.", + "m_b38aea24dea3b95b": "You do not have permission to edit this document (edit_acl: __VIREO_SLOT_0__).", + "m_40db2d51a7822a45": "Only administrators can create documents that start with this slug.", + "m_d5aa081f3614ef8a": "Documents starting with this slug cannot be edited according to the ACL policy (__VIREO_SLOT_0__).", + "m_35463423c1da3db2": "Retrieves the content of a specific revision. The revision_id is the integer id included in the get_recent_changes response, and title is the slug of the document the revision belongs to. Setting raw=true skips wiki syntax conversion (by default, returns the content in wiki syntax). The response includes the content, author, and creation time.", + "m_eab54d7e6d46ef2e": "The document slug to which the revision belongs", + "m_ab40a49df486a2a4": "Revision id (integer)", + "m_e8f6e0fc69c68cce": "Returns the list of drafts you currently have in progress. Each item includes draft_id, slug, action (create/update), base_revision_id, base_version, content_length, updated_at (ISO 8601). Drafts are automatically deleted 12 hours after the last activity.", + "m_066f30f8e937ee89": "Views the entire text of a draft in progress. Used for final check just before committing. Find and return your draft by title.", + "m_5a07ed31a58feb5f": "The slug of the document the draft belongs to", + "m_be0bef7757373462": "Returns a list of softly deleted documents in the order of most recently deleted. Use with restore_page. The response includes slug, deletion time (deleted_at, ISO 8601), last editor (last_editor), and last edit summary (last_summary).", + "m_d97ab144879ae08b": "Maximum number of items to return (default 20, maximum 100)", + "m_6892a3de2fc8f445": "Only documents deleted after this point (ISO 8601)", + "m_9affaa695800932b": "\n\n⚠️ Heading creation rules: The wiki automatically assigns hierarchical numbers (\"1.\", \"1.1.\", etc.) to headings (##, ###, ...). ", + "m_924ee1d025cc7457": "Do not directly write numbers in heading text (e.g., `## 1. Overview` ❌ → `## Overview` ✅). Direct writing causes duplicate numbers like \"1. 1. Overview\" to appear during rendering. ", + "m_2912b9d4b8cdae72": "When referring to other sections in the table of contents, use section anchors in the format `[[Document#s-1.2]]`.", + "m_7db2629871eda279": "Creates a draft to either completely create a new VTX wiki article or replace the entire content. ⚠️ It accumulates in the draft without saving immediately, and a new revision is created only after calling commit_edit(draft_id, summary). If you already have a draft with the same slug, the content of that draft will be replaced by the content of this call. If create_only=true, it returns an error if the page already exists (to prevent accidental overwriting).\n\nThe response includes draft_id, which can be used to call read_draft / commit_edit / discard_edit. Drafts are automatically deleted 12 hours after the last activity.", + "m_1912bfdf15320f6f": "Article slug (call/identifier)", + "m_3f40303960c3dd7a": "Full article content (Markdown/wiki syntax)", + "m_9184a0a02e3537fe": "Comma-separated categories (optional, only Hangul/alphanumeric/space/comma allowed)", + "m_a73ce1e5ea4e4eab": "Redirect target slug (optional)", + "m_f225f4981b80626a": "Returns an error if true and the slug already exists (default false)", + "m_73238162a48c3cf3": "Display-only alternative title (optional). Unlike the slug, all special characters are allowed. If null/empty string, it is removed. Not used for call matching; wiki links/transclusion/MCP parameters always use the slug (title parameter).", + "m_3d7c2b7994b3115d": "Editor note (optional). A private note visible only in the editor, not exposed to general viewing. It is not tracked in revisions, and if only the edit note changes without modifying the content, it is treated as a virtual revision.", + "m_b311de5bec1786ff": "This is a partial edit that finds and replaces specific text in a document (similar to the Claude Code Edit tool). ⚠️ Changes are accumulated in a draft without being saved immediately, and a new revision is created only when commit_edit is called. If a draft with the same slug already exists, the replacement is performed on the existing draft content (if not, the current page content is automatically snapshotted to start a draft). old_string must appear exactly once in the target content (=draft or current page content), and if it matches more than once including overlapping matches, an error occurs — make it unique by including more context. If new_string is an empty string, that part will be deleted. The response includes draft_id. Use edit_section for section-level edits and create_or_update_page for replacing the entire content.", + "m_34cb2b870cc0091f": "Slug of the document to edit", + "m_9f0f47181df49afa": "Existing text to find in the target content (must be unique)", + "m_680108655cd6e15c": "New text to replace old_string (if empty, that part is deleted)", + "m_a4d5650e98914ad7": "Replaces the entire content of a specific section of the document with new content. ⚠️ Changes are accumulated in the draft without immediate saving, and a new revision is created only when commit_edit is called. If you already have a draft with the same slug, the section replacement is performed on the draft content (if not, a snapshot of the current page content is automatically taken). section_number is the original reference number derived from get_toc(raw=true) or the body from read_draft (eg. \"1\", \"1.1\", \"0\"). It is recommended to send new_content in the same format received from read_section(raw=true) (including the heading line). The replacement range is from the specified heading to just before the next heading of the same or higher level (\"0\" refers to the introduction before the first heading). The response includes draft_id.", + "m_2e7d5e478b0f50f9": "Section number returned by get_toc(raw=true) (e.g. \"1\", \"1.1\", \"0\")", + "m_08853e15284006c1": "New content to replace the section (including heading line recommended).", + "m_1733ff031c83966b": "draft for approval. If the base_revision_id has changed in the meantime (= another user modified the page), it will be rejected — in that case, you must discard_edit, then read_document to fetch the latest state, and reassemble your edits. If it is a new page draft but a page with the same slug already exists at the commit time, it will also be rejected for the same reason. The summary is an edit summary for the new revision (optional, up to 255 characters). When saved, a prefix `[MCP] [+N lines -M lines] ` is automatically added to distinguish human edits and show the scale of changes at a glance (e.g., `[MCP] [+5 lines -2 lines] Typo correction`).\n\nThe response also includes the line-level changes compared to the previous content (`lines_added` / `lines_removed`) — equivalent in meaning to git diff --stat's +N/-M (calculated based on LCS after CRLF normalization).\n\n**It is always submitted for approval.** Drafts do not become revisions immediately; they are submitted for approval to the OAuth token owner (= the person who connected this MCP). Only after the owner reviews and approves via My Page / Notifications / Document Banner is the revision created. If rejected, the draft is discarded.\n\nTo apply edits immediately without approval steps (if 'Allow Immediate MCP Edits' is enabled on My Page), use the apply_edit tool instead of commit_edit — if apply_edit appears in the tool list, it is active.", + "m_99c040ac74eb7f5a": "ID of the draft to be committed (value received from the edit tool response)", + "m_d94deba089b9cc19": "Edit summary (optional, up to 255 characters, `[MCP]` prefix automatically added on save)", + "m_2511d64529f77c69": "Discard the draft. All accumulated edits will be lost and there will be no impact on the page.", + "m_df9da3b97a3d932c": "ID of the draft to be discarded", + "m_8331d117bc307c22": "Revert the document to a specific past revision (applied immediately — draft model not used). revision_id is the integer id obtained from read_revision or get_recent_changes response. Reversion creates a new revision to save the original content again without deleting the past revision itself.", + "m_954004d370420e93": "Document slug to be reverted", + "m_0f6bbfd4bfc70d40": "Revision id to revert to (integer)", + "m_1a534a0c2d48c342": "Edit summary (optional, default 'reverted to revision #N', [MCP] prefix automatically added on save)", + "m_a8319bc306b93ca0": "Deletes a wiki document (applied immediately — draft model not used). Default is soft deletion (sets deleted_at) and can be restored with restore_page. Only hard=true permanently deletes from D1/R2 and requires super_admin privileges.", + "m_cba875e322a3b362": "Slug of the document to be deleted", + "m_77cd1dca513b92bf": "Permanent deletion if true (super_admin only)", + "m_8aa291a2b51c5649": "Restores a soft-deleted document (applied immediately — draft model not used).", + "m_9443783ff1f6e7f3": "Slug of the document to be restored", + "m_4782d7c3ddde2cb5": "Change the document slug (move, immediate application — draft model not used). Wiki links/templates in this document will be rewritten based on the new slug, and a new revision will be added. If update_backlinks=true (default), the content of other documents referring to this document will also be batch rewritten (new revision created for each document). If there are very many backlinks, specify false to disable for performance reasons.", + "m_b7efb4c7aa9167ef": "Current document slug", + "m_24cae5596547e34d": "New document slug", + "m_3d539028bf57ada4": "Whether to also rewrite the content of backlinking documents (optional, default true — backlinks auto-updated on move. Specify false to disable)", + "m_86493ccf3dd29124": "Create a new blog (/blog) post (immediate application — draft model not used). The response includes the new post id. The first image in the content is automatically extracted as a thumbnail, and image backlinks (page_links) are automatically updated.", + "m_ea1ece85c0fd0b4b": "Post title (1-500 characters)", + "m_4f67d9921b617e0e": "Post content (Markdown/Wiki syntax)", + "m_6f4b4056a4874cdc": "Edit the title/content of a blog post (immediate application — draft model not used). Both title and content are optional, but at least one must be specified. If content is specified, the entire content is replaced and thumbnail and image backlinks are recalculated. Soft-deleted posts cannot be edited (restore with restore_blog_post first).", + "m_963c381e30c73ad2": "Blog post id to edit (integer)", + "m_3a5e8e05f681f266": "New title (optional, 1-500 characters)", + "m_ecad3ddd01b1cc4b": "New content (optional, replaces entire content if specified)", + "m_8ed5a0ca38c32806": "Soft delete a blog post (applied immediately — draft model not used). Permanent deletion is not supported and can be restored with restore_blog_post. If the deleted post was published as a site announcement, the announcement will also be automatically cancelled. Backlinks (page_links) to images referenced in this post will also be cleaned up.", + "m_59b8dd468f3c0bd5": "ID of the blog post to delete (integer)", + "m_4e5af2aae9a06ee2": "Restore a soft-deleted blog post (applied immediately — draft model not used). After restoration, image backlinks (page_links) will be rebuilt based on the content.", + "m_cf198c4727854a63": "ID of the blog post to restore (integer)", + "m_636f29ef3dd55f9b": "Change only the category without modifying the document content (applied immediately — draft model not used, no new revision created). Used when updating metadata without reading or editing the content. - category: categories separated by commas (Korean/alphanumeric/space/comma only allowed). Sending an empty string removes all categories. Changes are recorded in admin_log but not in the revision history (no edit summary/author registration). Private settings, edit locks/administrator-only ACLs are set through separate APIs or the permission management modal.", + "m_11f69bd32d428f14": "Target document slug", + "m_d5112ef535b0ce5b": "Categories separated by commas (sending an empty string removes all categories)", + "m_9615f12f15f8e6f7": "Error: summary must include [MCP] prefix and be at most __VIREO_SLOT_0__ characters (currently __VIREO_SLOT_1__ characters).", + "m_eaf5dbfe425cfa3f": "Error: wiki:edit permission is required.", + "m_8ab6728713ad8858": "Error: title is required.", + "m_aa2df5e3971b60e7": "Error: cannot find draft for the specified slug.", + "m_b525ffd5499fc86d": "Error: admin:access permission is required.", + "m_35456c06c2ad2c05": "Error: since is not a valid ISO 8601 date: __VIREO_SLOT_0__", + "m_342d2c21b9f70059": "Error: revision_id must be a positive integer.", + "m_36f26fa461c07fd6": "Error: Document not found.", + "m_1c0d1ec937005f23": "Error: Revisions cannot be found.", + "m_79a074aac12f4b03": "Error: The specified revision is not part of this document.", + "m_0c08d9cc7b013e9a": "CONCURRENT_MODIFICATION", + "m_bb6e8cdce042d5d9": "draft has been issued.\n\n", + "m_f1b2a0a0ce744f91": "Usage:\n", + "m_5fdebda560bdaf13": " 1) Next, if you call patch_page / edit_section / create_or_update_page with the same title, it will accumulate in this draft (one per user×slug).\n", + "m_96af99f246616c9a": " 2) Progress in read_draft(title) View main text.\n", + "m_14633f93c811369e": " 3) After finishing editing, create and save one revision in commit_edit (draft_id, summary).\n", + "m_c6df720ffe5dbfaf": " 4) To dispose of discard_edit(draft_id).\n", + "m_c5653e410b295271": " 5) After 12 hours after the last activity, the midnight Kron will automatically delete it.\n", + "m_2dc8566bc0bc2a8b": " 6) If base_revision_id changes at the time of commit (= another user edits the page), it will be rejected as a conflict — discard and read_document to reload the latest version and reconstruct it.", + "m_89fa221ff4b12753": "The draft has been updated. Save it with commit_edit(draft_id, summary) or discard it with discard_edit(draft_id).", + "m_b984971f61ea5da3": "There is a document edit for \"__VIREO_SLOT_0__\" submitted to the MCP server.", + "m_e085d4d2b72069cf": "MCP edit proposal submission", + "m_d562855ceec48d54": "Error: The slug contains special characters that cannot be used.", + "m_e02821f6bffe9ca0": "Error: The \"Image:\" namespace cannot be edited via admin-mcp (images only).", + "m_51f6566a2dc68dac": "Error: The \"map:\" namespace is for virtual tree view only and cannot be edited.", + "m_b3104adc425b92b3": "Error: content must be a string.", + "m_ecc6b4ed43d3fa11": "Error: special characters are not allowed in category.", + "m_66f6e8ed248c75ed": "Error: display_title must be a string or null.", + "m_c79c864cbdc920ad": "Error: Control characters are not allowed in alternative titles.", + "m_1ef45f2dd443d3e9": "Error: Alternative title must be no longer than __VIREO_SLOT_0__ characters.", + "m_ecd14a0b47bd02cf": " (Soft deleted — requires admin restoration or permanent deletion)", + "m_06ab29e11e5de033": "Error: '__VIREO_SLOT_0__' is already used as a slug for another document.__VIREO_SLOT_1__", + "m_d37ce58985a8c6fb": "Error: '__VIREO_SLOT_0__' is already used as an alternative title for another document.__VIREO_SLOT_1__", + "m_498cdf7a4578a46f": " (Soft deleted)", + "m_8d49255bd1e6c534": "Error: '__VIREO_SLOT_0__' is already the alternative title for another document and cannot be used as a slug.__VIREO_SLOT_1__", + "m_0be79ab877efcff9": "Error: The document already exists. To modify, set create_only to false or use patch_page.", + "m_1305aec62a88f8a3": "Error: A soft-deleted document with the same slug already exists. ", + "m_d71e674e7fab6572": "Restore the page with restore_page to edit or permanently delete it using delete_page (hard=true) and then recreate it.", + "m_da391d05579986b7": "Error: This draft has already been submitted for approval. It cannot be edited until the user approves or rejects it on mypage. To discard, use discard_edit.", + "m_b553e7b7164d38ae": "Error: The \"Image:\" namespace cannot be edited with admin-mcp.", + "m_1892d082de75f76e": "Error: old_string must be a non-empty string.", + "m_59ce8f7fb9a9d57d": "Error: new_string must be a string.", + "m_06adfdb126ca2f2d": "Error: The document cannot be found or has been deleted. Start a new page with create_or_update_page.", + "m_5215b013ba9c5c3e": "Error: old_string cannot be found in (draft content if a draft exists, otherwise in the page content).", + "m_c87c37f4896b20b5": "Error: old_string was found __VIREO_SLOT_0__ times in the content (including overlapping matches). ", + "m_84109eed126cc204": "Please include more context around it (lines before/after) to uniquely identify it.", + "m_bf29c154ae523703": "Error: section_number is required.", + "m_1be69df5082dfc07": "Error: new_content must be a string.", + "m_6c36b8c1eeb7f782": "Error: Section number \"__VIREO_SLOT_0__\" cannot be found in the content. ", + "m_d6939b8ab743c3cb": "Confirm the exact number with read_draft or get_toc(raw=true).", + "m_5ee1357c836e3265": "Error: No changes (new_content is identical to the existing section).", + "m_b61bfa2e7e9f6307": "Error: draft_id must be a positive integer.", + "m_1e2db7eab1f0eda0": "Error: draft cannot be found (already committed/discarded or 12-hour TTL expired).", + "m_06ef274dccd56546": "Error: you cannot commit another user's draft.", + "m_0c9d736ef7c1be1c": "Error: this draft has already been submitted for approval. It cannot be changed until the user approves/rejects it on mypage. Use discard_edit to discard.", + "m_96a6516836c03caf": "The page does not exist or has been deleted. Check the status after discard_edit.", + "m_90150790f9c7a71e": "Another user modified the page after the draft was started. Read the latest version with read_document after discard_edit and restructure your edits.", + "m_90b56fb3e80e056e": "Error: '__VIREO_SLOT_0__' is already a slug of another document.__VIREO_SLOT_1__", + "m_9eeaa6a50cf56682": "Error: '__VIREO_SLOT_0__' is already an alternative title of another document.__VIREO_SLOT_1__", + "m_f2a2c84b1393640d": "Error: this draft has already been submitted for approval (concurrent call race).", + "m_4f58ec5b5e4730aa": "Submitted for approval. A revision will only be created after review and approval on /mypage#mcp-submissions.", + "m_87e7f7a96beea8fb": "Another user created a page with the same slug after the draft started. Check with read_document after discard_edit.", + "m_f5ce6ee4e62e8de6": "Restore the page with restore_page for editing or create again after delete_page (hard=true).", + "m_45e2704a9530e5f8": "Error: '__VIREO_SLOT_0__' cannot be used as a slug as it conflicts with an alternative title of another document.", + "m_5797a6d9c5ecfc15": "Error: '__VIREO_SLOT_0__' is already the slug of another document.", + "m_2a061c6193cd4033": "Error: '__VIREO_SLOT_0__' is already the alternative title of another document.", + "m_d43fc755953e8e89": "Submitted pending approval. The new page will only be created after review and approval at /mypage#mcp-submissions.", + "m_d8488b87a42a88f5": "Error: Unknown draft action: __VIREO_SLOT_0__", + "m_71a4c23be8db3690": "Error: Draft not found (already committed/discarded or TTL expired).", + "m_a5438b3b7fb76bf4": "Error: Cannot discard another user's draft.", + "m_d023ab691dff7bd9": "Error: Document not found or has been deleted.", + "m_d365748ab682796b": "Error: Cannot revert using a virtual revision.", + "m_59a499ddfeccdc0d": "Error: Cannot revert to a revision whose content has been permanently deleted.", + "m_55c56ac0928877ec": "Error: Cannot revert to a hidden revision.", + "m_694af6f9095a9def": "Another user edited the page during revert. Please try again (revert_page applies CAS based on the page version at the time of calling).", + "m_aa3a49af02c77e8c": "Error: Failed to save revision (__VIREO_SLOT_0__)", + "m_f4ec1684e2260eeb": "Error: Document not found or already deleted.", + "m_a1dbee63d898ee47": "Error: Permanent delete is only possible for super_admin.", + "m_c8a7907ff37ab3c3": "[admin-mcp] Permanent document deletion: __VIREO_SLOT_0__", + "m_67fc323a30e1f44d": "Error: You do not have permission to delete the document.", + "m_b80e25642871183c": "[admin-mcp] Delete document: __VIREO_SLOT_0__", + "m_e71689f947fff666": "Error: You do not have permission to restore.", + "m_c0cae7a74ebe04c8": "Error: The 'Image:' namespace cannot be restored as a regular document.", + "m_0c5192f5f86de2aa": "Error: The 'map:' namespace is exclusive to the virtual tree view and cannot be restored.", + "m_f3cd5840152553ef": "Error: The document is not in a deleted state.", + "m_2f067521b8876bdb": "[admin-mcp] Restore document: __VIREO_SLOT_0__", + "m_14e60317e5fae82c": "Error: Both title and new_title are required.", + "m_cb1a1e273aea7b04": "Error: Cannot move to the same slug.", + "m_856dd2df08c4246a": "Error: The new slug contains invalid special characters.", + "m_cc9846e90f9e828a": "Error: The 'Image:' namespace cannot be the target of a move.", + "m_1cc7261dc2df7fdf": "Error: The 'map:' namespace is exclusive to the virtual tree view and cannot be the target of a move.", + "m_0146467f26ec73c6": "Error: Documents with namespaces cannot be moved to another namespace.", + "m_0b5af618752913e3": "Error: Admin-only documents can only be moved by administrators.", + "m_fdfa5a2d5f78e542": "Error: The new slug already exists.__VIREO_SLOT_0__", + "m_5c8f76d6c556ba92": "Error: '__VIREO_SLOT_0__' is already used as an alternative title for another document and cannot be used.__VIREO_SLOT_1__", + "m_f9b2c39ea47d991a": "[Move] Address changed: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_8f525ba61830ea2f": "Error: The new slug conflicts with another document. Please try again.", + "m_ff744d061f41f00f": "[admin-mcp] Move document: __VIREO_SLOT_0__ → __VIREO_SLOT_1____VIREO_SLOT_2__", + "m_dd24a86b62797590": " (Updated __VIREO_SLOT_0__ backlinks)", + "m_2f1b7032fa67d995": "Error: title must be a string.", + "m_9952e26982704b4f": "Error: Please enter a title.", + "m_e602bd6e22f66637": "Error: Title must be within 500 characters.", + "m_455e32fcc4e8b0c4": "Error: Failed to save", + "m_9e203cd85a24d16a": "[admin-mcp] Create blog: __VIREO_SLOT_0__", + "m_6dcf73d828a63cfe": "Error: id must be a positive integer.", + "m_a2251307d59448a7": "Error: At least one of title or content must be specified.", + "m_6eec2c670cd0b15c": "Error: Blog post not found or has been deleted.", + "m_c0149a7404a737ca": "[admin-mcp] Edit blog: __VIREO_SLOT_0__", + "m_2387e771a93389a0": "Error: Blog post not found.", + "m_a92db503150b6878": "Error: Post has already been deleted.", + "m_f0f10112368b9417": "[admin-mcp] Delete blog: __VIREO_SLOT_0__", + "m_a27088cdebc322b3": "Error: Post is not in deleted state.", + "m_43d079b80e1d56b8": "[admin-mcp] Restore blog: __VIREO_SLOT_0__", + "m_f16fe8e4ae090a74": "Error: category must be specified.", + "m_f0c82c07ff59de9e": "Error: The \"image:\" namespace cannot be changed by admin-mcp.", + "m_42d48256ecd34d50": "Error: The \"map:\" namespace is for virtual tree view only and cannot be changed.", + "m_78742118a5af3c36": "Error: The status of admin-only documents can only be changed by administrators.", + "m_83c94bc5f7b7e6de": "The requested category is already the current value.", + "m_d1d6083885279cd5": "[admin-mcp] Document status changed: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_52ab88f8136b6083": "\n\n## Editing assistant reading tools (currently authenticated user: __VIREO_SLOT_0__) __VIREO_SLOT_1__", + "m_52daaee07eb4aa72": "\n\n## Editing tools Available editing tools are as follows.\n\n", + "m_a995ff0df25d25e8": "\n\nThe revision summary is prefixed with [MCP] (no record for draft stage).", + "m_eaecb784ae99da46": "**Apply immediately** (draft model not used): revert_page.\n\n", + "m_784c7704a3a2f0ae": "\n\n## Editing tools\n\n", + "m_1e1c4a998b7b2f1c": "**stateful draft model**: create_or_update_page / patch_page / edit_section do not save immediately but accumulate in `mcp_drafts`. ", + "m_da4c2b335f807689": "(one per user for the same slug). Receive `draft_id` in response, and call commit_edit(draft_id, summary) after finishing editing. ", + "m_dde3f09c6f760e12": "Submit for approval — a revision is only created after the user approves it at /mypage#mcp-submissions. If another user has modified the page since the start, commit_edit is rejected due to conflict. ", + "m_a1d93a929874828a": "(in this case, use discard_edit and read_document to fetch the latest state and reconstruct the edit). Drafts are automatically deleted 12 hours after the last activity.\n\n", + "m_df9d818634c94050": "**⚠️ Heading creation rules**: The wiki automatically assigns hierarchical numbers (\"1.\", \"1.1.\", etc.) to headings (##, ###, ...). ", + "m_edb211a446241a10": "When referring to other sections in the table of contents, use section anchors in the format `[[Document#s-1.2]]`.\n\n", + "m_2364117719f3a8b3": "**Always submit for approval**: When commit_edit is called, the draft is not immediately revised but submitted for approval to the OAuth token owner (the person who connected this MCP). ", + "m_6bd1943582da2fb4": "The revision is only created after you review and approve it on My Page / Notifications / Document Banner. If rejected, the draft is discarded. ", + "m_3018916d76962e2b": "Drafts pending approval are shown with the `status` field as `pending_approval` in list_drafts / read_draft, and cannot be further edited by AI (can only be discarded using discard_edit).\n\n", + "m_6bb8551b26be9ae0": "\n\n## Admin-only reading tool (currently authenticated admin: __VIREO_SLOT_0__) __VIREO_SLOT_1__", + "m_7434f1ab7d74a574": "\n\n## Admin-only editing tool (applied immediately)\n", + "m_ea679e2e44dc658c": "Invalid permissions.", + "m_e380992be8c63526": "User not found.", + "m_df76d4b07bcc4ab1": "The super admin's permissions cannot be changed.", + "m_134929c0476fe5be": "Only the super admin can appoint or remove admins.", + "m_f8876d2c7b783ca4": "Change user #__VIREO_SLOT_0__(__VIREO_SLOT_1__) permissions to '__VIREO_SLOT_2__'.", + "m_645f32deb057bd92": "Please enter a valid duration.", + "m_1f541562fd01c78c": "The super admin cannot be blocked.", + "m_3ed6d4e354c838b3": "Admins cannot block other admins.", + "m_abb4a8d8ac94c992": "Blocked for __VIREO_SLOT_0__ days by an admin.", + "m_a9565509464e86d1": "Block notification.", + "m_069ae175a607723e": "Unblock user #__VIREO_SLOT_0__(__VIREO_SLOT_1__)", + "m_5db36d624bb88e41": "User #__VIREO_SLOT_0__(__VIREO_SLOT_1__) has been blocked for __VIREO_SLOT_2__ days", + "m_6065324cc601db46": "The title must be 200 characters or fewer.", + "m_721e85fe55a6dfc1": "URL must start with http(s):// or /.", + "m_cd6ca34f9c9274eb": "postId is invalid.", + "m_0a9a88e363952e3f": "The blog post does not exist.", + "m_fb575a3d25163990": "The icon format is invalid.", + "m_8faf5b2e2a4160c8": "The blog post has already been published as an announcement.", + "m_dd77fc076afa8ac6": "Announcement published: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"__VIREO_SLOT_2__", + "m_4ca9f71978de0cc6": "id is invalid.", + "m_8941843751b73156": "Announcement not found.", + "m_159b9a7741b2361c": "Announcement edited: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_1f2acd38d1fdb703": "Announcement retracted: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_279a839056ee1c30": "order must be an array.", + "m_414eef8d5089d64b": "Duplicate ID exists.", + "m_ce643349a6112764": "Must match the current announcement ID.", + "m_7b2942f9fc5aa0db": "Change announcement order", + "m_8c9c3d9c42be0512": "direction must be either up or down.", + "m_e547850637ba3ade": "Move announcement: #__VIREO_SLOT_0__ __VIREO_SLOT_1__", + "m_4e9dad53d17ad6f9": "Site-wide settings can only be changed by the top administrator.", + "m_c3f42c4127677ace": "Please enter an integer greater than or equal to -1.", + "m_3926d37021dd5bac": "Membership policy can only be \"open\" or \"approval\".", + "m_dd73227944f3b24e": "Edit ACL membership day threshold must be an integer between 0 and 36500.", + "m_f95cea1cbd17aed8": "Change global settings", + "m_3b95ca231fd78ac9": "Wiki settings changed: __VIREO_SLOT_0__", + "m_cb74b7f1f6aa5aba": "Invalid state value.", + "m_3aefa99fa362ec14": "Membership application not found.", + "m_26bf3a5c77a1d6e8": "Application has already been processed.", + "m_3207e71f669e7d66": "A user with the same email has already signed up.", + "m_fe7c2184c6281693": "Membership approved.", + "m_f3b0e304fe72ea17": "Welcome __VIREO_SLOT_0__ to __VIREO_SLOT_1__.", + "m_807b32fb748e5ea0": "Wiki", + "m_4ac9e18d389472c1": "Membership application approved: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_6b2aba4efe8db65a": "Membership application result.", + "m_82b589a40a35bb0b": "Membership application rejected. You can reapply.", + "m_b961ccd0211a154b": "Membership application rejected: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_128abb2d38023dfd": "Membership blocked and can no longer be applied for.", + "m_57304c35b2c1ae2b": "Membership application blocked: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_ba456591ad3e7df7": "Please enter a category name.", + "m_780a4f6da8ad2e1a": "Category added: __VIREO_SLOT_0__", + "m_d29e8f3e8ffd04bb": "Category already exists.", + "m_8baac37faa1da152": "Category not found.", + "m_c464bf2bb778ec11": "Category deleted: __VIREO_SLOT_0__", + "m_fd04e6fd149684a1": "Name is empty.", + "m_592c3fe662fb1c68": "Category name contains invalid characters.", + "m_a5312718c2987eb0": "Category ACL disabled: __VIREO_SLOT_0__", + "m_0c200cb9ffbed5e8": "Category ACL changed: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_4bc80e3d2f3e6ed7": "No category ACL entries.", + "m_0c643c63a7d091cb": "Delete category ACL: __VIREO_SLOT_0__ (legacy=__VIREO_SLOT_1__)", + "m_b3caf5b30c7fbe72": "The number of documents that can be processed at one time is up to __VIREO_SLOT_0__.", + "m_74ae499212b6752f": "[Permission] Edit ACL change: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_3e3bc59fe5cbacc5": "Apply category ACL in batch: __VIREO_SLOT_0__ (mode=__VIREO_SLOT_1__, scan=__VIREO_SLOT_2__, change=__VIREO_SLOT_3__/__VIREO_SLOT_4____VIREO_SLOT_5__)", + "m_18d2ef3481b14747": ", Save template", + "m_1276de4f2ff69f84": "Only the super administrator can use this.", + "m_85e145de59c5d3f3": "[[Image:__VIREO_SLOT_0__]]", + "m_ce322b2939e689ee": "[[Image:__VIREO_SLOT_0__|", + "m_3ef3cc43b593206d": "[[Image:__VIREO_SLOT_0__#", + "m_5f125601b256554e": "You can delete up to __VIREO_SLOT_0__ at a time.", + "m_19f204595de41ff1": "ID __VIREO_SLOT_0__: Image not found", + "m_d1f4b10ae2b81356": "__VIREO_SLOT_0__: Currently used image", + "m_b0f36928bf289681": "Garbage collection: Deleted __VIREO_SLOT_0__ unused images", + "m_9c0935a851d6062d": "Image not found.", + "m_4ffa12c344dee170": "Delete media: __VIREO_SLOT_0__", + "m_c0be3b1a827e4c76": "Please enter a prefix.", + "m_5a85f5d54b42fdd3": "The prefix can be up to 200 characters long.", + "m_496b6b1ade3a4e6a": "Control characters cannot be used in the prefix.", + "m_1aee0ae203eabd47": "scanPrefixSubpages: disallowed column '__VIREO_SLOT_0__'", + "m_6246136884f91732": "Categories can only contain Korean/English letters/numbers/spaces/commas.", + "m_bc7101092992ca04": "Save auto category rule: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_b9e3e99701625ec3": "Rule not found.", + "m_865de98deb7295d1": "Delete auto category rule: __VIREO_SLOT_0__", + "m_a7cfdc8a772d1f56": "Too many sub-documents to handle in batch modal (__VIREO_SLOT_0__ items, limit __VIREO_SLOT_1__). Please split with a deeper prefix.", + "m_ddbda3182182b4aa": "Please select documents to apply or enable the save as auto rule option.", + "m_1fba32a0382881be": "Sub-document category management: __VIREO_SLOT_0__/** (scanned=__VIREO_SLOT_1__, added=__VIREO_SLOT_2__/__VIREO_SLOT_3__, removed=__VIREO_SLOT_4__/__VIREO_SLOT_5__, categories=__VIREO_SLOT_6____VIREO_SLOT_7__)", + "m_d34070e2c5d7788f": ", save rule", + "m_d8c31374d308ba44": "Flag value must be one of 0, 1, or null.", + "m_e71b631ca9300163": "categories must be a comma-separated string.", + "m_129ad77a88ffe229": "At least one of private/edit ACL/category must have a rule specified.", + "m_d54c013d31143bba": "Save auto document setting rule: __VIREO_SLOT_0__ → private=__VIREO_SLOT_1__, edit_acl=__VIREO_SLOT_2__, categories=__VIREO_SLOT_3__", + "m_9d02d96d16f78ae8": "Delete auto document setting rule: __VIREO_SLOT_0__", + "m_ead44cdfaef58eda": "privateAction must be one of 'none'|'on'|'off'.", + "m_85b9bf60faf26a87": "aclAction='set' but aclValue is empty. Use 'clear' for deactivation.", + "m_3068682e59372c1d": "or enable the save option with automatic rules.", + "m_d572c78b8583fa19": "Edit ACL change: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_fb140132c244fc1e": "Private setting __VIREO_SLOT_0__", + "m_7deba0b2c89d4723": "[Permission] __VIREO_SLOT_0__", + "m_39da805aa28f9199": "To save with automatic rules, you must specify at least one of private/edit ACL/category.", + "m_9d34ec7de65bd465": "Manage sub-document settings: __VIREO_SLOT_0__/** (Scan=__VIREO_SLOT_1__, Change=__VIREO_SLOT_2__/__VIREO_SLOT_3__, Private=__VIREO_SLOT_4__, ACL=__VIREO_SLOT_5__, Cats=__VIREO_SLOT_6____VIREO_SLOT_7__)", + "m_cbcbb3a4f3b94b1d": "Slug is empty.", + "m_26d991ce5ab3d99d": "Document edit ACL change: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_167335d1fe4b72af": "is_private must be 0 or 1.", + "m_9ee87e5f6318909d": "[Permission] Private setting __VIREO_SLOT_0__", + "m_191a136b0fb06b11": "Document flag change: __VIREO_SLOT_0__ → Private __VIREO_SLOT_1__", + "m_d8487cf70ba43a40": "Invalid color value: __VIREO_SLOT_0__", + "m_08a6adb370b3919b": "Please enter at least one of bg or color values.", + "m_9c15cffdb22483bf": "The request body is invalid.", + "m_9c95023c39a049f1": "Palette name can only use 1–64 characters of letters/numbers/underscores/hyphens.", + "m_32b4508fa9dae6fe": "'__VIREO_SLOT_0__' cannot be used because it overlaps with a hardcoded preset.", + "m_c43cbd277bab8e60": "Save palette: __VIREO_SLOT_0__", + "m_f8a8daac0ad531d0": "Invalid palette name.", + "m_a3529e228f5f66d5": "Palette not found.", + "m_de6063acba84ba4a": "Delete palette: __VIREO_SLOT_0__", + "m_41a6a0a71ad6255d": "Admin job runner (ADMIN_JOB_DO) is disabled. Deploy a DO-only Worker (cloudwiki-do) and configure the Durable Object binding (script_name) in wrangler.toml before deploying. → docs/durable-object-worker.md", + "m_3a0a5279aa52b485": "Unknown job type.", + "m_de2dcb8236fb280d": "mode must be 'soft' or 'hard'.", + "m_e6a33083a9e9c7ac": "Please enter the content to find.", + "m_9ff821ce3db62627": "The content to find and replace is the same.", + "m_51ddd7ceb38ce1db": "Cannot find the document to move.", + "m_38dafb8bfccdd2b3": "Start bulk job: __VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__", + "m_9f9ae346568f9372": " (__VIREO_SLOT_0__ items)", + "m_562eb6e6e08ecf12": " [Resume]", + "m_a6d38c860b371436": "Analytics API credentials are not set. Missing: [__VIREO_SLOT_0__]. Please add them in Cloudflare Dashboard > Workers > Settings > Variables and Secrets.", + "m_69ce7e22c1a4418a": "Failed to create account. Please try again.", + "m_91056188b8bd82f5": "This auth provider is not enabled", + "m_0b0a009c6e0d2392": "Invalid request.", + "m_2d794ec3450db6d9": "Please enter a display name.", + "m_7643eee1fec028c1": "Token has expired or is invalid. Please log in again.", + "m_56f965926b7480df": "Display name is already in use. Please enter a different name.", + "m_5826cddf7a82ad72": "A registration request is already pending.", + "m_327c9350ca756d45": "Account is blocked from registering.", + "m_6f19362b18609eca": "__VIREO_SLOT_0__ has applied for membership.", + "m_4526bb77acb750ca": "New membership application", + "m_fb2a59509c237625": "Your application has been received.", + "m_09a7d1a34a1a0499": "Please enter a name within 20 characters.", + "m_6e6081e97b258993": "This name is already in use. Please enter a different name.", + "m_cb3f916fc4494942": "Display name change is disabled.", + "m_62d177927d381e8b": "Display name change is on cooldown. Please try again in __VIREO_SLOT_0__ days.", + "m_38aeb838f7210142": "The private value must be boolean.", + "m_dde0a1dfc274b96c": "The enabled value must be boolean.", + "m_20063338c854c210": "You can specify up to __VIREO_SLOT_0__ disabled_tools.", + "m_dfbe4914812f5eb8": "The disabled_tools array may only contain non-empty strings.", + "m_c57d23e2227455dd": "Tool name is too long (maximum __VIREO_SLOT_0__ characters): __VIREO_SLOT_1__", + "m_c856fd84454cb427": "Unknown MCP tool: __VIREO_SLOT_0__", + "m_8b3ea246b148f1d8": "MCP tool not available with my permissions: __VIREO_SLOT_0__", + "m_39417eb13711a600": "Please send in exactly one of the formats { tool, enabled } / { disabled_tools } / { all }.", + "m_0bef21ce8365a5b6": "The all value must be boolean.", + "m_94242844807e13bd": "The disabled_tools value must be an array of strings.", + "m_2f9af3198cc3cfde": "The tool value must be a non-empty string.", + "m_548d9d62ca02ac46": "Tool name is too long (maximum __VIREO_SLOT_0__ characters).", + "m_2a3589cc660fb19f": "Conflict with simultaneous changes. Please try again.", + "m_77ad3d250f06060c": "Display name cannot be changed later.", + "m_82cfd7aded4a3df1": "Display name can be changed later.", + "m_60e2e82e72e9ebde": "You can change the display name after __VIREO_SLOT_0__ days.", + "m_b5d6bd814801c17d": "Invalid user ID.", + "m_7302886fb9864551": "Please end the current session through the logout menu.", + "m_74c05839d304bdfe": "Session cannot be found.", + "m_e7ef0b5a2cfcf48a": "Invalid client_id.", + "m_b41bd74a953f9f20": "No active token is connected.", + "m_b0ab1fe7e298522d": "The mcp_api_keys table does not exist in the database. Please apply the MyData migration first.", + "m_e79216fda2e57c4b": "An error occurred while issuing the API key.", + "m_72d84e45143f4230": "The mcp_api_keys table does not exist in the database.", + "m_6bd046e4ebef3a3b": "An error occurred while deleting the API key.", + "m_053bc65874ad6098": "Discord", + "m_c19f90377ab6e2c9": "The login request is invalid. Please try again.", + "m_bbb52cca8cca84f1": "The login session has expired or is invalid. Please try again.", + "m_fbfc48924eda24a4": "The login session is invalid. Please try again.", + "m_dd3940b67e5e416c": "The login session is not valid. Please try again.", + "m_ce770667e5f9b0d8": "Google", + "m_d2b0e22ce6848f49": "NodeLoc", + "m_f60c824125e6408e": "Invalid JSON", + "m_877f03b47ea6c52b": "The title must be a string.", + "m_8dd4e38868d9e2ba": "The content must be a string.", + "m_c9a7bb5bfc3daffd": "The title must be within 500 characters.", + "m_589c6079fe4fd614": "Blog post creation: __VIREO_SLOT_0__", + "m_dfe13dc6a95de8ac": "Blog post editing: __VIREO_SLOT_0__", + "m_43389606b46c0865": "Permanent deletion is only allowed for the super administrator.", + "m_3d13a68580ebd7d4": "Blog permanent deletion: __VIREO_SLOT_0__", + "m_5ae1150363fc7430": "The blog post has been permanently deleted.", + "m_e18dca82ed4affb8": "This post has already been deleted.", + "m_99fd6c450b6f66ea": "Blog post deletion: __VIREO_SLOT_0__", + "m_122b952526e327eb": "Cancel announcement __VIREO_SLOT_0__", + "m_30646c645d38dae7": "The title must be a string.", + "m_4a56a9fd9cd50e72": "This post has already been published as an announcement.", + "m_5269372cce84ab59": "Notice issued: blog#__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_43f6b5f54afb6f6e": "Please enter the discussion title.", + "m_589412d24ed3a617": "Please enter the discussion content.", + "m_60167e66b99afbb1": "You have been mentioned in the '__VIREO_SLOT_0__' discussion.", + "m_262938999161fa7c": "The discussion cannot be found.", + "m_dff9cab3adad9f5f": "This discussion has been deleted.", + "m_223fe5dd823bd69d": "Please enter the comment content.", + "m_1c01e15935816b50": "You cannot write comments on a closed discussion.", + "m_887a3d6748f61f1b": "The original comment cannot be found.", + "m_417980f272a6a783": "A new comment has been added to the '__VIREO_SLOT_0__' discussion.", + "m_21e074f59c6a9b9b": "This is not a valid status value.", + "m_c6ab4ba1441ff48f": "You do not have permission to change the discussion status.", + "m_5a8f94f360fbf077": "Insufficient permissions.", + "m_b6d12020a3b7d027": "This discussion has already been deleted.", + "m_3a98a9bf830588d5": "Only the administrator can permanently delete.", + "m_cf7600fc999a9f1c": "The comment cannot be found.", + "m_cfbd9cf6e8eb8640": "This comment has already been deleted.", + "m_b5121d5901351eee": "invalid id", + "m_907ba78b4545338d": "not found", + "m_1ca486cacad6b85c": "wiki:edit permission is required.", + "m_9ea12fcade96d6c6": "MCP is disabled by administrator.", + "m_97b1d0e9352ff0e8": "Invalid Request", + "m_88e1ad2ef29f64aa": "__VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__ Available MCP tools: __VIREO_SLOT_3__. Detailed descriptions of each tool can be checked by calling the information tool.", + "m_1687ca861ac0fc1a": "Tool not found: __VIREO_SLOT_0__", + "m_1565658bee898960": " (__VIREO_SLOT_0__ lines, __VIREO_SLOT_1__ characters)", + "m_f8b228b84e8c7ec3": "Error: titles array is empty.", + "m_4f55b2936a8b3083": "Error: You can read up to __VIREO_SLOT_0__ at a time.", + "m_eb0ae25c805719e8": "Error: parent_title is empty.", + "m_1c6d5cc54aa2f804": "'__VIREO_SLOT_0__' has no subdocuments.", + "m_91b1d604c6a79dc1": "Error: No document exists for page __VIREO_SLOT_0__. (Total __VIREO_SLOT_1__ items, __VIREO_SLOT_2__ pages)", + "m_bf3875a1193f72fc": "Error: Either titles or parent_title must be specified.", + "m_1ed6ec4afa33ec94": "Cannot read raw data.", + "m_860a4031f34189c8": "Document not found or is private/deleted.", + "m_9cf50c843d60bb0c": "No table of contents.", + "m_77453d7811852f91": "Document content does not exist.", + "m_85e275d5ef4ec4a4": " [Unread]", + "m_941ff4d0ab2b99a0": " (Read failed: __VIREO_SLOT_0__)", + "m_5f16df86699bf330": " (No document)", + "m_54b4e95a62973ac7": "\n\nItem with no document (__VIREO_SLOT_0__): __VIREO_SLOT_1__", + "m_aefaf421ef468334": "\n\nCould not read document (__VIREO_SLOT_0__):\n", + "m_7544e51d0c96b835": "\n\nPage: __VIREO_SLOT_0__/__VIREO_SLOT_1__ (Total __VIREO_SLOT_2__ items, page size __VIREO_SLOT_3__)", + "m_5782856f6d5f2e59": " — Next page: page=__VIREO_SLOT_0__", + "m_0b1d2015ee6520c8": "\nWarning: The total number of sub-documents __VIREO_SLOT_0__ exceeds the display limit for the response tree (__VIREO_SLOT_1__). Only some are shown, but all documents can be reached via the page parameter.", + "m_76a8d3dec65a9b1c": " [Read]", + "m_b2c45b087fd5f353": "[Read]", + "m_ffa08a1fa0c0965f": "[Unread]", + "m_426bc375e8ffcda0": "The total number of sub-documents __VIREO_SLOT_0__ exceeds the display limit for the response tree (__VIREO_SLOT_1__). Only some are shown, but all documents can be accessed with pagination using the page parameter.", + "m_628e02135c1c8ea4": "Error: There is no blog post corresponding to page __VIREO_SLOT_0__. (Total __VIREO_SLOT_1__, __VIREO_SLOT_2__ pages)", + "m_2775d221b3599514": "Error: The blog post could not be found or has been deleted.", + "m_0cad64d1db2dc4d6": "The post content does not exist.", + "m_8fb588328fcea157": "Cannot find the specified table of contents.", + "m_a362d1ab7712da5f": "Method not found", + "m_70f6bd48df9de855": "on* event handler", + "m_9165b0be705d22d2": "javascript: URL", + "m_383f5da44ca83bfa": "The file name contains invalid characters. ([ ] ( ) # % | < > ^ / \\ . ? \" ' spaces etc. cannot be used)", + "m_49e06d52b004e661": "The file name can be up to 100 characters long.", + "m_709923cc1913c54a": "The file does not exist.", + "m_4dc3da9504a07d7e": "The file format is not allowed. (Allowed: __VIREO_SLOT_0__)", + "m_50d94ab00cdbc89f": "The file size must be __VIREO_SLOT_0__MB or less.", + "m_27debb2125262c5f": "Security does not allow the SVG. (Including __VIREO_SLOT_0__)", + "m_a1637f65b48e9a28": "The body can be up to 20000 characters long.", + "m_a5fe16f447fa51b3": "Access has been denied.", + "m_ac4b2abda2994c79": "Invalid path.", + "m_126d6015a3288239": "Cannot find the file.", + "m_4c8911ca66612cb4": "The link parameter is required.", + "m_e3557c550ab973d5": "Invalid notification ID.", + "m_1a974badb6e47009": "Notification not found.", + "m_0f410dd168933fef": "Please enter the message content.", + "m_89975bae3b090120": "Please specify a recipient.", + "m_724b58cf4d967d21": "You cannot send a message to yourself.", + "m_70a66c8ef6d4b156": "Cannot find the recipient.", + "m_4838f659f04b4d4f": "You cannot send a message to a withdrawn user.", + "m_8a1213b5ecd8904b": "Blocked accounts can only receive messages from administrators.", + "m_154d463aa34cb9a0": "Private messaging is disabled.", + "m_959db104077054ad": "You do not have permission to reply.", + "m_ee608891fa7c8c85": "__VIREO_SLOT_0__ has sent you a message.", + "m_5277a4f4f1272fba": "Message from __VIREO_SLOT_0__.", + "m_0994aca6a079dc8b": "You do not have permission or the message cannot be found.", + "m_066622ae90180124": "Message cannot be found.", + "m_a20ccb3e6b01e324": "You do not have permission.", + "m_b0f75f3dc9842745": "Malformed Basic auth header", + "m_78476174b943f7e1": "client_id is required", + "m_f55a618c340a0a6e": "Unknown client_id", + "m_7833b9b21edde940": "client_secret required", + "m_968b0883b33214e5": "Bad client_secret", + "m_7e829c4373ba6c5e": "In addition to reading/searching documents, administrator privilegesallow automatic editing, moving, deleting, restoring and reverting of wiki pages.", + "m_4e0fe9efd211ae39": "You can only use read-only tools such as reading, searching and viewing the table of contents of wiki pages.", + "m_30fb6083119efa6a": "

        By approving, this client can automatically edit/delete wiki pages with your administrator privileges. Only approve trusted clients.

        ", + "m_04fe776508260fc8": "MCP access approval — __VIREO_SLOT_0__.\n\n
        \n

        MCP access approval.

        \n

        __VIREO_SLOT_1__ You, an external client, __VIREO_SLOT_2__ are attempting to access the MCP server. __VIREO_SLOT_3__.

        \n
        \n
        Client ID.
        __VIREO_SLOT_4__
        \n
        Redirect URI.
        __VIREO_SLOT_5__
        \n
        Requested privileges.
        __VIREO_SLOT_6__
        \n
        \n__VIREO_SLOT_7__\n
        \n \n \n \n \n \n \n \n \n
        \n
        ", + "m_97e5ea25d19547a9": "No permission — __VIREO_SLOT_0__.\n\n

        You do not have access privileges.

        __VIREO_SLOT_1__ You do not have permission to access the MCP server. Please log in with an account that has permissions and try again.

        ", + "m_5bb43e8304b378be": " (Request approval: [__VIREO_SLOT_0__|__VIREO_SLOT_1__]).", + "m_5eebf5ac5d01b73b": "This document can only be reviewed by administrators.", + "m_d69a86f59913aeab": "You do not have sufficient privileges to review this document.", + "m_bffb6dc50a4f0cc5": "The original editor account cannot be found.", + "m_f504b0f8c23b04cd": "'__VIREO_SLOT_0__' is already the title of another document.", + "m_11d121b9c8d723da": "'__VIREO_SLOT_0__' is already an alternative title of another document.", + "m_9ac80908b87081cb": "The edit request for \"__VIREO_SLOT_0__\" has been approved and applied.", + "m_bda36aa7fb0cee8c": "Edit request approval rollback: failed to apply additional edits (review:__VIREO_SLOT_0__#__VIREO_SLOT_1__)", + "m_f43e9df8183c842d": "Failed to apply additional edits, the document has been reverted to pre-approval state. Please try again.", + "m_89aacb50123361b8": "Another edit was applied in the meantime, preventing approval completion. Please try again based on the latest content.", + "m_17622610c3abcee6": "The edit request for \"__VIREO_SLOT_0__\" has been approved. (Additional edits by the approver were not applied with __VIREO_SLOT_1__)", + "m_260c5c8b3587be3b": "The edit request for \"__VIREO_SLOT_0__\" has been approved and applied. (Including additional edits by the approver)", + "m_ae96a9eefa60c215": "A soft-deleted document with the same title exists. An administrator must restore or permanently delete it first.", + "m_725e09fd82e3d485": "'__VIREO_SLOT_0__' conflicts with an alternative title of another document and cannot be used as a title.", + "m_12f55b01aee28df3": "The new document edit request for \"__VIREO_SLOT_0__\" has been approved and published.", + "m_3d8c34037f5efbb7": "The new document edit request for \"__VIREO_SLOT_0__\" has been approved and published. (Additional edits by the approver were not applied with __VIREO_SLOT_1__)", + "m_8dc152a57b4f61de": "The new document edit request for \"__VIREO_SLOT_0__\" has been approved and published. (Including additional edits by the approver)", + "m_e8c03a15d11d8a05": "The edit request for \"__VIREO_SLOT_0__\" has been rejected.__VIREO_SLOT_1__", + "m_b6c60011a90b11ec": "Web Push is disabled.", + "m_ba44d61a5dc6d955": "Invalid request.", + "m_a25541b05610e977": "Subscription information is incorrect.", + "m_d83e449da7ec1d8d": "A valid push_token is required.", + "m_046820d26e94d180": "The token has expired or is invalid.", + "m_004ae7d8c14a4796": "The token is corrupted.", + "m_e7d1fb773fdaa3a2": "No pending subscription application can be found.", + "m_de90a380fda149f4": "Endpoint is required.", + "m_beb955daeb37f6d4": "The QR code has expired or does not exist.", + "m_e7fd0c8c21d6b744": "The request has already been processed.", + "m_8dfae4ccf5a6b9d1": "The request has expired or does not exist.", + "m_4454fea9ba8381bf": "The request has expired.", + "m_0ee746abfd9c27df": "The request has already been used.", + "m_c912235825f0e01c": "Not yet approved.", + "m_fe613f72a480159c": "Approval information is invalid.", + "m_6bb9fa79146e2a5e": "The account cannot be used.", + "m_ef7eea8f5740423e": "The account is blocked.", + "m_512989791c19de3f": "General.", + "m_50da0b175337961e": "Document.", + "m_3d53da771fe0954d": "Discussion.", + "m_b0b3d3bc6c2762fe": "Account.", + "m_73e935d4625a54c4": "Please enter the ticket title.", + "m_e626c97ad4a45854": "Please enter your inquiry.", + "m_0a132c1ce880adf0": "Please select a valid inquiry type.", + "m_14c17bf0e664ce23": "Blocked accounts can only submit account-related (appeal) inquiries.", + "m_f7f952cc043cf488": "Insufficient permissions. (ticket:create)", + "m_5bf5e399001521a2": "New ticket inquiry [#__VIREO_SLOT_0__] __VIREO_SLOT_1__: '__VIREO_SLOT_2__'", + "m_9896da0c836b54fb": "You were mentioned in ticket [#__VIREO_SLOT_0__] '__VIREO_SLOT_1__'.", + "m_d8ab105f45b56ef5": "New ticket #__VIREO_SLOT_0__", + "m_5eb2e809eabd4a29": "Ticket #__VIREO_SLOT_0__", + "m_efa6a7d1ee843957": "Ticket not found.", + "m_20d1a711c808e7f5": "No access rights.", + "m_b92fd6d4cae11fd8": "Insufficient permissions. (comment:create)", + "m_137fe2b8ac68d1d4": "Blocked accounts can only post comments on account inquiry (appeal) tickets.", + "m_61d62a72e9bbbd6e": "You cannot post comments on closed tickets.", + "m_e55e57e155805806": "A new comment has been added to ticket [#__VIREO_SLOT_0__] '__VIREO_SLOT_1__'.", + "m_887479ba73c7e7d4": "You do not have permission to change the ticket status.", + "m_201b7d60ef6e8116": "This ticket has already been deleted.", + "m_4b5e35581628062d": "New document", + "m_9789d0dfbdbe37a3": "Edit document", + "m_c87a5a18ec515157": "__VIREO_SLOT_0__ has submitted an edit request for \"__VIREO_SLOT_1__\" __VIREO_SLOT_2__.", + "m_98efb44e75fe2fbe": "[Auto] Address changed: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_6a741012dcb9e689": "Bulk refresh of backlinks: __VIREO_SLOT_0__ → __VIREO_SLOT_1__ (__VIREO_SLOT_2__ updated, __VIREO_SLOT_3__ skipped, __VIREO_SLOT_4__ conflicted)", + "m_c7dd65df9f841f96": "Could not find a random document.", + "m_f8d8203743b12cde": "Invalid revision", + "m_b7d685b544e20462": "This revision cannot be reviewed", + "m_4b16444ac8960333": "Cannot review your own edits", + "m_518ddb12656ff914": "This is a private document.", + "m_29d0659244b2ecf8": "This document has been deleted.", + "m_e6cdd4680a803298": "Document title is empty.", + "m_b5e41b626257814b": "The alternate title must be a string or null.", + "m_8012d0d029b44768": "Control characters cannot be used in the alternate title.", + "m_d513e3d01b755e83": "The alternate title must be __VIREO_SLOT_0__ characters or fewer.", + "m_e6b962a8eaff5533": "Turnstile verification is required.", + "m_93f6eb544ffe4725": "Turnstile verification failed. Please try again.", + "m_4c857ed217030e5a": "\"Image:\" is a namespace for image documents only and cannot be used as a regular document title.", + "m_e6380590c0c06876": "\"Map:\" is a namespace for map views only and cannot be used as a regular document title.", + "m_91d0966d84be4641": "Content is required.", + "m_149c3339aa55ab89": "Edit summary must be a string.", + "m_69e7a2923e08f4ef": "Automatic edit summary must be a string.", + "m_49c589bbf965c9bd": " (Soft delete state — an administrator must restore or permanently delete before it can be reused)", + "m_21b73ea47099d948": "'__VIREO_SLOT_0__' is already in use as a title for another document.__VIREO_SLOT_1__", + "m_275afdfa7c6dbe58": "'__VIREO_SLOT_0__' is already in use as an alternate title for another document.__VIREO_SLOT_1__", + "m_9980d5f407562e20": "'__VIREO_SLOT_0__' is the same as an alternate title of another document and cannot be used as a title.__VIREO_SLOT_1__", + "m_56fe00af0af17df4": "Deleted documents cannot be edited.", + "m_edb7ee4fec17cc4f": "A document with the same title already exists.", + "m_32a0e1a4e54d2340": "Private documents cannot be edited.", + "m_6f5fe96067957fb8": "You do not have permission to edit this document.", + "m_2f8b8fb15271aac5": "An edit conflict occurred. Another user has modified this document.", + "m_3cc9999f45d2d2ce": "The alternate title conflicts with another document. Please try again later.", + "m_17fd2364d2772a04": "Failed to save the document. Please try again later.", + "m_60dd4157ca5e69ab": "Documents designated as private cannot be newly created.", + "m_7092531bf8f16176": "Documents starting with this slug cannot be newly created due to ACL policy.", + "m_a4405bb7ffd0ca7d": "A document with the same title was created simultaneously. Please try again.", + "m_0e12c17fa6f302a5": "This namespace does not support edit notes.", + "m_80d16e0cd99765ca": "The document could not be found or has been deleted.", + "m_a47db840b4ed0d13": "[Edit Note] Edit note changed", + "m_3ea4afaf812b07c8": "Revision could not be found.", + "m_f6ac1c7ff4c7b4fc": "Virtual revisions cannot be compared.", + "m_58d34fbe05574d64": "Permanently deleting document: __VIREO_SLOT_0__", + "m_fc520b8437af4266": "The document has been permanently deleted.", + "m_ac9ec8d35dce78ce": "The document has already been deleted.", + "m_7dd99545c7b9465a": "You do not have permission to delete the document.", + "m_a76086f3a964774e": "Administrator-only documents can only be deleted by administrators.", + "m_567ddaca9be26ccf": "You do not have sufficient permission to delete this document.", + "m_8cf77e328b9e3fd5": "Deleting document: __VIREO_SLOT_0__", + "m_5ab980c9c1944729": "The document has been deleted.", + "m_fe999320d28a6e33": "The \"Image:\" namespace cannot be restored as a normal document.", + "m_c9c2979d1a731a43": "The \"map:\" namespace is for virtual tree view only and cannot be restored.", + "m_3c225b5dab81e41e": "The document is not in a deleted state.", + "m_772a58411f6b32aa": "Restoring document: __VIREO_SLOT_0__", + "m_66fe4041f91167e7": "The document has been restored.", + "m_4697cbb206bcd001": "Please enter a new document name.", + "m_e5c33435941dd968": "The new document name is the same as the existing name.", + "m_a590834403ff04d2": "The \"Image:\" namespace is for image documents only and cannot be a target for moving normal documents.", + "m_69c48d5ef3c7e7b7": "The \"map:\" namespace is intended for virtual tree view only and cannot be the target of regular document moves.", + "m_2323c8119d6f7b40": "The document name already exists.__VIREO_SLOT_0__", + "m_ca7312fc1524000c": "'__VIREO_SLOT_0__' cannot be used because it is already the alternative title of another document.__VIREO_SLOT_1__", + "m_a609e669a6165e0e": "Administrator-only documents can only be moved by administrators.", + "m_e25d85469623f952": "The new title conflicts with another document. Please try again.", + "m_9790e638835f3b49": "Document rename: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_6206229d5de21b9e": "Failed to bulk update backlinks: __VIREO_SLOT_0__ → __VIREO_SLOT_1__ (__VIREO_SLOT_2__)", + "m_36cc21da55740f49": "Administrator-only documents can only be reverted by administrators.", + "m_b63a71af73aa0837": "You do not have sufficient permissions to revert this document.", + "m_cbbdcb2f01aedaab": "The specified revision could not be found.", + "m_b1f6cde79fe3fca2": "Cannot revert to a virtual revision.", + "m_4d4c034f6c37b1d0": "Cannot revert to a revision whose content has been permanently deleted.", + "m_4a61f034d4152aff": "Cannot revert to a hidden revision. Please unhide it first.", + "m_7a2806b0cfd17e0a": "Failed to load the revision content.", + "m_4c5dca363464e2a6": "Revert to __VIREO_SLOT_0__", + "m_e70d17b58f103f70": "Failed to save the revision. Please try again shortly.", + "m_826b173fe2bfd9ac": "Revisions of deleted documents cannot be cleaned up. Please restore the document first.", + "m_918680ab7a28d0f4": "Virtual revisions cannot be deleted.", + "m_e00459f8f04acf8c": "The latest revision cannot be deleted. Please revert first and then try.", + "m_9bfb76dd02724174": "The revision ID is invalid.", + "m_d8bb21ed9e6766af": "This revision has already been deleted.", + "m_ee3e2ffbe2672de0": "Revision soft delete: __VIREO_SLOT_0__ __VIREO_SLOT_1__ (rev #__VIREO_SLOT_2__)", + "m_a6f7aebbe3ff6dac": "The revision has been deleted.", + "m_725313817e6868e1": "Only the super administrator can permanently delete revisions.", + "m_81f288da43a4b5c1": "The revision has already been permanently deleted.", + "m_112590efded576b3": "Failed to mark for deletion. Please try again later.", + "m_d68556d83b4740cc": "Failed to delete R2 content. Please try again later.", + "m_23bfa329b67f47c1": "Failed to clean up metadata. Please try again later.", + "m_b00b078e851ea38a": "Revision permanent delete: __VIREO_SLOT_0__ __VIREO_SLOT_1__ (rev #__VIREO_SLOT_2__)", + "m_a536da90de2fa925": "The revision has been permanently deleted.", + "m_03fac0a43f3c4117": "The category is incorrect.", + "m_d7cc4181206e07c5": "Note: Merged cells in the table are displayed as blank.\n\n", + "m_29ee1bb7ff289989": "Step", + "m_34fbc55c71b14896": "0. Introduction", + "m_3075d7f4fd31df20": "Analytics query failed (__VIREO_SLOT_0__): __VIREO_SLOT_1__", + "m_5c438cfbb32c4572": "Announcement update conflict repeated and failed. Please try again later.", + "m_2590befdd9c53728": "edit_acl must be an object or null.", + "m_a214f4e99cfabb73": "edit_acl.flags must be an array.", + "m_362bdd480752283f": "Unknown item in edit_acl.flags: __VIREO_SLOT_0__", + "m_9d4fd22b0ba7de07": "{palette:danger}{bi:eye-slash-fill}{tag:Private}", + "m_c91d28281a05b57c": "(__VIREO_SLOT_0__ lines, __VIREO_SLOT_1__ characters)", + "m_9586b90d1ce240a7": "(No document)", + "m_fd0e3f3f3a64131f": "(Root) __VIREO_SLOT_0____VIREO_SLOT_1__", + "m_957d05ddf3e36ede": "... (More than __VIREO_SLOT_0__ child documents, some omitted)", + "m_2fd9e7d411752b46": "Just now", + "m_f467a4024cb27ee2": "__VIREO_SLOT_0__ minutes ago", + "m_3a303b18f9b646c2": "__VIREO_SLOT_0__ hours __VIREO_SLOT_1__ minutes ago", + "m_b101f92f6c467d74": "__VIREO_SLOT_0__ hours ago", + "m_e1655b60987cbfd4": "__VIREO_SLOT_0__ days ago", + "m_783d60738fd55f9d": "__VIREO_SLOT_0__ months ago", + "m_fd305f0b56565a13": "__VIREO_SLOT_0__ years ago", + "m_7466ca263ca1b8e0": "Searches for the slug and alternative title of a wiki article. The slug in the response is the identifier used by all calling tools, and the title is the display-only alternative title (null if none). For the title argument of other tools, always use the slug value.", + "m_bda397fc5b2a3711": "Search term", + "m_5360cddf64b641a4": "Performs a full-text search (FTS) on the body of a wiki article. The search results include the document slug and a list of all headings where the search term appears. If it appears across multiple sections in one document, all sections are returned.", + "m_d8628e79d9242ca8": "Performs a semantic search on the body of a wiki article using Cloudflare AI Search (RAG). If FTS is exact string matching, this tool returns documents ranked by relevance score. Each response item includes slug (identifier), title (display-only alternative title, null if none), score, and snippet. For the title argument of other tools, always use the slug value. Private/deleted documents are excluded from results depending on caller permissions.", + "m_117bcb3a4635e6ec": "Search term (natural language allowed)", + "m_6268e49bf3392fd2": "Maximum number of results (default 30, maximum 50)", + "m_6f58d16cf7366f57": "Loads only the table of contents (sections) of a wiki article. The table of contents is returned in a format with hierarchical numbers (e.g., \"1.\", \"1.1\", \"1.1.1\"). If there is text before the first heading, an item \"0. Introduction\" is added at the very beginning, and specifying \"0\" in read_section will allow you to read only that introduction. Rather than reading the entire long document, it is recommended to extract the table of contents using the get_toc tool and then read specific sections by specifying the number with the read_section tool. Setting raw=true returns the table of contents numbers based on the original, without expanding {{templates}} — to edit with the admin MCP's edit_section, you must use the numbers with raw=true.", + "m_e01a35a4bdb5e329": "Document slug (=title)", + "m_2a34a83055a956d0": "When true, calculates table of contents numbers based only on the original headings without expanding transclusions (for editing purposes)", + "m_f48db6e7d1b019e2": "Reads the full text of a wiki article. Setting raw=true skips wiki formatting conversion and returns the original as-is.", + "m_dfc10bcd0c19ab35": "Reads only a specific section of a wiki article. The section is specified using the hierarchical numbers (e.g., \"1\", \"1.1\", \"1.1.1\") returned by get_toc. If raw=true, the section is extracted using the original numbers without expanding transclusions and wiki formatting conversion is also skipped — this is the same numbering system as get_toc(raw=true) / edit_section. If raw=false (default), transclusions are expanded and AI rendering is applied — same as get_toc(raw=false).", + "m_ee5600524374a4b0": "The table of contents number returned by get_toc (e.g. \"1\", \"1.1\", \"1.1.1\"). \"0\" is the introduction before the first heading. Match the raw option as when calling get_toc.", + "m_519be1bbef197558": "Returns transclusion unexpanded + original as is when true (for pre-edit stage)", + "m_7d3cb0c9eecf0798": "Returns the subtree of documents rooted at the input document. For example, entering \"A/B/C\" will return only the subtree starting from \"A/B/C\".", + "m_5455a9d896a17ebe": "The document slug (=title) to be the root of the tree", + "m_1f0e3b8c7cb34e46": "Reads up to 10 documents at once. Supports two modes. (1) titles: read an array of specified document slugs at once. (2) parent_title: read all child documents of the specified document. If child documents exceed 10 in parent_title mode, only the top 10 are read, and the response includes the tree showing read/unread documents and pagination info. The next page can be requested with the page parameter (starting from 1). Setting raw=true skips wiki formatting conversion.", + "m_be6ca15da180391b": "List of document slugs to specify directly (up to 10). When specified with parent_title, titles takes priority.", + "m_7b1b4061a9d93728": "Parent document slug to read child documents in bulk", + "m_f5d76cd0078d3708": "Page number in parent_title mode (starting from 1, default 1)", + "m_a03e8ae307459459": "Fetches up to 10 sections from multiple documents at once and returns them as a single tree text following the slug hierarchy. Two modes are supported. (1) titles: an array of document slugs specified directly. If a tree can be created from the slug paths, it will be a single tree; if the top-level slugs are different, they will be separated into multiple trees. (2) parent_title: a subtree of documents with the specified document as the root. Under each document node, the child documents and that document's table of contents items are displayed as siblings in the format '#1. Title', '#1.1. Title'. Path nodes without document content are marked as '(No Document)'. In parent_title mode, if there are more than 10 child documents, only the top 10 tables of contents are retrieved, and the rest are marked as '[Unread]'. You can request the next page using the page parameter (starting from 1).", + "m_7e31d414de4babd4": "The parent document slug for batch retrieval of child document tables of contents.", + "m_a2bfebb02edf8fad": "Search for a category by name.", + "m_4c4a27420a7aacaf": "The category name to search for (partial string).", + "m_be7ce819a1d2eec9": "Returns the list of documents belonging to the category and the category description. If set to raw=true, the Wiki markup conversion of the category description is skipped, and it is returned as-is.", + "m_2a0a4a92c35e6110": "The category name to query.", + "m_909a66569c8d31a8": "Returns the list of categories that the document belongs to.", + "m_b9aa91f27eb4194c": "The document slug (= title) to query.", + "m_7324061da6dacbb7": "[Deprecated] The old name of get_document_category. Use get_document_category in new code.", + "m_ad994dbc23c4c990": "Returns the list of documents that reference this document via backlinks (Wiki links [[...]] or template transclusions {{...}}).", + "m_639d520572cd50f7": "The document slug (=title) to look up backlinks for", + "m_baa7da4dc29d1bde": "Returns a list of recently modified documents across the entire wiki. The response includes the slug, author name, edit summary, and last revision id (revision_id, associated with read_revision/revert_page). You can narrow the range by combining filter parameters.", + "m_2c2360ccdb1288bf": "Maximum number of results to return (default 10, maximum 100)", + "m_1c5ac590ca42742f": "Only changes after this point (ISO 8601, e.g., \"2024-01-01\" or \"2024-01-01T00:00:00Z\")", + "m_9d55cf684346d177": "Only the last edit of a specific user (exact name match)", + "m_526e538baffd5c3a": "Only changes to documents belonging to a specific category", + "m_73d79401118b9f44": "Specific namespace (slug prefix) filter. Example: \"틀:\" or \"분류:\". If it ends with \"/\", it matches the sub-tree.", + "m_d9ffd0b16262fc2b": "Returns a list of discussion threads attached to a specific document. Each thread includes its id, title, status (open/closed), number of comments, and creation date.", + "m_b33174b918700b9b": "Fetches the title, status, and all comments of a specific discussion thread. Use the discussion_id returned by list_discussions.", + "m_cbffdc5c8d59c830": "Discussion id returned by list_discussions", + "m_757d8d1e4210db88": "Retrieves an image uploaded to the wiki by filename and returns it as image data. Use the filename (including the extension) inserted in the document body as ![filename](https://domain/media/images/filename).", + "m_aa2b1fba52dee466": "Image filename (including extension, e.g., \"example.png\")", + "m_f8ac6d1e08a80948": "Returns a list of blog (/blog) posts in the order of most recent first. Each page contains up to 20 items, including each post's id, title, time of creation (time_ago), number of lines, and number of characters. Blog posts are identified by an integer id, not by a title. If there is a next page, the response will include next_page.", + "m_03e894d94ff38499": "Page number (starting from 1, default is 1)", + "m_e6dc125b6303f6e8": "Retrieves the full content of a blog post. Use the integer id returned by list_blog_posts. Setting raw=true skips markdown/wiki syntax conversion and returns the original content as is.", + "m_f89f48c07ea32b06": "Blog post id (integer)", + "m_906675307ca26a8a": "Retrieves only the table of contents (section) of a blog post. The table of contents is returned in a format with hierarchical numbering (e.g., \"1.\", \"1.1\"). If there is body text before the first heading, a \"0. Introduction\" item is added at the very beginning, and specifying \"0\" in read_blog_section allows you to read only that introduction.", + "m_0ea92e2a21f5d480": "Reads only the content of a specific table of contents section from a blog post. The section number is specified using the hierarchical numbers returned by get_blog_toc (e.g., \"1\", \"1.1\"). Setting raw=true skips wiki syntax conversion and returns the content as is.", + "m_8ffbe10218de0ebf": "Section number returned by get_blog_toc (e.g., \"1\", \"1.1\"). \"0\" is the introduction before the first heading.", + "m_0169b14d9e0774bd": "\n\nGrammar guide document: __VIREO_SLOT_0__", + "m_516b6531ac86d0c6": "\n\nIn addition to wiki documents, blog (/blog) posts can be explored using the __VIREO_SLOT_0__ tool. Blog posts are identified by an integer id, not by a title.", + "m_c73abcd53e225fb1": "This tool is an MCP tool that allows you to browse documents of __VIREO_SLOT_0__.\n\nThe syntax of this wiki is markdown-based, so generally, you can understand the content without reading the syntax guide documents. If you do not enable the raw parameter when reading the document, the content will be returned in markdown format. It is recommended to read the wiki syntax document first if you want to use the raw parameter.__VIREO_SLOT_1____VIREO_SLOT_2__", + "m_8c306ae2749ce518": "__VIREO_SLOT_0__\n\n## List of available tools\n\n__VIREO_SLOT_1__", + "m_7fa8a1e0dbc5c616": "Error: RAG search is disabled.", + "m_6609e2b894160aca": "Error: RAG search failed: ", + "m_3c8aaba9778dff5f": "Error: The document could not be found or is private/deleted.", + "m_6d994f307ce24bc5": "Error: title is required.", + "m_c024e5d390be2e9d": "__VIREO_SLOT_0____VIREO_SLOT_1__\nNo subdocuments exist.", + "m_73837db939871074": "\nItem with no document (__VIREO_SLOT_0__): __VIREO_SLOT_1__\n", + "m_7caa694effdba08e": "Category document does not exist.", + "m_f74b6c1d51b564ad": "Error: discussion_id is invalid.", + "m_4330b1647ece8efb": "Error: The discussion could not be found or is private/deleted.", + "m_76e10614f8d4e406": "(Deleted comment)", + "m_f9e850c4ce13164f": "Error: filename is required.", + "m_7a637fcd3a575c69": "Error: No image matching '__VIREO_SLOT_0__' could be found.", + "m_ecdb75297ff61dac": "Error: Multiple images match. Please specify the exact filename: __VIREO_SLOT_0__", + "m_f046f1182d1ba03d": "Error: The image file is too large (__VIREO_SLOT_0__MB). Only images under 5MB can be retrieved.", + "m_98b7a2103a408bb5": "Error: The image file does not exist in storage.", + "m_32865686a43ee5c7": "__VIREO_SLOT_0__ / [Edit note] changed", + "m_1747995f753a201c": "[Edit note] changed", + "m_24851445d7e308d5": "Confirms the accumulated edits in the draft as a **new revision immediately** without approval (only visible if 'Allow MCP immediate edit application' is enabled in My Page). Unlike commit_edit which submits for approval, this tool saves immediately. The same conflict validation as commit_edit is applied — it is rejected if the base_revision_id has been changed in the meantime (page edited by another user), or if it is a new draft page but a page with the same slug already exists. Edit permissions (edit_acl)/admin-only categories are also re-verified at the time of application. The summary is the edit summary of the new revision (optional, up to 255 characters). On saving, the prefix `[MCP] [+N lines -M lines] ` is automatically added. The response includes the new revision_id and line-level changes (lines_added / lines_removed). Use commit_edit instead of apply_edit if approval review is required.", + "m_15b5eab43f6782bb": "ID of the draft to be applied immediately (obtained from the editing tool response)", + "m_3cb04c545466a1f2": "Document '__VIREO_SLOT_0__' has been created via MCP immediate application.", + "m_ecee15dca2358682": "Document '__VIREO_SLOT_0__' has been edited via MCP immediate application.__VIREO_SLOT_1__", + "m_610d40599b80cbb8": "MCP immediate application", + "m_322e63282d28faa3": "Error: MCP immediate edit application is disabled. Activate it in My Page settings before use, or submit for approval with commit_edit.", + "m_56686db518ce8807": "Error: You cannot apply another user's draft.", + "m_428b5a484acfe97a": "Error: This draft has already been submitted for approval. Please approve it on My Page or discard_edit and try again.", + "m_1b5dd20687b6eeb9": "It has been applied immediately and a new revision has been created.", + "m_1509a20063ffedfe": "__VIREO_SLOT_0__ edited the document \"__VIREO_SLOT_1__\".__VIREO_SLOT_2__", + "m_d9563d9a89a9d444": "R2 revision not found: __VIREO_SLOT_0__", + "m_7171d3c73f9f2ea5": "📢 Announcement : __VIREO_SLOT_0__", + "m_74b380ce1d5f53bf": "A new discussion has been opened on [__VIREO_SLOT_0__](__VIREO_SLOT_1__).> __VIREO_SLOT_2__", + "m_b329efb40b330ac6": "A new discussion has been opened on **__VIREO_SLOT_0__**.> __VIREO_SLOT_1__", + "m_06feb699074d9c32": "💬 New discussion", + "m_a197030ed96f7990": "New document created", + "m_b2792dcfacf6f071": "An edit request for **__VIREO_SLOT_0__** (__VIREO_SLOT_1__) has been submitted.[Review](__VIREO_SLOT_2__)__VIREO_SLOT_3__", + "m_028e9f3e58511e35": "An edit request for **__VIREO_SLOT_0__** (__VIREO_SLOT_1__) has been submitted.__VIREO_SLOT_2__", + "m_c260160bdcbc43b7": "📝 Edit request", + "m_4d07a4b5339c6e9d": "**__VIREO_SLOT_0__** has applied for membership.[Go to approve](__VIREO_SLOT_1__)", + "m_59802849b7e95cc3": "**__VIREO_SLOT_0__** has applied for membership.", + "m_9990d458ebd03b13": "🆕 Membership application", + "m_3b7dbc4c0c4cebca": "Email", + "m_b84abfbe481c6010": "Provider", + "m_9cd880d519c81b65": "Request #__VIREO_SLOT_0__", + "m_ab9442a23e772cce": "Reason", + "m_f722391e108aee57": "🚫 Membership application rejected", + "m_fc9929c6d6a254fb": "**__VIREO_SLOT_0__** (`__VIREO_SLOT_1__`) registration application was rejected.", + "m_67f12481a97255e5": "👋 New user registration", + "m_31b3cbb904761ba4": "**__VIREO_SLOT_0__** has joined. Please welcome!", + "m_8c609debc12c2cd0": "Target", + "m_d2f2951a69fd7b43": "🛡 Super Admin action", + "m_050d981c6c43cdfb": "Unassigned", + "m_6d7c36a0f5e096ea": "🎫 #__VIREO_SLOT_0__ status change", + "m_b918d5af77b8733a": "Period", + "m_32c11dd4e0e62147": "⛔ Block user", + "m_0bcae653387614f2": "✅ Unblock", + "m_9d4b0e23e6fe6cc9": "🔧 Change permissions", + "m_1d080437d8462ce9": "Icon", + "m_28fa29ac1fa6e31c": "Small", + "m_541d1ddb952f8fbf": "Medium", + "m_9926395d3d8baa1b": "Large (Default)", + "m_0531b5486f1b8a48": "Background colour", + "m_4a131f6944f28a0e": "__VIREO_SLOT_0__ year __VIREO_SLOT_1__ month", + "m_3603b4581160941a": "Default", + "m_cedc796580c58c6b": "\n
        \n
        Category __VIREO_SLOT_0__ The following edit ACL template is set
        \n
        __VIREO_SLOT_1__ (All conditions met — AND)
        \n
        How should the category ACL be applied when this category is applied to the document?
        \n
        \n \n \n \n
        \n
        \n ", + "m_7d1389c0c9a517a1": "Admin-only category", + "m_af9027f1a1dee91e": "
        No results
        ", + "m_08b17e433630742b": "Title", + "m_e556342b438d499f": "\n ", + "m_f02b935997f88b93": "\n \n ", + "m_ad517c180afa0165": "\n
        \n
        \n Table of contents\n
        \n \n
        \n
        \n \n
        ", + "m_b29c4d9dd8ee7fc7": "\n
        \n
        \n \n \n
        \n
        \n
        \n
        __VIREO_SLOT_0__\n
        __VIREO_SLOT_1__\n
        \n
        __VIREO_SLOT_2__\n
        \n
        \n ", + "m_e92a0544c85716d0": "Search failed", + "m_067ee424bdc93ea7": "\n
        \n \"__VIREO_SLOT_1__\"\n
        __VIREO_SLOT_2__
        \n
        \n
        \n \n \n \n \n
        \n ", + "m_6de19876d0e0a5c0": "Large (Default)", + "m_e25992f8b1b64bc7": "Draft save failed", + "m_39b6b8ebbc11c8fb": "\n
        \n
        \n __VIREO_SLOT_0__\n
        \n
        \n
        \n
        \n
        \n \n 1 / __VIREO_SLOT_1__\n \n \n \n
        \n
        \n ", + "m_cee3585ff1175382": "Bearer token required", + "m_a9cc4e895f5a5a91": "Empty bearer token", + "m_605a25cfb239ed2d": "Token expired", + "m_4441b4b45947e726": "Token not found", + "m_cd7e9dbe5eec7bd9": "Token revoked", + "m_a7b4e9ad19b36f5f": "Token scope does not permit MCP access", + "m_1035a5731b39d432": "Loading...", + "m_ede110c10283e660": "width=device-width, initial-scale=1.0", + "m_dbb0975319beff08": "Admin backend - Bulk management page - VireoWiki", + "m_d707dc2f1936efd8": "Logo", + "m_6d5f194bd1f65df5": "VireoWiki", + "m_4b6ded8a7f181397": "Notifications", + "m_5a2cac68fd2d63f9": "Personal centre", + "m_3ab8cc15939f3b5c": "Log out", + "m_748ae6920776e7c8": "Mark all as read", + "m_568090ece66761ee": "View all notifications", + "m_adca3cc3b4abafe1": "Browser push notifications", + "m_f7849180cb1922d6": "Search page...", + "m_44ce7ae909bbb28b": "Search", + "m_788db1cfec2a3db5": "Theme", + "m_13e9677c46dd462e": "Auto (System setting)", + "m_7eb336e42cb5076b": "Automatic", + "m_a6b75d0680322a61": "Dark", + "m_aa0819dfc4d8d782": "Light", + "m_2b04e420a8e524a0": "The current theme supports dark mode only.", + "m_5338c32ac42a3982": "Colour theme", + "m_da01bc4680e49184": "Layout mode", + "m_7a03f9cb9815cec5": "Site default values", + "m_2d77140f7472707b": "Site default", + "m_3c53ceb38084dc53": "Default (no sidebar)", + "m_b4b70b0bf9b0e712": "Left-side directory", + "m_426c84c165d1b6ea": "Right-side directory", + "m_ce8cbab05fabe86b": "Page (left directory tree and right directory)", + "m_a6e1330f8bfebce6": "Wide screen (hide sidebar)", + "m_04b82dd5a6493f28": "Wide screen", + "m_bb5719813af6fb85": "Enable single-key shortcuts", + "m_8da97ddda990e7c4": "On", + "m_9123c48619df4f36": "Turn off single-key shortcuts", + "m_6119857da8126b85": "After turning off", + "m_d7eb74eed17234ef": "single-key shortcuts will be disabled (", + "m_8a2264e4cd9205ed": "Ctrl/⌘+K", + "m_f8a58910208de2f6": "Always available).", + "m_4d8359117de6b0ed": "Settings are saved only in the current browser; the page will refresh after changing the layout.", + "m_cc11b6991e2855d2": "Return to admin backend", + "m_fc19a3d028718a11": "Bulk management page", + "m_8fe93aa85a945d5f": "Select the page to search then do at once", + "m_2a766088ff30b652": "or", + "m_341c70582918ad93": "Move page (rename)", + "m_d90f64d83741d035": "can do.", + "m_9fce45c3d25c4d8d": "Super admin only", + "m_9b92259f6104e24f": "Function. Hard delete (permanent delete) cannot be undone and will also remove discussions, revisions, and watch settings.", + "m_5d5b3fad865d8406": "Search page", + "m_b94f2785f419e16b": "Slug search...", + "m_7f0c8db43ecdee2d": "Display titles in search", + "m_99eb8b2f9137da47": "Rebuild inbound index", + "m_10ca1ba62df99ad1": "Rebuilds backlinks by surveying the entire page content. It is a maintenance tool used when bulk correcting after changing link extraction rules or manually fixing index mismatches. The process continues even if the page is closed.", + "m_a49d6a13055e6066": "Start rebuilding index", + "m_ca4d973c0b006b75": "Stop", + "m_7c9691192f1b7340": "Continue", + "m_deee0366ae74a548": "Rebuild RAG index", + "m_b28c3e0e3c7775bd": "After turning on the RAG (AI Search) plugin, it fills the current content of already existing pages into the indexing-only R2 bucket at once. Changes after the plugin activation are automatically mirrored, so this backfill only needs to be executed once at the time of introduction. It indexes all pages regardless of ACL (including private pages), and private/deleted pages are filtered at the time of search. The process continues even if the page is closed.", + "m_55b50381eddb8e75": "Start backfill", + "m_88d72ece7cf76737": "Search results", + "m_b85dd88a4847bc85": "Bulk delete", + "m_12ec1053141de7ea": "Delete selected (restorable)", + "m_47500d89a4611fad": "Permanently delete selected items", + "m_3accad1e4fdfe5fc": "Bulk move (title change)", + "m_564ea28e954e9fc6": "In the addresses (slugs) of the selected pages", + "m_bf603c449cd875a7": "Find content", + "m_375745740097d3a9": "from", + "m_7d37f059645bf210": "Replace with", + "m_c844f617fc30ff08": "and replace in batch. For example, change on selected", + "m_1234d505d6f6c48d": "and subpages to", + "m_0470be950ae2efcd": "Reference links pointing to each page (", + "m_7763d011712b2557": ") can also be updated together.", + "m_8f26c4d7bea556e2": "Example: Cloudwiki", + "m_1d66d95bcaeed7ee": "Example: Save page", + "m_a4dcaa5ce7c06638": "Change the reference link (backlink) along with the content", + "m_dcb06beb51a409a5": "Preview", + "m_f43745adf1bfb2c6": "Execute move selected items", + "m_7d9eb7acb13e2462": "Close", + "m_933d10d7a714ea8e": "©", + "m_3136a9bf2ac92e5a": "Admin backend - Image management - VireoWiki", + "m_07c502db4218d64a": "Image management", + "m_11517afb9a8e86c0": "Search and manage uploaded images.", + "m_174a870d266c7cbe": "Garbage collection", + "m_be99a7d5edb04aec": "Find unused images", + "m_3a5040b68abf75f9": "Select all", + "m_f4d4bae588c4c0ff": "Deselect All", + "m_435bf8a234fde6f2": "Delete selected", + "m_5b75727ad998857a": "Image List", + "m_9743941279196582": "Newest Uploads First", + "m_30a8548b78af84c7": "Oldest Uploads First", + "m_ce4e4486ec3b6b54": "File Name A–Z", + "m_e15b17b1dfa9a6e1": "File Name Z–A", + "m_6634a3b81a71fa77": "Large Files First", + "m_6cf3b5b26a784642": "Small Files First", + "m_afaf8211b1d89bf3": "Search File Name...", + "m_a03f30e8d07385a2": "Search Tags", + "m_a49a58dc4b4807f8": "(Press Enter or comma to add, displays images containing all tags)", + "m_5550a6bd11600976": "Image Pagination", + "m_7b4fa8d66e9ee056": "Admin Panel - VireoWiki", + "m_e19796712f1cf0de": "Administrator", + "m_ce0401430697ef8c": "Admin Menu", + "m_0853bf3c01440ea8": "Dashboard", + "m_fbf413d429bd168a": "User Management", + "m_c7253a80c714ac17": "Content Management", + "m_68ea5dd4d7af20e6": "System Settings", + "m_d3e3bdceefb587dd": "Statistics and Logs", + "m_9a4abb1987b0928f": "Manage Wiki Settings.", + "m_572cf45ba43634b3": "Back", + "m_34bcac5d7a5cae34": "Quick link", + "m_9ca3e347bd2a255a": "Ticket Consultation", + "m_294be43d38b2c379": "Image Management Tools", + "m_fbbbc44e26ab529e": "Bulk Management Page (Super Admin)", + "m_362098b02d0244bd": "View Statistics", + "m_65945e3e2adf2d95": "Open Statistics Panel", + "m_b0cc8a500342168e": "Last 7 Days Statistics Overview", + "m_8e91da667e83d3f8": "Total Views", + "m_629ce27ad4e60622": "Visiting Countries", + "m_4fc3b101446ed72b": "Registration Application Management", + "m_02f9a8a28719b423": "Registration Review Enabled", + "m_7bf25421c6df4ad7": "Pending Review", + "m_b42cb548c1d411c9": "Approved", + "m_f098218a3032a625": "Rejected", + "m_ca0ea64115782e55": "Banned", + "m_fa2ff3c379a7c988": "View All", + "m_dd0a97ab3653fa82": "Apply Filters", + "m_b94d13a45ea21152": "Profile", + "m_a98585871c5313ff": "Display Name", + "m_73075237fd0f05f0": "Email", + "m_6320b4a8722a851f": "Status", + "m_ed31fbb483ee1b0a": "Actions", + "m_af90a08fec8ee28d": "Load More", + "m_f847b9e2149b50a9": "User List and Permission Management", + "m_793615f433522e6f": "Search by Name or Email", + "m_25e4e2328dfe83e5": "All Permissions", + "m_08a7d8daed8f815c": "Discussion Administrator", + "m_454b597653f5ab37": "Regular User", + "m_d44e9b3d3b31d37b": "Name", + "m_978cbca6265d1af2": "Permissions", + "m_4adc34616f3c900b": "Registration Date", + "m_bb6d995724f49a72": "Manage", + "m_66af625922befced": "Deleted Page Management (Soft Delete)", + "m_78bed30c40562a34": "Search by Page Name or Title", + "m_cb5d682bac3d1a2d": "Reset", + "m_8812b1cd0781889a": "Page Path (Slug)", + "m_b0d53c3b5c4c7a4c": "Deletion Time", + "m_f7ee4c424f60cc9f": "Deleted page pagination", + "m_86aba51cf707a19f": "Category ACL", + "m_7953ecf86928f6fb": "Name ↑", + "m_4022782076906ec4": "Name ↓", + "m_80c25621f2448b18": "Page count descending", + "m_24bca5777f0575f6": "Most recently registered first", + "m_2de8816f4704cf54": "If the ACL template is applied to a category, it will be applied to the page when that category is applied", + "m_3a2ee02a29524d71": "It will be updated according to this mode (overwrite/merge/ignore).", + "m_109aba135893a2a3": "If the flag is enabled, non-admins cannot apply that category (same effect as the old \"admin-only category\"). Clicking the category will move the page back to that category.", + "m_1b826effed73f4a6": "Move to category ACL page", + "m_22f91403b63f6ba4": "Palette management", + "m_a1a6fd3507394097": "In the content", + "m_56e7a92d37385a63": "Manage the custom colour palette that can be used. When a background colour is specified, the text colour is automatically calculated according to brightness (manual changes possible), and to use a different colour in dark mode, enable the separate colour toggle. The default preset colours cannot be used.", + "m_1fc8555df8c66537": ") cannot be used.", + "m_aa1cbd60d03356f8": "Add palette", + "m_919090e0bf9f04a9": "Palette name", + "m_d31a4d6bad47bfcc": "Light mode", + "m_f21ef4aba5ab4e55": "Text colour", + "m_19f7a4ea878d5964": "Auto contrast", + "m_568e8ffdd040007f": "Set separate colour for dark mode", + "m_94d2bd014dfd31ba": "Dark mode", + "m_65900e469fbff6dd": "Preview:", + "m_dbcd5e7bb7a0f538": "Light", + "m_60acc53f13a5d1bf": "Dark", + "m_21bd738e0d7191a7": "Loading…", + "m_aeb5764c745369df": "Site announcement", + "m_05cf32f81ceb6098": "If multiple notices are issued, they will stack in order from top to bottom in the header. The \"Publish as notice\" button on the blog post page can still be used, and additional notices added here will be published as external links or text banners without links.", + "m_3031747ae2bd249a": "Publish new announcement", + "m_37d9c73375dc7a44": "Announcement title", + "m_4e222e2a6cbb4040": "Link URL (optional)", + "m_517e33f50a4f457f": "https://... or /blog/123; leave blank to display text only", + "m_8b5794a39cd7c3c5": "Reset icon", + "m_d78a6a9cd0304a66": "Publish announcement", + "m_305378ddd2b86b60": "Link", + "m_e8ff4d335dee5d55": "Publish time", + "m_83163278a6592c52": "Edit announcement", + "m_cfc8cd209fe2a722": "Only the title and icon can be changed. The publication time is not updated and Discord notifications will not be sent.", + "m_0f6675c094dab042": "Wiki operation strategy", + "m_a9a545aee2d2f6ac": "Display name modification policy", + "m_e06b63bd4fe302fd": "Unlimited", + "m_727f0e041be74148": "Modification prohibited", + "m_e816a12c29775a4e": "Limit by day", + "m_ee239f3943293f87": "Sunday", + "m_5cea9b8ab0708590": "Private message and registration", + "m_1da0ccf3d059c6ee": "Allow private messages", + "m_04f83ab519b2acda": "Open registration", + "m_ccfa3209cd2cdff7": "Admin review", + "m_198a9a5357181c54": "Close registration", + "m_bbd302e659bae8a0": "Global editing permissions settings", + "m_e5ff4a67571b7ba4": "Edit ACL", + "m_53063ebc6df404bd": "Registered for at least N days", + "m_4c744fdbd8a71ae1": "Threshold", + "m_9b1a7ebabfc59142": "pages.edit_acl's", + "m_2e4efdf119a31cac": "flag references the global threshold. If 0, immediate approval upon registration (=disabled).", + "m_170c6b52b88441a5": "Edit request", + "m_7e1c59dde29ccbfc": "For users lacking ACL, edits are held as edit requests instead of reflecting immediately, allowing reviewers (administrators or trusted users) to approve/reject them on the page. This toggle has moved to the deployment settings (", + "m_39ba020943ebbc5c": "of", + "m_712943d8cd52f7ec": ").", + "m_67c9030df1b27107": "Must be greater than 0 for holding to occur.", + "m_c8550237ba701f64": "Save settings", + "m_335943d9bd78e53b": "MCP service settings", + "m_085215f75afda280": "Checking...", + "m_a950af1d5f31c41d": "Set via MCP_MODE in wrangler.toml", + "m_303757e930545121": "MCP service address", + "m_63d90d977348ab1f": "Copy", + "m_ff3790a87c0a0775": "Traffic statistics", + "m_aee88743413144a2": "Refresh", + "m_cdc65d40899ab1dd": "Load data", + "m_89d9db257f9c2dbf": "Popular pages", + "m_4c9a220ed148a7e9": "24-hour popularity", + "m_8027f8ca48863bba": "Source channel", + "m_a05ccf093c91cb2a": "Device and browser", + "m_c636d975abd1f51a": "Search terms", + "m_262630ed44685da3": "Recent HTTP errors", + "m_77e1ea5c5688eea4": "Path", + "m_0b9157354ab262ae": "Error Information", + "m_06f7d73412128f50": "Status Code", + "m_88d7fcd8d7de0e70": "Occurrences", + "m_c0d32ad56b14db88": "Performance Statistics (Average Response Time)", + "m_0673748321d78a32": "Administrative Operation Log", + "m_4b414e789934c4ff": "Search Administrator or Content", + "m_267c4a7a86dd1849": "All Types", + "m_804fb8e4ccb55940": "Permission Modification", + "m_7b6b1944a52d4cf5": "Ban/Unban", + "m_aa4e74c672848368": "Approve Registration", + "m_6800c353c9e55b1b": "Reject Registration", + "m_17131d16839d5aa7": "Prohibit Registration", + "m_063326a7a1561189": "Settings Modification", + "m_c6f37061bf42d40c": "Add Category", + "m_8fecb2f55251d4a6": "Delete Category", + "m_85c00334976622a9": "Delete Media", + "m_c6c8db783b56b86a": "Media GC", + "m_9f4f960bb8b06af3": "Delete Page", + "m_d89a000da895d46b": "Restore Page", + "m_5818ad0db46d8259": "Move Page", + "m_5c50530777ed9773": "Batch Delete Pages", + "m_5957c5e9b39d332b": "Batch Permanently Delete Pages", + "m_83417580a935ca2f": "Batch Move Pages", + "m_8b6ff498515bcc2f": "Time", + "m_ba40014ff496f64e": "Type", + "m_3f4e5426e6a9667f": "Admin Log Pagination", + "m_afc8f822ddc2a301": "Icon Library", + "m_2b6813572c27a663": "MDI", + "m_faab0dc4735c1cfe": "Bootstrap", + "m_86995a1b96fcd346": "No Icon", + "m_9be2a4bf979ffcc9": "Search icon name...", + "m_9ea3c456343fe9ea": "Loading icons...", + "m_1e0b298652261fa0": "No search results.", + "m_62e0407d3d23ffd0": "All Pages - VireoWiki", + "m_393a2482464f881c": "All Pages", + "m_386d3809ccaab512": "Browse Pages, Categories, and Images Centrally; Click the Arrow Next to the Title to Expand Subpages.", + "m_bdb3fee384c86c0d": "Show Detailed Permissions", + "m_16bde868b9e63f6e": "Name Ascending", + "m_5cf21e0983a11338": "Name Descending", + "m_a691b28b8f352e35": "Recently Modified First", + "m_2fea6887f9992c48": "Oldest Modified First", + "m_46391bc8cc3d46a0": "Recently Created First", + "m_e25626f1af29dbef": "Oldest Created First", + "m_bc25ffdd4eeb42ec": "Long Pages First", + "m_9182894875d7d167": "Short Pages First", + "m_422a52cc9ddd50e6": "Subpage Count Descending", + "m_1f5e08348dd1d87e": "Subpage Count Ascending", + "m_ca905de61fbd2986": "Page Count Descending", + "m_391fa021267f1dae": "Page Count Ascending", + "m_43e8d46175790b16": "Real-time Trending", + "m_00bd3960fea8ea98": "Expand", + "m_58178ba689c2eead": "Recent Changes", + "m_f95e454c28b7e17d": "Edit Blog - VireoWiki", + "m_88d91fa49b2c19a9": "No results", + "m_9dc0825fba5422e4": "Loading...", + "m_dc92ca6be7ef747c": "Select Image Size", + "m_ebd11b2cabe9972c": "Insert Code", + "m_08cc2cac91a65892": "Insert Block Component", + "m_369b82fa0700db02": "Select Colour", + "m_4171421030a69398": "Choose colour palette", + "m_be6d37351abba0f9": "Date/Time", + "m_c430f4c12eaa146a": "Monday", + "m_d1378a68e620b1cc": "Tuesday", + "m_2961168962be301a": "Wednesday", + "m_e9d3b01a5a00f1af": "Thursday", + "m_572388f3b096b817": "Friday", + "m_f9aa11dbb15ce647": "Saturday", + "m_74cd9e84af49dc71": "Search icon name... (e.g., home, user, card)", + "m_397c5d2dde1f3a79": "Edit Blog", + "m_a1b406f82efc3814": "Blog Post Title", + "m_1737d8802b708474": "1 line", + "m_bd1f3f02b0950a95": "0 characters", + "m_b84795fdfa079d3d": "0 characters (including spaces)", + "m_a9126274b61a2366": "0 words", + "m_bc5b83eddbe9465e": "Refresh CAPTCHA", + "m_9393fa8872d201c0": "Edit Image", + "m_55a6f0a582b4f5b9": "Toggle Crop Mode", + "m_5a2a4223e38b105b": "Apply Crop", + "m_104b0e8a6eca3728": "Rotate Left 90°", + "m_82751aa3ca5f5a4e": "Rotate Right 90°", + "m_76709ce82501d0c2": "Restore Original Image", + "m_37b5a36966aeab63": "Finish Editing", + "m_54d223f23d5de184": "Blog - VireoWiki", + "m_2bb95a729d4bb468": "CloudWiki", + "m_202cc44b7a897f31": "Blog", + "m_e5fce40a463b69c1": "New post", + "m_d953523a3646e792": "Admin Actions", + "m_0830771df3e6da3c": "Notice Cancel", + "m_ef0dca055914e62c": "Permanent Delete", + "m_7e564575eb7d5eb2": "Share", + "m_8e86f9b1d54f2c51": "Copy Link", + "m_b1f1efeb98a9d972": "Copy Page Text", + "m_8d118670097e8a26": "Copy Page (Markdown)", + "m_d7bfe7b5055c225a": "Print", + "m_61e5a71f3ca6511c": "Ask Claude", + "m_3a178828694315f2": "Ask ChatGPT", + "m_e9d5ca6c140665da": "Back to List", + "m_437187bdb62716e5": "Post not found", + "m_6b1df31c2681e88b": "The post does not exist or has been deleted.", + "m_d4a50c2602250e37": "Component JSON Builder - VireoWiki", + "m_489a845ceeb31c14": "Component JSON Builder", + "m_cd40c8a1d69cdd05": "After creating the sidebar and footer navigation via GUI, paste the resulting JSON into the", + "m_7711db9ce00632ec": "value.", + "m_30dd3b467d75339a": "Reset All", + "m_670b7237b098a1e3": "Sidebar configuration", + "m_5f8f51410e680cd8": "Add Entry", + "m_77b30902275257cd": "Header", + "m_14b69bd6eeb0839b": "Text", + "m_c64dd5eb2135d0ba": "Divider", + "m_c0c2044762e6d217": "Footer configuration", + "m_d124c7e40548f99a": "Sidebar JSON", + "m_be0fa73996933633": "Apply the input JSON to the interface above", + "m_47d4ec6c36eb0873": "Paste the JSON array here and click the 'Apply' button above.", + "m_00b28fc736016af5": "Footer JSON", + "m_26632d0a3a310216": "Discussion - VireoWiki", + "m_cba95f43a12d7d78": "Return to Page", + "m_050b1f04e0dee903": "New Discussion", + "m_5c55a67935af8f45": "All", + "m_c14c915da5fbec64": "Open", + "m_9cf5f152776decfc": "Start Discussion", + "m_fc4e7c9b637515d7": "Discussion Title", + "m_80c010b6e1892329": "Enter Discussion Content", + "m_b61f333b91b21f79": "Publish", + "m_0bfca7bdd2207da4": "Comment", + "m_75ff606f874424ab": "Enter Comment Content", + "m_d346633d3a4e54d3": "Cancel Reply", + "m_d0234b632dcbbab5": "Edit Page - VireoWiki", + "m_e3d507e8f947433f": "Edit Conflict Occurred", + "m_52b172658ccd1f00": "base v", + "m_b06a67fdb63d45e4": "Server v", + "m_d8e0260302c1feae": "items Change", + "m_e4aaa7fac477c6bf": "My edits ·", + "m_cd8a10d781a40851": "Item Changes", + "m_fd00391ec84ee73a": "Browse Conflicts", + "m_1d851edde2d1e26a": "Previous Conflict", + "m_626f690f96179548": "Next Conflict", + "m_20bf5a70a1b1444f": "Diff Mode", + "m_ad6a950b4620d66f": "Unified", + "m_32afaa7843336480": "Split", + "m_f7c58140798c4f5c": "Compare Changes", + "m_749fd9c60a28f34e": "My Edits ↔ Latest Server Version", + "m_2d92ab5f3632b2eb": "My Changes (Base Version ↔ My Edits)", + "m_f86137ada98930bb": "Server Changes (Base Version ↔ Latest Version)", + "m_8290e2f665c2099b": "Server Content", + "m_13d61fea9f174905": "Preview", + "m_f2861e697c38887b": "Merge Draft", + "m_3b0bd3302e7ec46e": "The system will automatically insert conflict markers, please manually resolve them.", + "m_cb61a55481561971": "0 unresolved items", + "m_391f167958bd4583": "Apply resolution results to editor", + "m_26dc36277d3831fc": "Edit page", + "m_72d2bae2a744d54f": "Current", + "m_ee16e42cf2c52882": "Edit current section only, saving will update only this section.", + "m_bb95998fd00570c2": "Split into sub-pages", + "m_d967118a6a467fb2": "Page\n Switch to full page editing", + "m_20955652b7c3d268": "Page Title", + "m_16f715efa9f0ba6c": "Display Title", + "m_3d5c3c3dbaca6b32": "(Optional)", + "m_a67c7c8486969162": "Press Enter or comma after entering a category", + "m_ac6ee8a4adcaa68a": "Category Management", + "m_a58d6f8a9aef5cd8": "Page Redirect", + "m_e1516325e6039440": "Enter the target page title to redirect to when accessing this page", + "m_5f75abc799d3a4a6": "Keep current page content and redirect visitors to another page.", + "m_278a8f83ac5d0ec9": "Syntax Guide", + "m_2ba335f099de9f54": "Preview Changes", + "m_3f93387bd2d962e4": "Preview Rendering Results", + "m_310aa9a52377ce2a": "Edit Summary", + "m_47a8ff3f51364711": "Briefly describe the changes", + "m_2d22af42a79f019a": "Edit Note", + "m_98047b375180d8fb": "Visible to editors only, not recorded in revision history", + "m_303561cc374355bf": "Leave a note visible to editors only, readers cannot see it.", + "m_88168f37ced26d1c": "Temporarily save current content in this browser", + "m_5329e3f0ee463df5": "Save Draft", + "m_0cb3fb5b86d7dec6": "Error Occurred", + "m_d98ee0e5f9399db9": "ERROR", + "m_2fadf395e582b518": "An unknown error occurred.", + "m_527ed1f5f1272340": "Explore - VireoWiki", + "m_98ceb57fd8c4192a": "Explore", + "m_dc11b75252240cb7": "Orphaned Page", + "m_4ecce7be480f6f30": "— A page that no other pages link to", + "m_91da9a0ea953819a": "Pages to be Created", + "m_81ac554b62fd7744": "— Pages referenced but not yet created", + "m_868e138a540a8169": "Recent Discussions", + "m_66107ee6f097cc69": "Pending Review Edits", + "m_669c9c93aa6585ee": "— Can be reviewed on the respective pages", + "m_900279772114fc7a": "Random Browse", + "m_f482e3e5b8c7be21": "Browse Random Pages", + "m_8991e2cd957c4fa4": "Page Activity", + "m_c18fdf7c840dbd7d": "Recent Edits", + "m_d0779dcb213ea806": "Show only monitored edits", + "m_427017aa416d183c": "Recent Edits Pagination", + "m_561340c5675ebec3": "Page Name Ascending", + "m_9b4a824feb2589ab": "Page Name Descending", + "m_79ffcd4493ccbc87": "Creation Time Descending", + "m_c1d6c8a33bdbf06f": "Creation Time Ascending", + "m_7c03015f02805cf6": "Last Edited Time Descending", + "m_621179d315791a07": "Last edited time ascending", + "m_c5089e5ca420bbda": "Category name ascending", + "m_ba22bb6bab115807": "Category name descending", + "m_4b211956be18fc54": "Page list pagination", + "m_23d882bdf6b507e8": "Page group navigation", + "m_af0ae3351923fc5d": "Page directory", + "m_52daa71ebc310581": "Index", + "m_82b4b8d91a0f11ad": "Create first page", + "m_21b45a82891c3229": "There is an ongoing discussion on this page.", + "m_477e016daabf33df": "View discussion", + "m_b7e78359233ab5d1": "Copy HTML", + "m_c86d3f1f09905f89": "Page tools", + "m_881ae691c44b361d": "0 lines", + "m_cc9d207f74c40e3d": "Previous page / Next page", + "m_f2d08a239c38f620": "This page has been deleted", + "m_6d9ff8ce8d9e2b5e": "This page is private", + "m_8536c6991311409e": "This page is set to private, only users with permission can read it.", + "m_ed737b618c53f493": "Category:", + "m_a610e0c62b3e1e39": "Table of contents", + "m_843bf1cad06adf9d": "Table of contents", + "m_343d9b642b08734e": "Exit reading mode", + "m_89295faf2d570ffb": "Exit raw view", + "m_43bd5e82c49e4f9c": "To top", + "m_d8043d8bbd373b37": "To bottom", + "m_41ec79ea3fc0f117": "VireoWiki - Login", + "m_ef45c4d5478d199f": ", welcome", + "m_c03129eac3c27cd8": "Welcome to Wiki, you can participate in editing after logging in.", + "m_9f8706d68a27ee92": "Stay logged in", + "m_3931e972f88bc57d": "Login on other devices (QR code)", + "m_b834056f1dc1a019": "Notebook - VireoWiki", + "m_b331f2b5a8abe133": "Notebook", + "m_1ef3de06b32e521b": "Clear", + "m_9d918986a246b50c": "My profile - VireoWiki", + "m_cf2151043e18b878": "Loading profile...", + "m_ad92339e37949c3f": "Change display name", + "m_0b19c2a89b3d17d0": "New display name", + "m_1b8fdacd48c195df": "Other users will see this name.", + "m_3ea2d23c902cfa31": "Avatar", + "m_7c5c82ca2ad0dbf0": "Hide avatar", + "m_b4b622e5d787a172": "When enabled, default avatars are displayed uniformly; when disabled, the account avatar is restored on next login or refresh.", + "m_92cd4592ada228d6": "MCP edits take effect immediately", + "m_e51daf0118dbde85": "Allow MCP edits to take effect immediately", + "m_3cd7dc78042bc06b": "If enabled, the connected MCP tools will be immediately available for application", + "m_cb817db385823e7b": "additional tools are exposed. AI will", + "m_602ad2acb82a4933": ", a new revision is created immediately without waiting for approval (", + "m_c48551f559296535": "is still submitted for approval). Edit permissions, page locks, and conflict checks are applied in the same way.", + "m_247ca01ae2808bf7": "Notification settings", + "m_3ce5333a13b82bf1": "Enable or disable notifications individually for each discussion you participate in.", + "m_e3a900d9b21c69bc": "Active statistics", + "m_c28a589f5d38fe2e": "MCP edits pending review", + "m_d03ed9f9db528545": "Displays edits submitted by connected MCP agents.", + "m_218d5bfa501a1520": "Notification archive", + "m_e5049a66d3511e59": "Notifications are saved for 90 days, then automatically cleared.", + "m_38844b135cf70dfc": "More", + "m_63a5e7b7391191b1": "Inbox", + "m_02d55e8b9e34124e": "Outbox", + "m_6ed05ab6df7cc610": "Followed pages", + "m_e38c2efbafd32eaf": "Notifications are sent when followed pages are edited, you can adjust the range or unfollow.", + "m_1cb03bd4cfc9f747": "Followed categories", + "m_d526f58f16527fbb": "Notifications are sent when pages in followed categories are edited.", + "m_dd50c9cefaffe5df": "Pages I edited", + "m_e2eb172ff696c154": "Discussions I participated in", + "m_33bc517653ac5013": "My tickets", + "m_53c358ee2e006f26": "Login session management", + "m_d4e7aca54ad58888": "Log out of all other sessions", + "m_68b628808f2afacc": "Currently active login sessions; if there are unfamiliar devices, log out immediately.", + "m_93853e16ae10570b": "Wiki MCP", + "m_609c2e2b937867b8": "Connect MCP clients such as Claude Desktop, Claude Code, etc. to this wiki.", + "m_d3347f6764ac396a": "Enter this URL as the server address in MCP clients (like Claude Desktop) that support OAuth automatic search.", + "m_734726d5724258d3": "Connected clients", + "m_226d718499895d4d": "Disconnect all connections", + "m_98037ea725fd3581": "View clients connected via OAuth. If there are unfamiliar clients, disconnect immediately; records are kept for 7 days.", + "m_5f600b307b4eb0fb": "API keys", + "m_73e4d83cc4e690da": "This is an alternative method that authenticates by directly including the API key in the header instead of using OAuth.", + "m_a7b53b47db0647d8": "Security alert:", + "m_b6ee042ea6cd4f9a": "The API key method is not recommended compared to OAuth. If leaked, agent permissions can be compromised, so it must only be used in a locally trusted environment and immediately deleted or reissued if leaked.", + "m_ef719aff9261b129": "Issue or update API keys", + "m_5c208e3348180af6": "Delete API keys", + "m_635cd189be33b0bd": "MCP client JSON request header example", + "m_23925bc3a05f4608": "Copy JSON", + "m_97a1df85ff6e77c5": "In the MCP client configuration file (", + "m_16a9138262efd85a": "), specify the API key in the Authorization header", + "m_eabf97e700aafe73": "in the following format.", + "m_62e0b494cfecbaac": "MCP tool settings", + "m_2a4540b12718c890": "Enable all", + "m_34f7336d39831fca": "Disable all", + "m_891e160d20acffac": "This is the list of MCP tools provided for my permissions. Disabled tools are completely excluded as if they do not exist in the MCP handshake and will be rejected when called. The default setting is all enabled. After changing, refresh (reconnect) the connected MCP clients.", + "m_6b85ce0c6561eb77": "Contact administrator", + "m_32b60cb80218c4fd": "Log out of account", + "m_98eab38c3ef574c2": "Confirm QR code login - VireoWiki", + "m_00091b9967863749": "Confirm QR code login", + "m_ec0ee1c64ed494da": "The following account will be logged in on another device.", + "m_b1699eb03cab4271": "Loading information…", + "m_4a7849864c3b8d40": "Profile.", + "m_d9a999a7c8e80c8b": "Login account", + "m_cd438f5d0cca898b": "Login device", + "m_36f33adaf0942634": "Confirm", + "m_8b853f892cb85872": "Please confirm this is your login request, do not approve unfamiliar devices.", + "m_2f96458f0521ac56": "Enter Wiki", + "m_ed13a5144522b278": "Edit history - VireoWiki", + "m_848123d14f84faa2": "Raw", + "m_8efe3f8aeaefdb91": "Edit history:", + "m_f1f32d0157fae751": "Edit history pagination", + "m_891b86301d456556": "Search results - VireoWiki", + "m_a96c9a854190874d": "Sort", + "m_c0ed6ee9ca70d07f": "Sort by relevance", + "m_cae945a91d2ad914": "Newest first", + "m_db6dcc2fcc5ddaf4": "Sort by title", + "m_4e65d015121fbe4e": "Search scope", + "m_450abb19edb20d7a": "Title and body", + "m_9522cc3124092a20": "Title only", + "m_744bfa455f7caedd": "Body only", + "m_0e84cdbe31d73354": "Exact category name", + "m_43f261290e2dd167": "Start date", + "m_895cd52fbbb64cd4": "End date", + "m_6e6203060edf5726": "Include private pages", + "m_ddec93e53a9a797a": "Search method", + "m_7d15fc867c469a95": "Use FTS for full-text search in the body.", + "m_7815c5140c7ab3f0": "FTS", + "m_785173da26b9c654": "Use AI Search (RAG) to search the body, title search remains unchanged.", + "m_f77fb5fc13e89e5d": "RAG", + "m_7a1f3e4504d87371": "Profile Settings - VireoWiki", + "m_8c697a8376c5f0ef": "Welcome!", + "m_aba04ee378f3ebee": "Please set the display name to be used in VireoWiki.", + "m_97f08d0ac41ae4ef": "When enabled, the default avatar is displayed instead of the photo from the OAuth provider. You can change it anytime from your personal center.", + "m_c236b6b12c680ec2": "Registration request message", + "m_968333deb0955666": "(Optional)", + "m_08b4c0c0c40584d0": "Enter a message to the administrator.", + "m_8f7b8409be23dac8": "Receive review results via browser push", + "m_b382d588f5512e48": "You can receive results promptly after allowing browser notifications.", + "m_715ee9dc842f34e4": "Get started", + "m_73cf69a2f70be816": "Ticket consultation - VireoWiki", + "m_7f7d851991a5f16e": "New Inquiry", + "m_a66cb0fe57643b7f": "Type: All", + "m_4119a4919e728252": "Publish New Inquiry", + "m_74891a3addbadecb": "Inquiry Type", + "m_e1fa4c1323c3ddd1": "Blocked accounts can only publish account inquiries for explanation (appeal).", + "m_7de7cf6a611ea4f3": "Inquiry Title", + "m_9609da83b8b4f312": "Enter inquiry content", + "m_96f65ee16b1f4ef5": "User Profile - VireoWiki", + "m_6a3219761890e001": "Administrative actions", + "m_8cd573f6026d64a6": "Edit history pagination", + "m_5a189009ea301dc2": "No smoothing target", + "m_be7bef35403236ab": "Cannot parse frequency response data.", + "m_04d9f97a19a93f89": "
        Phase data will be removed after applying smoothing.
        ", + "m_daba9777afa31b0a": "
        Existing Smoothing: ", + "m_37d1bd2e240ceedc": "Apply Smoothing", + "m_d87a4cb7b2cf3797": "

        Current Data: ", + "m_84e0b2a3fbd2112c": " Points ", + "m_b8e334b7c2fdeb90": "(approximately ", + "m_4e34c76a6d1f6f0f": " KB)

        ", + "m_338ad9e3d971af1d": "", + "m_7eed8f0104741b98": "", + "m_3911749132b03ce7": "", + "m_6f419bd0d781c71c": "", + "m_9812fd1911c755ce": "", + "m_90b8d2c6a8242047": "", + "m_3b0f62c7f9961e41": "", + "m_62bd76cca29eee40": "", + "m_53e456491f37bc9c": "Generated with a logarithmic uniform distribution. (50 ~ 4000)
        Can be restored to before smoothing via revision.
        ", + "m_e2ebe184ab11ca28": "Please select the octave fraction.", + "m_4cdd37d6d41ae06b": "The number of output points is in the range of 50~4000.", + "m_7a41047d553357ee": "Data Smoothing (1/", + "m_d3a1196fb372994a": "Smoothing applied successfully", + "m_42f54b48383c48fe": "

        Points: ", + "m_fca475aedb398f68": "

        Size: ", + "m_da87a98efb7fa482": " KB → ", + "m_68785ba1090341f5": " KB ", + "m_eecd13ecc9dfe144": " Data Smoothing", + "m_3e2e7e493bed9251": "1/N Octave Smoothing", + "m_66a160f8042e2a21": "

        ⚠️ Cannot parse frequency data.
        ", + "m_e0c45ab49ad7a4b2": "\"__VIREO_SLOT_0__\" is not valid frequency response data. (freq: Only document can be used as target)", + "m_940e6692b62ccb8f": "Cannot load target response (__VIREO_SLOT_0__).", + "m_d51302ae04a2e98e": "Extension for target response (__VIREO_SLOT_0__) is disabled.", + "m_47a1317f9638980c": "Target Response (__VIREO_SLOT_0__): __VIREO_SLOT_1__", + "m_334817d124fa7a8d": "Cannot parse target response (__VIREO_SLOT_0__) data.", + "m_236de7316ec1347f": "Target response (__VIREO_SLOT_0__) is invalid.", + "m_976fe5361e847363": "", + "m_b20a4b92c84c5f5f": "", + "m_6c57a398a288e665": "", + "m_aa297e7f66f93047": "SPL (dB)", + "m_80ac818ba5040aaa": "Target (__VIREO_SLOT_0__)", + "m_5f9597e24414b24b": "Frequency (Hz)", + "m_fa2631f89de91520": "Phase (°)", + "m_bab8d4ce68ac49f0": "
        ⚠️ Failed to load graph library.
        ", + "m_9225b45181da8f16": "Image/table caption", + "m_302bae1279382d2b": "Image", + "m_b68c7d1bc9592573": "Category", + "m_25f0d827e03ff670": "+$1 lines", + "m_75cb099b9144f625": "-$1 lines" +} diff --git a/packages/wiki-shared/src/i18n/source.json b/packages/wiki-shared/src/i18n/source.json new file mode 100644 index 0000000..5f5d6a8 --- /dev/null +++ b/packages/wiki-shared/src/i18n/source.json @@ -0,0 +1,3433 @@ +{ + "m_b6c1c96c52ea9de7": "이름을 입력해주세요.", + "m_17fd2bab60f5fa02": "영문/숫자/언더스코어/하이픈 1~64자만 사용할 수 있습니다.", + "m_32d3a1d05f377182": "하드코딩 프리셋 이름과 겹칠 수 없습니다.", + "m_cc9f8b1e951c4b0c": "새 팔레트 추가", + "m_5fb926229090001c": "저장", + "m_2f8d5d46605e2cde": "팔레트 편집: __VIREO_SLOT_0__", + "m_3537f0cc3ec9fa10": "수정", + "m_c645164a4beb76ac": "
        등록된 커스텀 팔레트가 없습니다.
        ", + "m_4504090c6a71c3b5": "(미지정 → __VIREO_SLOT_0__)", + "m_ad423fa90e1d916c": "\n
        \n __VIREO_SLOT_1__\n \n \n \n \n __VIREO_SLOT_6__\n \n \n \n \n
        \n ", + "m_53518a1483b7f94b": "\n /\n \n \n ", + "m_b178b2b6a6f06331": "
        팔레트 목록을 불러오지 못했습니다.
        ", + "m_b49f20d86148ddfd": "오류", + "m_289d5963498c8fac": "잘못된 색상 코드가 입력되어 있습니다. (#RRGGBB 또는 #RGB)", + "m_7e6dcbfd369a97fc": "저장 실패 (__VIREO_SLOT_0__)", + "m_ba971bfea1b3477d": "저장되었습니다.", + "m_e24943bb3e7cc75d": "팔레트 삭제", + "m_ca8df919e95738a1": "'__VIREO_SLOT_0__' 팔레트를 삭제하시겠습니까? 이 팔레트를 사용 중인 문서는 색상이 적용되지 않게 됩니다.", + "m_6139b6c3ed73cd4a": "삭제", + "m_be876433993ab7ba": "취소", + "m_ca0be49e14db6168": "'__VIREO_SLOT_0__' 을 삭제하시겠습니까?", + "m_5cb5981d516bbfe3": "삭제 실패 (__VIREO_SLOT_0__)", + "m_d2e05037626d501d": " 已删除", + "m_c98b990e5d9b8b91": "\n \n
        \n 블로그\n __VIREO_SLOT_1____VIREO_SLOT_2__\n
        \n __VIREO_SLOT_3__\n
        ", + "m_7eb48ab9b79e6ee6": "\n \n
        \n 讨论\n __VIREO_SLOT_1__\n __VIREO_SLOT_2____VIREO_SLOT_3__\n
        \n __VIREO_SLOT_4__\n
        ", + "m_a0ed21219d08052a": "\n \n
        \n 티켓\n __VIREO_SLOT_1____VIREO_SLOT_2__\n
        \n __VIREO_SLOT_3__\n
        ", + "m_37eba2bfd2ba98ed": "
        链入页面가 없습니다.
        ", + "m_7a0ef1e9e023fa04": "正在加载...", + "m_038b55bd7b3d8fa2": "동일 단계 暂无页面", + "m_06f20c851bc730ec": "불러오기 실패", + "m_589949d0ce1b0617": " ", + "m_d278e66fa5d99310": " / ", + "m_661f7e44a4aa7fa1": "문서 구조:__VIREO_SLOT_0____VIREO_SLOT_1__", + "m_63935251e583b27f": "문서 링크가 클립보드에 복사되었습니다.", + "m_0bc1fb72ae1be5c5": "错误", + "m_ec6f40a9e763d7c1": "클립보드 복사에 실패했습니다.", + "m_38d098ba7768a3d1": "문서 내용이 클립보드에 복사되었습니다.", + "m_5d316b522e9b3812": "문서 내용을 가져올 수 없습니다.", + "m_384c7951cf63c117": "마크다운 원문이 클립보드에 복사되었습니다.", + "m_24626229dc0b225b": "문서 HTML이 클립보드에 복사되었습니다.", + "m_513eaca6e4834d62": "다음 위키 페이지를 읽고 내용에 대한 질문에 답해줘: ", + "m_34f74a1b1a652190": "하위 문서를 불러오는 데 실패했습니다.", + "m_e97fa0a8680309fb": "문서 구조", + "m_dfb2fc6223803099": "하위 暂无页面.", + "m_70de8e074ef644cd": " 복사됨", + "m_2f7cace2e470cb6f": "\n
        \n \n \n
        ", + "m_fd065914070c3ee5": "\n
        \n \n \n
        ", + "m_3fd47edce45b3603": "关闭", + "m_7e0bfd6a2f4cf2c2": "
        正在加载...
        ", + "m_1194736d55543b31": "
        하위 문서를 불러오는 데 실패했습니다.
        ", + "m_33dcddf15dc978d8": "新页面 만들기", + "m_876c6189ce292af4": "문서 이름", + "m_c9370c3f2f8dde70": "예: my-first-page", + "m_81b8d99b4f9bdf3c": "만들기", + "m_2cd0f3be8738a86c": "取消", + "m_b68b9aa395e1d283": "현재 编辑页面", + "m_1d3c8bb552e44b23": "편집 edit 수정", + "m_6c0ad4da87f4b4b3": "新页面 작성", + "m_4af2f5a4ab686f85": "새문서 작성 new create 만들기", + "m_cd86b10b359ba0f7": "随机页面", + "m_eef9c6abde132084": "랜덤 무작위 random", + "m_b8957c30d19267f3": "탐색 포털", + "m_dcfde3b8d380d541": "탐색 explore 포털", + "m_ffe893bace2a4aba": "홈으로", + "m_5a269c0e2c6ac18b": "홈 home 메인", + "m_87354adb1c31e43d": "管理后台", + "m_8c74baa4038b9dec": "관리자 admin 콘솔 설정", + "m_a7a6fa8c2a56c940": "다크 모드", + "m_0b9ebbd426468b58": "다크 dark 테마 theme 어두운", + "m_e44a6a58308e37db": "라이트 모드", + "m_3f13602d704b1fd0": "라이트 light 테마 theme 밝은", + "m_71d696e2079989c2": "자동 테마 (시스템)", + "m_4e65100f2af2e903": "자동 auto 테마 theme 시스템", + "m_c2952a5ffcc34883": "个人设置", + "m_4550d1947c5097d8": "설정 settings 환경설정 테마 레이아웃", + "m_f6eeae9b0f5d9dbb": "문법 치트시트 (문법 검색)", + "m_2ce5a8b1a915598d": "문법 치트시트 syntax cheatsheet 토큰 검색 삽입", + "m_61935cdc25a7b5c8": "단축키 도움말", + "m_d3af477e12a7a4b3": "단축키 도움말 help shortcut keyboard", + "m_51f9a31c0ae7a10b": "커맨드 팔레트", + "m_25e2dedb7781d25c": "placeholder=\"문서·명령 검색… ( > 입력 시 명령 모드 )\" ", + "m_76e21e04481b1910": "Esc", + "m_dbfc08212ac85579": "
          ", + "m_4f255984f7f8e45a": "↑↓ 이동", + "m_1596d8fae424d0ca": "Enter 선택", + "m_115518dce9b7a39f": "Tab 전체 검색", + "m_2a9b0e7c31cc401b": "Esc 关闭", + "m_d5fe8044502d75dd": "” 전체 검색", + "m_463dd346080e7ab3": "최근 방문 문서", + "m_7bb3f9811758f0e9": "빠른 액션", + "m_1f12b8e23dfddbba": "명령", + "m_452c7b10d57a86a7": "页面", + "m_515559957fd3acbd": "分类", + "m_5a30b6ad61d39bd0": "\" aria-hidden=\"true\"> ", + "m_1ba045c3573b1251": "결과가 없습니다", + "m_a706654a5b134832": "Enter 로 전체 검색을 시도해 보세요.", + "m_d86de434ba64df92": "커맨드 팔레트 열기", + "m_e1cfad4ae66a5af3": "헤더 검색창 포커스", + "m_64a9bf4fc5ecfc98": "홈으로 이동", + "m_0a7a8e73f4902844": "탐색 포털로 이동", + "m_efaf8a0202b89829": "현재 编辑页面 (문서 열람 중)", + "m_33d377b6c9c76b81": "이 도움말 열기", + "m_89ce481a4b23d2a4": "键盘快捷键", + "m_ee24f945b92412f6": "键盘快捷键", + "m_f17dc0280ef14b6d": "", + "m_de8f14b2aedcbfaf": "标签太长", + "m_9341d4a4f50d3c34": "标签最多 50 字。", + "m_63d43c7f9b539745": "不支持特殊字符", + "m_341c9158d0aeffee": "标签名称不能包含特殊字符。", + "m_a94b9e1aaa79c9b1": "标签数量超限", + "m_d6fec6bc78d9cef5": "最多添加 20 个标签。", + "m_cde96ff40e7778ed": "无法打开随机页面。", + "m_aad7db05d61d31ff": "新公告", + "m_a2d3a4eeefd7bf8f": "不再显示", + "m_94c57dbb47dd1a3f": " 正在加载...", + "m_051ea7bfba93e9e6": "暂无通知", + "m_08d7d6ce0ebacb38": "
          \n \n
          \n
          __VIREO_SLOT_7__
          \n
          __VIREO_SLOT_8__
          \n
          \n \n
          ", + "m_74df34d3749eea0f": "\n
          \n \n
          \n ", + "m_a424f4ceb627b56d": "
          通知加载失败
          ", + "m_030fa62eb15037f3": "加载失败,重试", + "m_de6785d99e028971": "刚刚", + "m_f8083e01520b7dac": " 分钟前", + "m_9ebf77f67bc49767": " 小时前", + "m_5972982ce6bc68ca": " 天前", + "m_56db248412ff2792": "超级管理员", + "m_78496a61deb74f2d": "관리자", + "m_7a44dba7742f6b57": "讨论管理员", + "m_6f93ba4c79f837ca": "封禁", + "m_958ece350af5369a": "已注销", + "m_f6a2faaac200e75d": "普通用户", + "m_b9dfeed9394b41c2": "删除通知失败。", + "m_f8abee26e0bf27ae": "标记已读失败。", + "m_22abbed26f07b173": "删除全部通知", + "m_c883eb513f547831": "将删除所有通知,此操作无法撤销。", + "m_9b2ccbb48e31d52a": "全部删除", + "m_2066f4e83f732ab8": "接收中", + "m_6744b4c6a9aa0038": "已关闭", + "m_00c6d96fa30a71b1": "取消推送订阅", + "m_229f3f58efb2b445": "接收推送通知", + "m_a4d9636a501c734d": "푸시 알림 구독을 해제했습니다", + "m_6c38770816549d26": "푸시 알림 구독 해제 실패", + "m_7de85bfdf94080d7": "已订阅推送通知", + "m_efbd623a09987dc7": "通知权限已禁用", + "m_bfd3af733fbd80eb": "请在浏览器设置中允许通知。", + "m_f34747723d1d3bcc": "当前浏览器不支持推送通知", + "m_892529bce47eabeb": "푸시 알림 구독에 실패했습니다", + "m_1ac13841ba2ea68b": "未知用户", + "m_5d63997a05b668f1": "", + "m_66e824fac80d97ba": " 쪽지", + "m_0adc4beac9ba4b15": "쪽지를 불러올 수 없습니다.", + "m_ca401920b0fcdb0c": " __VIREO_SLOT_0__님에게 답장", + "m_2beba854a0be713e": "답장 내용을 입력하세요...", + "m_9aee63bd0f6981b7": "보내기", + "m_ab85f44f1d779fcb": "내용을 입력해주세요.", + "m_c76bcedd965ccb8f": "발송 실패", + "m_34f48b56d4e22e22": "쪽지 발송 완료", + "m_eeaf95fca202a934": "쪽지 발송에 실패했습니다.", + "m_25f3b0bc182bfca2": " __VIREO_SLOT_0__님에게 쪽지", + "m_4b6b457e887fe436": "쪽지 내용을 입력하세요...", + "m_2f10882d8db32301": "__VIREO_SLOT_0__ 分钟前", + "m_13d9a4afbbd1b91f": "__VIREO_SLOT_0__ 小时前", + "m_dd30752bcdb324d3": "__VIREO_SLOT_0__ 天前", + "m_e22f859d1ee42e08": "변경 내역이 없습니다", + "m_c1fee7c8e96d332c": "트렌딩 데이터가 없습니다", + "m_04bf37d3b91172bc": "접기 ", + "m_06864158538ff797": "펼치기 ", + "m_10f31f3c85ee150f": "Mermaid 다이어그램", + "m_c8084b4d279d80e4": "차트", + "m_072e68b79d9bae6d": "익스텐션", + "m_b17999ff6941b1b9": "외부 콘텐츠", + "m_abc1e7cf135be69e": " 미리보기에서 표시할 수 없는 __VIREO_SLOT_0__ 블록입니다. ", + "m_08f914b5b8fc4ad9": "Raw 비교로 원문을 확인하세요.", + "m_16e9e630232b0f54": "
          변경된 내용이 없습니다.
          ", + "m_28933254868ff727": "
          ⋯ __VIREO_SLOT_0__개 문단 생략됨
          ", + "m_348d96f189dbad3e": "⋯__VIREO_SLOT_0__줄 생략됨", + "m_0f6519606ca9a78a": "... __VIREO_SLOT_0__줄 생략됨", + "m_e81f18f2ccfa0ec4": "SweetAlert2 (Swal) 가 로드되지 않았습니다.", + "m_2e352b418c280276": "
          \n \n \n
          ", + "m_4031d8d14f0a6741": "", + "m_ac1fc253bac86a56": "
          렌더링 중...
          ", + "m_ec377483a303fde2": " 복사 실패", + "m_cc34e063fa6085b3": "멘션", + "m_56e88bd031eefcae": "멘션할 참여자가 없습니다", + "m_258ad4b095a1841b": "텍스트", + "m_fba83d218eea748c": "굵게", + "m_dd933ae8c2d8fac8": "기울임", + "m_a862dac745e78146": "취소선", + "m_4a02004ab78c6f58": "인용", + "m_f07b32009d77b4f6": "목록", + "m_8d79ff34d4f67a6e": "인라인 코드", + "m_af4eb87c4024e6a8": "코드 블록", + "m_3d54da9c8367da77": "링크", + "m_db894ea81546a74d": " 새 이미지 업로드", + "m_1ab5c248fcaeb392": " 기존 이미지 검색", + "m_0d720eeea26466dd": "图标", + "m_6a7339bb759788f3": "小", + "m_a567bdaa11367f26": "中", + "m_62ebda24c90ca0a5": "大(默认)", + "m_381cbc5a80cdd675": "Bootstrap Icons", + "m_9d89cdc64edf175d": "Material Design", + "m_6d2b296c1cd03af4": "背景色", + "m_04b9d4d0d299bc60": "글자색", + "m_8268412b046258a5": "팔레트 색상", + "m_6b28ff42c3bd1e53": "글자 크기", + "m_563d700698b2e153": "D-Day", + "m_e8e55f63b04c532c": "표시 시간", + "m_39434f4dbd6aa9ad": "타이머", + "m_57b8d86c7074f30c": "만 나이", + "m_b9a2602b5dd2c5b7": "캘린더 날짜", + "m_2fe5356cb0530f05": "키보드 키", + "m_6bbd4af8328c9ba6": "진행도 바", + "m_2810cd41e255386b": "이미지 크기", + "m_0af5878da3772fe3": "이미지 정렬", + "m_22866179d06cfcf3": "앵커 ID(탭/아코디언)", + "m_57ff1b60f5b9be4b": "배지", + "m_e24f8f799a09913f": "태그", + "m_605632038f49400b": "버튼", + "m_30c765b107c5eb5a": "통계 수치", + "m_588be0deb770b095": "미디어 임베드", + "m_c738b61460f613ac": "| 이름 | 값 |\n", + "m_f076669f17b53f92": "| 이름 | 값 |\n\n", + "m_6e5c1fafcd87247d": ":::tab 탭 1\n", + "m_d7cafcbd87c399b7": "내용\n:::\n", + "m_b750a273eb0c992a": ":::tab 탭 2\n내용\n:::\n", + "m_d26e710e43dbf1d0": ":::item 항목 1\n", + "m_1987e477de299aaa": ":::item 항목 2\n내용\n:::\n", + "m_d1641961d67e5ef0": ":::step 단계 1\n", + "m_368117f5be6dee60": ":::step 단계 2\n내용\n:::\n", + "m_932dba77309c6041": "제목 = ", + "m_005648e5b43bb97a": "저자 = \n", + "m_62b41b5aaec6fef4": "카드", + "m_155774e65ecb6263": "제목 + 본문 박스", + "m_14a173232a613b6e": "그리드", + "m_818bcff7e71931a4": "그리드 ({cols:N}/{template:1-3·8-4 등})", + "m_4a6a4508513a1deb": "가로 정렬", + "m_6eee93bfecdb267d": "자식을 가로로 배치", + "m_004150139f94ab3a": "가운데 정렬", + "m_fe525c37167d2e2c": "내용을 가운데 정렬", + "m_bc18fb606d1cd4a5": "오른쪽 정렬", + "m_993f9d86db97f941": "내용을 오른쪽 정렬", + "m_8864f426cc18342d": "왼쪽 정렬", + "m_cf92ecdc8c488285": "내용을 왼쪽 정렬(중첩 정렬 해제)", + "m_328263b28ff57998": "캔버스", + "m_8223173395e0f378": "비대칭 12컬럼 레이아웃 — 선택 시 :::area 골격 자동 삽입", + "m_5430ebf3366f2ff9": "인포박스", + "m_98658eb5d2388d8a": "옆을 감싸는 프로필 카드 — 선택 시 제목+표 골격 삽입", + "m_18d0e6bc2a7f45bd": "플로팅 패널", + "m_c82e34fcdb9baac1": "본문이 옆을 감싸는 좌/우 패널 ({left|right}{span:3~6})", + "m_5cd4cd76699a6fd0": "갤러리", + "m_7619e9a7dfa77df6": "이미지 균등 그리드 — 선택 시 이미지 골격 삽입 ({cols:2~6})", + "m_4da85c65f840aa80": "임베드", + "m_2a1a5d18bb46c4ec": "강조선 박스 + 내부 URL 미디어 임베드", + "m_28badb093c233e15": "탭", + "m_5ae3a1514ad2f6dd": "탭 컨테이너 — 선택 시 :::tab 골격 삽입", + "m_9a076cf23c023e1a": "아코디언", + "m_9fc6dbe4b783be99": "아코디언 — 선택 시 :::item 골격 삽입", + "m_a096cdeecea40a9d": "스텝퍼", + "m_376fd5ff710fc52b": "진행 단계 — 선택 시 :::step 골격 삽입", + "m_d22e12c683a74d09": "문서 변수", + "m_963dbba2a659b1ff": "`이름 = 값` 정의 → 본문 {{{@이름}}} 참조", + "m_745bc68d37465f9d": "시점 이전 표시", + "m_0b159c50aac67173": "지정 시각 전에만 표시 (유닉스초 또는 YYYY-MM-DD)", + "m_128b0dfe35235930": "시점 이후 표시", + "m_573ca43f917ffb30": "지정 시각 후에만 표시 (유닉스초 또는 YYYY-MM-DD)", + "m_b8cf07ac906c8124": "정보", + "m_28fe61bef75af3d5": "정보 콜아웃", + "m_d9fcd43cf85293f6": "팁", + "m_4fa4e2ac36cd09f1": "팁 콜아웃", + "m_053461ce86d26572": "成功", + "m_261ff49b524384f1": "성공 콜아웃", + "m_acc90fbf66686d20": "주의", + "m_833a2943e99a7d7f": "주의 콜아웃", + "m_baaff05e434f85e3": "위험", + "m_d9fc0886a0acb827": "위험 콜아웃", + "m_a34b4d0aafc9ecfd": "노트", + "m_88530cabd97e47c4": "노트 콜아웃", + "m_72cca7f7d985c021": "아이콘 검색", + "m_d0d72f97f1cef99e": "배경색 선택", + "m_db0613f318fbce1d": "글자색 선택", + "m_abcb334ca28cba23": "__VIREO_SLOT_0__년 __VIREO_SLOT_1__周一", + "m_60fad9caf3faed31": "만 나이 생년월일", + "m_ec40140f5eba9621": "D-Day 날짜 선택", + "m_73c1974526a832fb": "캘린더 날짜 선택", + "m_0bf7e5778c32d7a4": "타이머 시간 선택", + "m_a8cf1d2334124a36": "표시 시간 선택", + "m_95048bb4f8debef2": "Unix 타임스탬프 (초)", + "m_df159f47a890ff65": "지금", + "m_78f6af44ca5c8ef9": "+1시간", + "m_4ec242e30c0f7971": "+1일", + "m_3e8889e56aec25a2": "+1주", + "m_f1f8b2018b071cb7": "+1달", + "m_4fe4705ef5532abd": "+1년", + "m_844b8cc8dff7c1d8": "默认", + "m_4be0c73b19663c54": "오버라이드", + "m_d734129fabaa146b": "커스텀", + "m_bf8508933cb57822": "가입 N일 이상", + "m_1067d4563021de5a": "本页编辑历史", + "m_16e8ef1a632a2464": "任意页面编辑历史", + "m_7f0dd12bee0266d4": "仅管理员", + "m_96df792915787246": " 그리고 ", + "m_f0851d614a88a2d4": "\n
          \n
          分类 __VIREO_SLOT_0__ 에 다음 편집 ACL 템플릿이 설정되어 있습니다.
          \n
          __VIREO_SLOT_1__ (모두 충족 — AND)
          \n
          이 카테고리를 문서에 적용하면서 카테고리 ACL 을 어떻게 반영할까요?
          \n
          \n \n \n \n
          \n
          \n ", + "m_135e365a1ae7ac65": "카테고리 ACL 적용", + "m_63c73c4730f4473e": "应用", + "m_2dcf57eb172a504d": "취소 (이 카테고리 추가 안 함)", + "m_a12b6dbd16de6888": "__VIREO_SLOT_0__ ", + "m_19823ed7547a358d": "특수문자를 제외한 카테고리 이름을 입력해 주세요.", + "m_70199ad768c9c1ba": "仅管理员 카테고리", + "m_31429406550ed617": "\"__VIREO_SLOT_0__\" 카테고리는 관리자만 적용할 수 있습니다.", + "m_1b91634007da0f71": "카테고리 사용 불가", + "m_07ad18c84a8945ca": "\"__VIREO_SLOT_0__\" 카테고리는 사용할 수 없습니다.", + "m_d938160683e35283": "
          没有结果
          ", + "m_b868014175376f4d": "[edit] 자동완성이 폴링 안전망으로 부착됨 — 정상 트리거가 누락되었을 가능성. _attachAttempts=", + "m_f887c5441fa72e31": "오류 (__VIREO_SLOT_0__)", + "m_217f3927ada2d495": "
          이 문서와 관련된 자동 규칙이 없습니다.
          ", + "m_da4b78a039d7ecf1": "\n \n \n \n \n __VIREO_SLOT_0__\n
          접두사자동 부여 카테고리
          \n ", + "m_7f64fa2837b5a993": "\n
          \n
          \n
          \n
          대상 하위 문서
          \n 正在加载…\n
          \n
          \n prefix\n __VIREO_SLOT_0__/**\n
          \n
          \n __VIREO_SLOT_1__\n
          \n
          \n\n
          \n
          \n
          \n \n
          \n
          \n
          \n \n
          \n

          \n 체크된 문서에 카테고리를 추가하고, 사전 체크된 문서의 체크를 해제하면\n 그 문서에서 카테고리를 제거합니다.\n

          \n \n
          \n\n
          \n
          \n
          관련 자동 규칙
          \n
          \n
          __VIREO_SLOT_2__
          \n
          \n
          \n ", + "m_7c29f4abd8717ff2": "규칙 삭제", + "m_93e382fd871dcc17": "이 자동 규칙을 삭제하시겠습니까? (이미 적용된 카테고리는 그대로 유지됩니다)", + "m_2f9daa828907b93f": "删除", + "m_c228558cf257fc49": "删除失败", + "m_8fad38bd78865ed0": "선택 가능한 하위 暂无页面", + "m_132826fa46e65b5f": "카테고리 없음", + "m_22d4a168003098be": "
          총 __VIREO_SLOT_0__개 — 많을 경우 브라우저가 느려질 수 있습니다.
          ", + "m_61e2fbeb63b40304": "\n __VIREO_SLOT_0__\n
          \n \n __VIREO_SLOT_1__개\n
          \n \n __VIREO_SLOT_2__\n
          \n ", + "m_15f2c0b076847d0c": "하위 문서 없음", + "m_88e05cab0c0583b9": "체크 __VIREO_SLOT_0__ / __VIREO_SLOT_1__ (적용 +__VIREO_SLOT_2__ / 제거 -__VIREO_SLOT_3__)", + "m_ebaf4022cf1aed6d": "불러오기 실패", + "m_b64a912c7cdc706f": "대상 문서 없음", + "m_0f8085b7bde2b753": "현재 편집 중인 문서의 제목을 확인할 수 없습니다.", + "m_92e1fdf8beae6d63": "하위 문서 카테고리 관리", + "m_ac2a58826d92e6ae": "실행", + "m_b4b1f2a564d854b5": "카테고리를 1개 이상 입력해주세요.", + "m_343252396d4d401c": "적용할 문서를 선택하거나 \"자동 규칙으로 저장\"을 선택해주세요.", + "m_ca3e5733b920c6d7": "자동 규칙을 저장하려면 카테고리를 입력해주세요.", + "m_2743911f83e1da69": "실패", + "m_4f2ed8c604fc2f30": "적용 완료", + "m_4f42e9c473808f1e": "대상 __VIREO_SLOT_0__개 중 추가 __VIREO_SLOT_1__개, 제거 __VIREO_SLOT_2__개 적용되었습니다.__VIREO_SLOT_3__", + "m_060465fa16bfecec": "
          자동 규칙도 함께 已保存。", + "m_95d3fea17c6818a9": "자동 규칙 저장", + "m_f3b31700b077585d": "이후 이 접두사로 새로 만들어지거나 이동되는 문서에 자동으로 카테고리가 적용됩니다.", + "m_0dd9df5c73a87e5c": "네트워크 오류", + "m_5ad40d10dec739e9": "텍스트 서식", + "m_5e70b93f06c4552a": "강조(볼드)", + "m_87b0c4285bb1641a": "bold strong 볼드 굵게", + "m_7c27f0abb0e69ed7": "**텍스트**", + "m_6b81a8b6ee0375d9": "이탤릭", + "m_45641a8e2826ec3f": "italic emphasis 이탤릭 기울임", + "m_e0143d2608b062f4": "*텍스트*", + "m_f88f8ea2b7099d9d": "밑줄", + "m_79a9e92a9823d2d8": "underline 밑줄", + "m_28ee3b434f7fbc8a": "__텍스트__", + "m_9605541606a51a5d": "strike 취소선 삭제", + "m_164ece50125e1e53": "~~텍스트~~", + "m_425c77dfa9261c85": "형광펜", + "m_b7426c44e328feab": "배경 강조 — 색 토큰({bg:} 등) 선행 필요", + "m_60941b9372553b49": "highlight mark 형광펜 하이라이트 배경 강조 형식", + "m_e5ebe60e52d4d291": "{bg:색}==텍스트==", + "m_ecdfb1788e6e5c75": "{bg:__VIREO_SLOT_0__}==텍스트==", + "m_c3405f8c7d9d392a": "标题", + "m_7c7c786c576b8eb3": "ATX 헤딩(개수로 레벨)", + "m_7a5a6074fcb22b40": "heading h2 h3 제목 헤딩", + "m_6ab7acb2deb94bde": "## 제목", + "m_0ce0c96ab3059495": "코드 스팬", + "m_24eb627b33e92123": "code inline 코드", + "m_195f9d1a2608f871": "`코드`", + "m_02c2cc5f07593701": "헤딩 접기", + "m_722dbffc4414f098": "해당 섹션을 기본 접힘으로", + "m_788ad98034524474": "collapse fold 접기 헤딩", + "m_7381a56fb257da46": "## 제목 {collapse}", + "m_63fe65fbe46155a9": "색 · 팔레트 · 크기", + "m_4d7af31a1fd5bfce": "형광펜/컴포넌트 배경색", + "m_a799735f3ebb03cb": "bg background 배경 색", + "m_3c40a3091a0e1668": "형광펜/컴포넌트 글자색", + "m_560b02f2ba31d1f5": "color 글자 색", + "m_8fd7bf321f4cb142": "팔레트", + "m_0749a92d98df30a3": "빌트인/커스텀 팔레트 색", + "m_ca9845d3588058b3": "palette 팔레트 테마 색", + "m_4bad4a16e714cbee": "글자 크기 (xs·sm·lg·xl·xxl)", + "m_b53aac0c18c9b535": "fs fontsize 크기 글자", + "m_ba2e24e6750375d5": "아이콘 · 컴포넌트", + "m_1d1a784d512f3d57": "Bootstrap 아이콘", + "m_4e03ec5334e74e4c": "bi 아이콘", + "m_30ccd27a372b1e49": "bi bootstrap icon 아이콘", + "m_1f038fec36e3ef39": "MDI 아이콘", + "m_59252e6364e70887": "Material Design 아이콘", + "m_37e5baccbef61206": "mdi material icon 아이콘", + "m_cfb78faa23dd4a6f": "작은 라벨 칩", + "m_bdbe40566cd2f81d": "badge 배지 라벨", + "m_e1119c65933c92d1": "{badge:텍스트}", + "m_8b037fd8c5402754": "태그 칩", + "m_542ba3c621b8a37e": "tag 태그", + "m_aadeffbf7c926876": "{tag:텍스트}", + "m_d35505adc98ef0c0": "링크/내부이동 버튼", + "m_a168d5a58c13ccf4": "button 버튼 링크", + "m_98d83eb186555ae4": "{button:텍스트|[[문서]]}", + "m_1e8943dde4c14dbe": "{button:__VIREO_SLOT_0__|[[문서]]}", + "m_84ecd62d6ae48287": "수치 강조 블록", + "m_90f74d94326bae42": "stat 통계 수치", + "m_d8feb24858e3b649": "{stat:123|라벨}", + "m_20d2f907b69fe58e": "{stat:__VIREO_SLOT_0__|라벨}", + "m_54257d4a537853ff": "kbd 키 표기", + "m_d7847edfc4e1daf9": "kbd keyboard 키보드", + "m_8d24e901ebb500be": "진행률(숫자 또는 auto)", + "m_fa7d9bcdb08c890f": "progress 진행 바", + "m_77fb16dee5514e18": "링크 · 틀 · 각주", + "m_482456fb5ca84f27": "위키 링크", + "m_6dafcb53f03855a1": "문서/섹션 링크", + "m_07c8d2eaeda97ec9": "link wikilink 링크 문서", + "m_ec3a11cca7c57eeb": "[[문서#섹션]]", + "m_282b19bc77204d16": "틀 트랜스클루전", + "m_4f228ede45ed04d8": "틀 문서 포함", + "m_442639c8443f627b": "template transclusion 틀", + "m_457114ee2acc1c24": "{{틀이름}}", + "m_78ca2b93ff924626": "틀 파라미터", + "m_986eddf472ab6404": "틀 안 파라미터 참조", + "m_e317d2501c3cc784": "param parameter 파라미터", + "m_34e72d21069043d5": "{{{이름|기본값}}}", + "m_d72cd75279d7b329": "조건문 #if", + "m_bd6cc888c6ab9ecd": "파서 함수 분기", + "m_bfdf9c84a40c551c": "if 조건 parser 파서", + "m_d6d03ba9e7cdc40e": "{{#if:조건|참|거짓}}", + "m_1c4b0effa5ee1b68": "{{#if:__VIREO_SLOT_0__|참|거짓}}", + "m_37c27f988750a4d2": "분기 #switch", + "m_cec0f2d90e9c7ea9": "값별 분기", + "m_f1da77da10bea126": "switch 분기 parser", + "m_fee80b881568c844": "{{#switch:값|키=결과|#default=기본}}", + "m_2da25cc1311428c9": "{{#switch:__VIREO_SLOT_0__|키=결과|#default=기본}}", + "m_20b90f10d2bc1a07": "산술 #expr", + "m_5faada11476c7ca3": "사칙연산", + "m_f261f375b763025b": "expr 계산 산술 parser", + "m_857a13037ceeb267": "각주", + "m_804af85d7bed565b": "이름 있는 각주 정의", + "m_af615ff3c5ed19de": "footnote 각주 주석", + "m_ae3750a1f5f51449": "[*이름 내용]", + "m_330f2dcca9e6ca91": "[*__VIREO_SLOT_0__ 내용]", + "m_77a8a5d48e0ec576": "이미지 · 임베드", + "m_d24c10d37db0feea": "图片", + "m_b2fd5e226f6b38d1": "이미지 삽입", + "m_be55173c7e7eb5a4": "image img 이미지 사진", + "m_acf497c8753ad9b9": "이미지 뒤 크기 토큰", + "m_abc73f4524e8c1ae": "size 크기 이미지", + "m_fdbbd1b98a5312fc": "이미지 뒤 정렬 토큰", + "m_bc36ee263d186ae6": "align 정렬 이미지", + "m_c9420abd33d772ed": "이미지 캡션", + "m_5fdba67640e01bbf": "이미지 뒤 캡션 토큰", + "m_473ec399206fecdb": "caption 캡션 설명 이미지", + "m_7dfe175110f64f08": "{caption:설명}", + "m_b1eb718abc171730": "YouTube·니코동·Spotify·지도 삽입", + "m_3cd8a2a6e594de28": "embed 임베드 youtube spotify 니코동 지도 미디어 영상 음악", + "m_626df1ec399ef16e": "임베드 크기", + "m_1685c0c8b5916d94": "임베드 뒤 크기 토큰(가운데 정렬)", + "m_3f121d5b04e38b63": "size 크기 임베드 embed", + "m_055eb7ff930783f3": "표 옵션", + "m_eab19781a95f8ba4": "표 정렬", + "m_5dfac4d259681910": "표 바로 윗줄 정렬 토큰", + "m_1967cf4ff8d3e05a": "table align 표 정렬", + "m_cae9028f5ba8b3a3": "표 너비", + "m_710178eac8c6c859": "표/열 너비(10% 단위)", + "m_3aceb5cf2a6b4af9": "width 너비 표 w", + "m_50a94e45fa19f96f": "표 캡션", + "m_acb79305cdb79a39": " 제목", + "m_f2b718b14c7ea3fe": "caption 표 제목", + "m_2ab6f421dabfe446": "{caption:제목}", + "m_a38b0a754df466ae": "헤더 고정", + "m_ad58615453d6b0b1": "세로 스크롤 시 헤더 고정", + "m_abaf6d2bf557ed75": "sticky header 고정 헤더", + "m_5cde908049d1520b": "정렬 가능 표", + "m_33660b9f2ee02506": "헤더 클릭 정렬", + "m_70e4ac9277083c00": "sortable 정렬 표", + "m_995cce3fccaa251b": "행 헤더", + "m_63ea5efb0ef87398": "첫 열을 세로 헤더로", + "m_4b72e6a48983f4bf": "row-header 행 헤더", + "m_4692cef5ac69eb37": "시간", + "m_4389adee0f33fa83": "남은/지난 날짜", + "m_1405cf22ddb2f9a2": "dday 디데이 날짜", + "m_906e695a9dd195d4": "유닉스 시각 표시", + "m_4021494af219130b": "time 시간 시각", + "m_b2a3929e82f566cf": "카운트다운", + "m_d6fbe7b84eaa393f": "timer 타이머 카운트다운", + "m_32bec01b8725cfd4": "생년월일 → 만 나이", + "m_7d01647a9637b258": "age 나이", + "m_0d59048a5e3146e0": "날짜 표기", + "m_cf168b44190eb3cc": "calendar 달력 날짜", + "m_986794778c6f6fc3": "블록 (:::)", + "m_b3f4e8fc2790045f": "card 카드", + "m_03d0d662f6417857": "격자 배치({cols:N}/{template:})", + "m_4f5ec595721386a2": "grid 그리드 격자", + "m_5511e6819e5f7622": "12컬럼 비대칭 배치(자식 :::area)", + "m_d55c4e8d8a03ccb0": "canvas 캔버스 레이아웃 12", + "m_426a72d1fe03a6ca": "옆을 감싸는 프로필 카드", + "m_89aa7d3181af6159": "infobox 인포박스 프로필", + "m_58432bbf1955743f": ":::infobox {right} {span:4} __VIREO_SLOT_0__\n| 이름 | 값 |\n| 이름 | 값 |\n\n:::", + "m_17e105d42bc57a79": "본문이 옆을 감싸는 좌/우 패널", + "m_5591bfd19eb12134": "float 플로팅 패널", + "m_88c22b4254856d07": "이미지 균등 그리드", + "m_96fc4cbfbbb4a68b": "gallery 갤러리 이미지", + "m_d77ec0c5d65354a6": "탭 컨테이너(자식 :::tab)", + "m_729d61eb72abd520": "tabs tab 탭", + "m_3c8db42388fda965": ":::tabs\n:::tab 탭 1\n__VIREO_SLOT_0__내용\n:::\n:::tab 탭 2\n내용\n:::\n:::", + "m_b2e85d62c21ea26c": "접이식 항목(자식 :::item)", + "m_ae717844f311cab8": "accordion 아코디언 접기", + "m_44b0836ae9501f74": ":::accordion\n:::item 항목 1\n__VIREO_SLOT_0__내용\n:::\n:::item 항목 2\n내용\n:::\n:::", + "m_db3b5555c19bee61": "진행 단계(자식 :::step)", + "m_879aa0b087e1fb3a": "steps 스텝 단계", + "m_6eaaaff58dad3cc3": ":::steps\n:::step 단계 1\n__VIREO_SLOT_0__내용\n:::\n:::step 단계 2\n내용\n:::\n:::", + "m_23249fcbb4541ae0": "이름=값 정의 → {{{@이름}}}", + "m_03ef46a22b868a2c": "meta 변수 문서변수", + "m_79847f774c9abf5a": ":::meta\n제목 = __VIREO_SLOT_0__\n저자 = \n:::", + "m_e4aa9f3cc7f52ddd": "임베드 블록", + "m_959f447cf8bdc114": "embed 임베드 인용 미디어 youtube spotify", + "m_5876fdcab265e1f3": "지정 시각 후에만 표시", + "m_8b2b237e6910529a": "after 시점 이후", + "m_07a947f26ac6ae13": "지정 시각 전에만 표시", + "m_e907c60ac4bad13f": "until 시점 이전", + "m_f231c50e8d5e879c": "콜아웃", + "m_4a609a79cafc842c": "정보 강조 박스", + "m_3a337dba478e1b62": "info 정보 콜아웃 callout", + "m_bbca38e930cbff68": "팁 강조 박스", + "m_473ec26f3b031ee0": "tip 팁 콜아웃", + "m_8486ba3807e58e90": "성공 강조 박스", + "m_9cb03ca06ba3b0e7": "success 성공 콜아웃", + "m_9b460cad5e7cae7e": "주의 강조 박스", + "m_cb0c12f7fe7188a5": "warning 주의 경고 콜아웃", + "m_86ab151104bb5f57": "위험 강조 박스", + "m_f93695c7580de589": "danger 위험 콜아웃", + "m_f777f1fd9661c4ac": "노트 강조 박스", + "m_3963bd77a691fad5": "note 노트 콜아웃", + "m_4e005affa741cdd5": "Chart.js 차트(키-값 DSL)", + "m_f4b700906190aaae": "chart 차트 그래프", + "m_b49df9362b9fc04c": "다이어그램", + "m_39f01b610b764d12": "mermaid diagram 다이어그램 flowchart", + "m_7411923f3565f219": "문법 치트시트", + "m_adfbc5b5031b3785": "placeholder=\"문법 검색 (이름·용도)…\" role=\"combobox\" aria-expanded=\"true\" aria-controls=\"cheatList\" aria-activedescendant=\"\">", + "m_6fa21481d0463d65": "Esc", + "m_353196e2f209db14": "
            ", + "m_01f3562e8937f940": "
            ↑↓ 이동Enter 삽입Esc 关闭
            ", + "m_0c8ad43d75788277": "
          • 일치하는 문법이 없습니다.
          • ", + "m_48cec4d8d32e8c6f": "{palette:primary}{stat:값1|라벨1}\n{palette:secondary}{stat:값2|라벨2}\n{palette:success}{stat:값3|라벨3}", + "m_d9488fcb2def80e5": "구분선", + "m_aedd6814ff8c516c": "列表", + "m_f09a17e1297a71b2": "번호 목록", + "m_c1ccf498b9d46c70": "체크리스트", + "m_03084381746f9d3f": "row(가로 배치)", + "m_40ec1a2864faf2b4": "표", + "m_89c93f8d51cb6b27": "\n| 머리글1 | 머리글2 |\n| --- | --- |\n| 셀1 | 셀2 |\n", + "m_b0b29ad61c3a4dbd": "위키 링크 삽입", + "m_63a835c695516cf2": "[[문서제목]]", + "m_6d7d3b4a3fb130a5": "틀 삽입", + "m_2fd9854b72b78403": "{{틀제목}}", + "m_7d564631b75f58ca": "각주 삽입", + "m_90f5c358f338ef2c": "[* 각주 내용]", + "m_eeb99d66983b2d76": "펼치기 접기", + "m_6754eb453d1381b3": "[+ 펼치기/접기 제목]\n여기에 숨겨진 내용이 들어갑니다.\n[-]", + "m_59f567500d74d9da": "타임스탬프 삽입", + "m_aca561ad6616b9c6": "특수문자 삽입", + "m_678e6857dbfa791e": "아이콘 삽입", + "m_418dde62ead8a731": "카드 블록", + "m_ce7f3924e442da20": "탭 / 아코디언 / 진행상황", + "m_e43408e86524c8cc": "색상 삽입", + "m_a08b29f109b398dc": "하위 문서", + "m_e2cd97fd2dde76e7": "구글 지도 삽입", + "m_cead00a863df4d5d": "이미지 업로드", + "m_bb515988d3b48720": "\n
            \n \n
            이미지를 여기에 드래그하세요
            \n
            또는 클릭하여 파일 선택
            \n
            \n \n ", + "m_9f4eb7d3aa1c1688": "지원하지 않는 파일 형식입니다.", + "m_a94d3f1bd1a8f869": "\n
            \n
            \n 目录\n
            \n \n
            \n
            \n \n
            ", + "m_373dafd051f6edfe": "\n
            \n
            \n \n \n
            \n
            \n
            \n
            \n
            \n
            \n
            __VIREO_SLOT_0__\n
            \n
            \n ", + "m_e641c71c0d190e8a": "일반 모드", + "m_aa91acdd84951b8f": "에디터 + 프리뷰", + "m_41b56eb1bf8a1682": "작성 모드", + "m_70112194ffe3dda1": "에디터만", + "m_868dabeaade8d9d4": "보기 모드", + "m_e07317efd9062e52": "프리뷰만", + "m_d294c765583f8080": "보기 방식 전환", + "m_636e9d2eec6f82bc": "보기 방식: __VIREO_SLOT_0__", + "m_a3e580ba52097ae4": "서버 v__VIREO_SLOT_0__", + "m_63ec8a8f4103f19c": "서버 최신본", + "m_04d0db5ba27ace52": "<<<<<<< 내 수정본 [#__VIREO_SLOT_0__]", + "m_5166221d7a1f19c9": "내 수정본", + "m_7d585c3842de4e43": "서버", + "m_9b1cea26e7804e7e": "(신규 추가)", + "m_d5d8a5afccfbb8bc": "(全部删除)", + "m_139fe8d49d51be54": "줄 수: ", + "m_65b269a7314db913": "  ·  크기: ", + "m_bd2774867f861fb4": "대용량 익스텐션 데이터는 줄 단위 diff 대신 요약만 표시합니다. 자세한 비교는 저장 후 리비전 페이지를 이용해 주세요.", + "m_eef9de215a79fa02": "
            이전 본문(앞 5줄)
            ",
            +  "m_ce244feffda50d66": "
            현재 본문(앞 5줄)
            ",
            +  "m_efc453685382dc16": "
            diff 라이브러리를 加载失败.
            ", + "m_7c7d8ee9e062abf5": "변경 사항이 없습니다.", + "m_84bdfed82c8302b4": "... (생략됨) ...\n", + "m_da85dc4c03a7a712": " 서버 본문", + "m_d68d6e631dfb7e11": " 프리뷰", + "m_a37429a8e9ba6ccf": " 查看差异", + "m_8483e00a1e730d91": " Raw", + "m_cc8f6131f8abc5a9": "#__VIREO_SLOT_0__ — 내: __VIREO_SLOT_1__ ↔ 서버: __VIREO_SLOT_2__", + "m_682c7c5de9a7fcf4": "클릭하면 본문에서 해당 충돌 위치로 이동합니다", + "m_c321ac68cb45a57e": "내 것", + "m_90fe1c95a048d422": "서버 것", + "m_3bcaa2698d5dfd4b": "둘 다", + "m_20c483bdda9706e4": "직접", + "m_560bcd460b579488": "(빈 줄)", + "m_2f51d54eda85311e": "__VIREO_SLOT_0__개 미해결", + "m_fa9e02a7a346f67d": "충돌 해결 내용 적용됨", + "m_660725a93b610493": "에디터에서 편집을 이어가신 뒤 저장하세요.", + "m_6a349ddf665850dd": "미해결 충돌이 남아있습니다", + "m_5fde3e55d19cb3a5": "__VIREO_SLOT_0__개의 충돌 마커(<<<<<<<)가 본문에 그대로 있습니다. 그래도 에디터에 적용하시겠습니까?", + "m_a0262d19200d9050": "그대로 적용", + "m_7e318ba57944486a": "계속 해결하기", + "m_c71ac4a126955661": "충돌 해결 취소", + "m_e6d419c14ea93de9": "편집 내용을 버리고 최신 버전으로 새로고침 하시겠습니까?", + "m_acf595c34948293d": "새로고침 (내용 버림)", + "m_f7fa9aa6649f15e9": "이 문서를 __VIREO_SLOT_0__님이 동시에 편집 중입니다. 편집 충돌이 발생할 수 있습니다.", + "m_13ef923140bdadfe": "\n
            \n \n
            \n \n
            \n
            ", + "m_28eb97fae6405a87": "기존 이미지 검색", + "m_4e4aa3dda3ff54ae": "\n
            \n
            \n \n \n
            \n __VIREO_SLOT_0__\n
            \n
            \n
            \n \n
            \n
            \n ", + "m_6b5dde6e3a599a71": "搜索失败", + "m_2d0270718450107d": "총 __VIREO_SLOT_0__개 중 __VIREO_SLOT_1__개 표시", + "m_7ec78a5826a6fbcf": "결과가 없습니다.", + "m_4e35e2915449a848": "이미지가 없습니다", + "m_bb909f283a1fc5c9": "__VIREO_SLOT_0__\n태그: __VIREO_SLOT_1__", + "m_b1ebd39a6e828143": "이미지 크기 선택", + "m_54198fe2800b9896": "\n
            \n \"__VIREO_SLOT_1__\"\n
            __VIREO_SLOT_2__
            \n
            \n
            \n \n \n \n \n
            \n ", + "m_0d635eda295a08c8": "삽입", + "m_a55030239d03452b": "파일명을 입력해주세요.", + "m_ab2e0b9772ce93a3": "파일명에 사용할 수 없는 문자가 있습니다: __VIREO_SLOT_0__", + "m_c9c598c90e74c0b2": "파일명은 최대 __VIREO_SLOT_0__자까지 입력할 수 있습니다.", + "m_b338a7efc6ad1e66": "파일 크기는 15MB 이하만 허용됩니다.", + "m_eba914ae07bfbadf": "SVG 보안 정제 라이브러리를 로드할 수 없습니다. 페이지를 새로고침 후 다시 시도해주세요.", + "m_16a254e99098adf0": "공백은 - 로 변환되고, 양 끝의 공백·- 는 제거됩니다. ", + "m_5d704cd6c4bfa10f": "< > ^ / \\ . ? 는 사용할 수 없습니다.", + "m_a1f6b16b2c3b2a38": "\n \n
            \n \n
            \n
            한글/영문/숫자/공백/_/./- 만 사용 가능 · 최대 20개
            ", + "m_ba18fae2953eebf1": "\n
            \n \n \n
            __VIREO_SLOT_1__
            \n __VIREO_SLOT_2__\n
            \n ", + "m_0a1ac7eec7b927f7": "업로드", + "m_e6481000e178501b": "저장될 파일명: __VIREO_SLOT_0__", + "m_f302c6e835b3628e": "업로드 실패", + "m_e5e83fc9c45875c4": "大(默认)", + "m_1ef78e7f5b9a3e71": "크롭 영역이 너무 작습니다.", + "m_8f7caa3335f974ff": "Turnstile 미준비", + "m_4ec8d1c56721efad": "보안 검증 스크립트가 아직 로드되지 않았습니다. \"캡챠 다시 로드\" 버튼을 누른 뒤 다시 시도해주세요.", + "m_a8e3497b8f82e395": "저장 전 보안 인증", + "m_a3ecb95a4c5084e8": "계속 저장하려면 아래 보안 검증을 완료해주세요.", + "m_daa5a5069c80d9a9": "바깥 영역을 클릭하거나 ESC 키를 누르면 저장이 취소됩니다.", + "m_59402595c3c3b2ea": "보안 검증 위젯을 렌더링하지 못했습니다.", + "m_86fb214a51cdf2f7": "
            \n
            __VIREO_SLOT_0__ 익스텐션 데이터 (프리뷰 비활성화)
            \n
            __VIREO_SLOT_1__
            \n
            ", + "m_777bde40a9ff7e81": "
            렌더 비교 모듈을 加载失败.
            ", + "m_6eb1b64e260a2dd3": "需要登录", + "m_0aee075de8329869": "문서를 편집하려면 로그인이 필요합니다.", + "m_1e2df9c3075ae9e4": "登录", + "m_71bf59f4724ed8c3": "문서 제목이 지정되지 않았습니다.", + "m_cb487221f2198b88": "제목에 사용할 수 없는 특수문자가 포함되어 있습니다.", + "m_d81753fb3236ed05": "没有编辑权限", + "m_4416e10c79b8fcf2": "이 문서는 仅管理员으로 지정되어 일반 사용자는 편집할 수 없습니다.", + "m_3e16c452d266f638": "이 문서는 비공개로 설정되어 있어 편집할 수 없습니다.", + "m_9105b84b4bd95493": "삭제된 문서", + "m_af0a9046ea4987d7": "이 문서는 삭제된 상태입니다. 관리자가 복원해야 다시 편집할 수 있습니다.", + "m_0d16e7454b329be5": "메인 문서는 관리자만 편집할 수 있습니다.", + "m_1de4bab6f40b6bb7": "\"이미지:\" 네임스페이스의 문서는 미디어 업로드 페이지로 관리됩니다.", + "m_12313c8c625cf809": "편집 권한이 없는 계정입니다.", + "m_6b59bacbccb7d095": "하위 문서 자동 규칙", + "m_5c9e81967192dcbf": "문서 설정", + "m_4a0c69945a24e95a": "이 문서는 다음 조건을 만족하는 사용자만 편집할 수 있습니다 (__VIREO_SLOT_0__):
            __VIREO_SLOT_1__", + "m_078038d646a5bcf5": "편집 권한이 부족합니다.", + "m_1aacb54c49924296": "확인", + "m_228d34a44aa2df08": "편집 요청 모드", + "m_32ab57e6d9aa8e69": "편집 권한이 부족하여, 저장하면 검토자 승인을 위한 편집 요청으로 제출됩니다.", + "m_f4cd50ffad94e9c4": "\n
            \n
            \n __VIREO_SLOT_0__ 익스텐션 데이터\n 마크다운 렌더링이 비활성화된 원시 데이터 편집 모드입니다\n
            \n
            \n \n
            \n ", + "m_7d4ca7f48effd602": "大", + "m_dc0103c11a2b107b": "왼쪽", + "m_d41ad4fcb417e884": "가운데", + "m_f594aa6a15b9381c": "오른쪽", + "m_106487d2bc2d660e": " 编辑 ", + "m_eec44d1a5d65b9a3": "에디터 설정", + "m_8138e088b975061f": "\n
            에디터 설정
            \n \n \n \n \n \n \n
            \n
            줄바꿈 모드
            \n \n \n
            \n \n \n \n ", + "m_1dd3e0d08015576b": "찾기 / 바꾸기 (Ctrl+F)", + "m_47f25a8a6f1ad0f0": "\n
            \n \n \n \n \n \n \n
            \n
            \n \n \n
            \n ", + "m_3d275876e9d3790b": " 이 카테고리는 관리자만 적용할 수 있습니다.", + "m_5cc6bc297d72cde3": " \"__VIREO_SLOT_0__\" 카테고리는 관리자만 적용할 수 있습니다.", + "m_0279a13372258c79": "삭제된 문서는 열람하거나 편집할 수 없습니다.", + "m_d90f7cd5f542d770": "私有页面는 열람하거나 편집할 수 없습니다.", + "m_7599ad1f191ef2e6": "私有页面", + "m_3d49bb2e1d4be61b": "섹션을 찾지 못했습니다", + "m_57e78dc7f8e63622": "문서 구조가 변경되어 전체 편집 모드로 전환합니다.", + "m_f1dc7031a246f3de": " 섹션 편집: __VIREO_SLOT_0__", + "m_587d35dab87367a2": " MCP 편집안 편집: __VIREO_SLOT_0__", + "m_bd0beaf1d5900673": " 편집 요청 검토: __VIREO_SLOT_0__", + "m_d9d443198a541fbf": " 편집: __VIREO_SLOT_0__", + "m_f26649c1ec5369df": "편집: __VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_ac1724aa71d0fbe4": "MCP 편집안을 加载失败.", + "m_ec96a006c6d2ae0f": "편집 요청을 加载失败.", + "m_b208f22ff669d5d9": " MCP 편집안 편집(신규): __VIREO_SLOT_0__", + "m_e07d5909c2cc9b7f": " 新页面 만들기", + "m_4ded05e76ade6420": "MCP 편집: __VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_a2c620001e3e7c20": "新页面 - __VIREO_SLOT_0__", + "m_7c5e12da007b64cd": " 템플릿으로 시작하기", + "m_d2201ebe07f4e5d1": " 편집 요청 검토(신규): __VIREO_SLOT_0__", + "m_0eb8c95b69e10444": "편집 요청 검토: __VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_0ccf1841c2e0bc91": " MCP 편집안 문단 편집: __VIREO_SLOT_0__", + "m_2b86743ed259dd90": "제출안 조회 실패 (HTTP __VIREO_SLOT_0__)", + "m_3f50f2f92321f051": "제출안 제목 불일치", + "m_29de34a5db6cd39b": "제출안의 문서(__VIREO_SLOT_0__) 가 현재 편집 중인 문서(__VIREO_SLOT_1__) 와 다릅니다. 해당 문서로 이동해 다시 시도하세요.", + "m_d4986e193451f103": "에디터에서 처리할 수 없는 충돌", + "m_9159f61dacd42488": "문서가 삭제되었습니다. 에디터에서 편집할 수 없습니다.", + "m_a71068bef839a413": "동일 제목의 다른 문서가 그 사이 생성되었습니다. mypage 에서 거부하거나 다른 제목으로 다시 시도하세요.", + "m_61225cca4a4c7bd1": "동일 제목의 소프트 삭제된 문서가 존재합니다. 관리자가 먼저 처리해야 합니다.", + "m_9997a5faaa88e5d5": "에디터에서 해결할 수 없는 충돌입니다.", + "m_7ea99d6dde0b4b92": "기존 로컬 초안을 백업했습니다", + "m_d7a7ab5dd04f5dc9": "같은 문서에 작성 중이던 로컬 초안이 있어 MCP 편집안 적재 전에 보존했습니다.
            저장 후에도 다음 키로 localStorage 에서 복구할 수 있습니다:
            __VIREO_SLOT_0__", + "m_7bbf0318ee8af6f0": "문단 편집 모드", + "m_0911555b8a35600c": "제출안이 '__VIREO_SLOT_0__' 문단만 수정하여 해당 문단 편집 모드로 열었습니다.", + "m_b7b66bc469094b86": "편집 요청 조회 실패 (HTTP __VIREO_SLOT_0__)", + "m_1bc5210d145a3c23": "문서 불일치", + "m_bfba8460901deca3": "편집 요청의 문서(__VIREO_SLOT_0__) 가 현재 편집 중인 문서(__VIREO_SLOT_1__) 와 다릅니다.", + "m_d30060e4403b8eb9": "문서가 삭제되었습니다. 요청을 반려하세요.", + "m_f39f6a885c587b81": "동일 제목의 다른 문서가 그 사이 생성되었습니다. 요청을 반려하세요.", + "m_2b0655772f08d9b1": "같은 문서에 작성 중이던 로컬 초안이 있어 편집 요청 적재 전에 보존했습니다.
            다음 키로 localStorage 에서 복구할 수 있습니다:
            __VIREO_SLOT_0__", + "m_d2e4384df45b9b4f": "섹션 편집 모드에서만 사용할 수 있습니다.", + "m_088ab35000074718": "[[__VIREO_SLOT_0__]] 문서를 참고하세요.", + "m_1dce7601c57d6ab5": "하위 문서로 분리", + "m_987d3b2d984ab715": "\n
            \n
            \n \n \n
            생성될 하위 문서의 제목입니다. 이미 존재하는 문서 제목은 사용할 수 없습니다.
            \n
            \n
            \n \n \n
            기존 섹션의 헤딩 아래에 남을 내용입니다. 직접 수정하기 전까지는 위 제목 변경에 따라 자동 갱신됩니다.
            \n
            \n
            \n ", + "m_4def3dd2fad11187": " 분리", + "m_126ca21a144835c7": "하위 문서 제목을 입력해주세요.", + "m_8cd214f180d806b2": "하위 문서 제목이 현재 문서와 같을 수 없습니다.", + "m_c0dc12316cd1f6c2": "\"이미지:\"는 이미지 문서 전용 네임스페이스이므로 사용할 수 없습니다.", + "m_02423492453f1807": "하위 문서 생성 중...", + "m_a1b887de60f7c266": "\"__VIREO_SLOT_0__\" 문서가 이미 존재합니다. 다른 제목을 사용해주세요.", + "m_550903972ff086fa": "'__VIREO_SLOT_0__' 문서 '__VIREO_SLOT_1__' 섹션에서 분리", + "m_d3209956264f62e3": "'__VIREO_SLOT_0__' 문서에서 분리", + "m_0b341923955c839f": "하위 문서 생성에 실패했습니다.", + "m_55cb4ca7516ee2e8": "하위 문서 생성 중 네트워크 오류가 발생했습니다.", + "m_12801cdf15ea11e9": "하위 문서가 생성되었습니다", + "m_c1134648c2104c23": "__VIREO_SLOT_1__ 문서를 새로 만들었습니다.
            변경된 섹션 본문을 검토한 뒤 保存 버튼을 눌러 반영해주세요.", + "m_d2f01605b3cde985": "문서 상태가 손상되었습니다", + "m_bcde4f6d56f9c359": "안전을 위해 저장을 중단합니다. 페이지를 새로고침 한 뒤 다시 시도해주세요.", + "m_619d1e30ff390627": "변경된 내용이 없습니다", + "m_5018d44a41d5eeb4": "본문을 편집하거나 카테고리, 리다이렉트 설정을 변경해주세요.", + "m_a21df18dbb6dce0c": "카테고리에는 특수문자를 사용할 수 없습니다.", + "m_ab8e2f89966c4faa": " 저장 중...", + "m_cf1487e7aa8947c2": "保存失败。", + "m_6309a3bb5ba4c714": "保存失败", + "m_e5d4d87fc2fbde73": "편집 메모가 已保存。", + "m_8856aac2057bf097": "네트워크 오류가 발생했습니다.", + "m_046f49a813cb38ec": " 저장", + "m_50f541096bae2050": "이미 처리된 요청", + "m_c3f405538e609ea8": "이 편집 요청은 이미 승인/반려되었거나 취소되었습니다.", + "m_d47eb575afb8b2de": "승인할 수 없음", + "m_b9cb3b7f38f0b29d": "원 요청자 계정을 찾을 수 없습니다. 요청을 반려하세요.", + "m_2d74d57ce2bd8d9d": "문서가 변경되었습니다", + "m_e82a76527a5b9199": "검토를 시작한 뒤 다른 편집이 반영되었습니다. 최신 본문을 기준으로 다시 병합해야 합니다.", + "m_dfeeb8fa2d7cef70": "다시 병합", + "m_ebda4623f6052fe2": "승인 충돌", + "m_2a397554c1b76f42": "동일 제목의 문서가 이미 존재합니다. 요청을 반려하세요.", + "m_2ac931bcbefcca32": "문서 상태가 변경되어 승인할 수 없습니다. 다시 시도하거나 반려하세요.", + "m_e32c8a6ddd7bcef3": "没有权限", + "m_a295fe5c5da8d97e": "이 문서의 편집 요청을 승인할 권한이 없습니다.", + "m_005c43cba2f22464": "승인 실패", + "m_52079e3d89b7f5ed": "승인에 실패했습니다.", + "m_137b95d21b3645b6": "편집 요청을 승인했습니다", + "m_cd3a4b02c8c8791f": "요청 본문은 반영되었지만, 승인자의 추가 편집은 반영되지 못했습니다. 게시된 문서를 다시 편집해 주세요.", + "m_47c387cf256f410a": "요청분과 추가 편집이 각각 리비전으로 반영되었습니다.", + "m_5ee2c8bb13ee1350": "요청자 명의 리비전으로 반영되었습니다.", + "m_97bc23a9b6bcad89": "문서 정보를 다시 가져오지 못했습니다", + "m_9753745bab72a39b": "다른 사용자의 변경을 덮어쓸 수 있어 저장을 중단합니다. 페이지를 새로고침 해주세요.", + "m_deac7c7652570a2f": "편집 충돌이 발생했습니다", + "m_ab2117fba2ece592": "같은 섹션을 다른 사용자가 동시에 편집했습니다. 전체 편집 모드에서 충돌 내용을 확인해 주세요.", + "m_611b619761284845": "다른 사용자가 문서 구조를 변경했습니다. 전체 편집 모드로 전환합니다.", + "m_8c6b814d22d4c220": "编辑页面: ", + "m_df18fdfe5cdeb2fd": "편집 요청이 제출되었습니다", + "m_cf57f32bf33ad37b": "이 편집은 검토자의 승인 후 반영됩니다.
            승인 전까지 공개 문서에는 표시되지 않습니다.", + "m_d9f1cf3269b58ea1": "[edit/main] MCP 제출안 cleanup 실패 (HTTP ", + "m_4e6946551ccdf3fe": "). mypage 에서 수동 정리 필요.", + "m_d947ad1f21ddcc20": "저장 완료!", + "m_1d1afe44d0161452": "문서가 성공적으로 已保存。", + "m_ba1fba90f72fd53c": "편집을 취소하시겠습니까?", + "m_9d6ccf8be686e292": "저장하지 않은 변경사항이 사라집니다.", + "m_22bfa6072aee5d1e": "나가기", + "m_0120b5eb9a8d6f42": "계속 편집", + "m_398adf981018d45c": "포스트를 찾을 수 없습니다.", + "m_c5348ab5543850dd": "제목을 입력해주세요.", + "m_ae7385e23546887a": "블로그 포스트가 已保存。", + "m_6d8adad124d0987f": "选择图标", + "m_9c6c669c47481aa1": "Bootstrap Icons 선택", + "m_36bdb068c44b81a8": "Material Design Icons 선택", + "m_0ca868255f76b256": "
            ", + "m_b2c53b9650b29f9d": "", + "m_c3951dc60bf96486": "\n
            크기 선택
            \n __VIREO_SLOT_0__\n \n ", + "m_49b37c4e3f471e7d": "크기 선택", + "m_ffcc35339312833b": "그리스 문자", + "m_ccc8d833af3fed83": "수학 기호", + "m_2785ce58df740e52": "화살표", + "m_1566f907a6cafa98": "통화", + "m_7ac690f892035c00": "문장 부호", + "m_39c739b867eef4ab": "숫자/단위", + "m_2a1ab0fc433fe4a3": "도형/기타", + "m_ce91402873043528": "\n
            \n Ω 특수문자\n
            \n
            __VIREO_SLOT_0__
            \n
            \n ", + "m_ad2a021727ba5006": "생년월일 기준", + "m_1272d20262a7297f": "고정 시각 표시", + "m_995d13c173849c77": "남은/지난 시간", + "m_74b26fc4e214ba84": "캘린더", + "m_1649005aa08afe3f": "날짜를 달력으로", + "m_139e9bf69e8e8a27": "선택한 시각이 고정된 날짜/시간 문자열로 표시됩니다.", + "m_1d03cb185f79e003": "선택한 시각까지 남은/지난 시간이 실시간으로 표시됩니다.", + "m_95d1a4bc0f3a1f4e": "\n
            \n \n \n
            __VIREO_SLOT_2__
            \n
            ", + "m_f7ea9e331f809359": "생년월일", + "m_09f76a1b7a6712ee": "날짜", + "m_b6306b0c0739bba6": "오늘 기준의 만 나이를 표시합니다.", + "m_1441cf3cc6d86041": "입력한 날짜까지 남은/지난 일수를 표시합니다. 연도를 생략하면 매년 반복됩니다.", + "m_1f8b9e640386d7ad": "입력한 날짜를 달력 모양으로 표시합니다. 연도를 생략하면 연도가 표시되지 않습니다.", + "m_56f38475c09e90ed": "\n
            \n \n \n
            ", + "m_95f164c4fa1c981a": "필수 입력을 채우면 미리보기가 표시됩니다.", + "m_b3e62163fc465b9d": "입력 값이 올바르지 않습니다.", + "m_a03bcaac1008e846": "날짜와 시각을 입력해주세요.", + "m_6d63e624c20eba5c": "올바른 날짜/시각을 입력해주세요.", + "m_487739cecc25e679": "날짜를 입력해주세요.", + "m_9a45d8beac2b662c": "\n
            \n
            \n \n
            __VIREO_SLOT_0__
            \n
            \n
            __VIREO_SLOT_1__
            \n
            \n \n
            \n
            \n
            \n
            \n ", + "m_70bd191952fc71c7": "타임스탬프 삽입", + "m_c8de9972319654a0": "필수 입력을 채워주세요.", + "m_7ba89c363a3a76a9": "标题__VIREO_SLOT_0__", + "m_0ab884b9ab2c7a09": "内容__VIREO_SLOT_0__", + "m_4f39790bfd22c8c0": "내용이 비어있습니다", + "m_7f697abbf2047c77": "쉼표 구분자를 찾을 수 없습니다", + "m_dcddd4797bbccfca": "유효한 행이 없습니다", + "m_d39f7108d58e7acd": "열이 2개 이상이어야 합니다", + "m_392832a675bf3e47": "__VIREO_SLOT_0__번째 행의 열 개수(__VIREO_SLOT_1__)가 헤더(__VIREO_SLOT_2__)와 다릅니다", + "m_fdf04f03e0b2c942": "CSV 표 삽입", + "m_7d683b4d01ff4ada": "\n
            \n

            \n CSV 데이터를 붙여넣으세요. 첫 번째 행이 표 헤더로 사용됩니다.\n

            \n \n
            \n ", + "m_8abb941adbc7997a": "CSV 데이터를 입력해주세요.", + "m_6a72b554a7c28caf": "알 수 없는 오류", + "m_894d2755019c74bc": "CSV 형식이 아닙니다: ", + "m_ffbbd93f310f6250": "구글 지도 삽입", + "m_8c1df1d5a0dfba80": "\n
            \n

            \n 구글 지도 → 공유 → 지도 퍼가기에서 복사한 HTML을 붙여넣으세요.\n

            \n \n
            \n ", + "m_82ff6e1e38dd2f4c": "iframe HTML을 입력해주세요.", + "m_480b6590ee92d485": "유효한 iframe 코드가 아닙니다.", + "m_4ac094a75c8ed4f0": "구글 지도 URL이 아닙니다.", + "m_e46f9e192d1f7d11": "유효하지 않은 URL입니다.", + "m_7647e729130059dc": "", + "m_a983c6b83bb1ecf8": "카드 / 임베드 / 콜아웃 블록 삽입", + "m_2246fddc05d573ac": "\n
            \n
            \n \n \n
            \n \n \n \n
            \n
            \n
            \n \n \n
            \n __VIREO_SLOT_0__\n
            \n
            \n
            \n \n \n
            \n
            \n \n \n __VIREO_SLOT_1__\n
            \n
            \n \n \n
            \n
            \n ", + "m_7df2e1f129e0c26b": "비워두면 '내용'이 자리표시자로 들어갑니다.", + "m_7c9d19d16fab0f77": "임베드할 미디어 URL (YouTube · 니코동 · Spotify · 지도) 을 한 줄에 하나씩", + "m_47af9e15b60b97a5": "왼쪽 테두리 팔레트", + "m_80d5305b067475b9": "제목 (선택)", + "m_5fdab11e30cecaea": "임베드 제목", + "m_f457a2ac27592fb5": "제목 (선택, 비우면 기본 제목)", + "m_f6ebefaf89ab40e4": "예: 백업 필수", + "m_01ac2b0c6f4e158f": "제목 팔레트", + "m_92ab0fddb7f04da5": "카드 제목", + "m_4cdf202c9558f2c5": "본문에 :::로 시작하는 줄은 블록을 닫아버려 사용할 수 없습니다.", + "m_7a688306423bec17": "内容", + "m_494d6529da346053": "\n
            \n
            \n \n
            \n \n \n \n
            \n
            \n
            \n \n
            \n \n \n
            \n
            \n
            \n \n \n \n
            \n
            \n
            \n
            ABC
            \n
            \n ", + "m_fa106cabdda26e90": "\n
              \n
            • \n \n
            • \n
            • \n \n
            • \n
            \n
            \n
            \n

            원하는 팔레트를 클릭하면 에디터에 삽입됩니다.

            \n __VIREO_SLOT_0__\n
            \n
            \n __VIREO_SLOT_1__\n
            \n
            \n ", + "m_6146c4ffc51735d5": "색상 삽입", + "m_ca905f2e8dad44e5": "유효한 색상 코드(Hex)를 입력하세요.", + "m_c9f511c1c9221959": "스탯", + "m_03a581e6686dde00": "", + "m_43879d12b6623841": "없음", + "m_30ec4d8c6534a85a": "选择图标 안 함", + "m_1b8575f36b9b08c7": "\n
            \n \n
            \n
            __VIREO_SLOT_0__
            \n
            __VIREO_SLOT_1__
            \n \n __VIREO_SLOT_3__\n
            \n
            ", + "m_16f64fe47b163b81": "변경", + "m_8d1a750c9351d1b8": "선택", + "m_88cdc26b4350f44b": "", + "m_ba152dbc0c19e004": "\n
            \n
            \n \n \n
            \n
            \n \n \n
            \n
            \n __VIREO_SLOT_2__", + "m_7217405d546156e8": "\n
            \n \n \n
            \n
            \n \n \n
            \n __VIREO_SLOT_2__", + "m_95bd08c478861f89": "예: Beta", + "m_2c48e443bb1d8825": "예: NEW", + "m_97c94ee5e5a838e6": "\n
            \n \n \n
            \n __VIREO_SLOT_2__", + "m_dafe247453aa7693": "필수 입력을 채우면 미리보기가 표시됩니다.", + "m_e035a3de4da7d35c": "텍스트를 입력해주세요.", + "m_6b9a6d3b336e2d71": "텍스트에 {, }, |, 줄바꿈 문자를 사용할 수 없습니다.", + "m_003ab5d5618f9c91": "값을 입력해주세요.", + "m_9f3e59080fdd2350": "값/라벨에 {, }, |, 줄바꿈 문자를 사용할 수 없습니다.", + "m_94581cc7585ca7f4": "링크를 입력해주세요.", + "m_daab054698e34b49": "제목에 {, }, |, 줄바꿈 문자를 사용할 수 없습니다.", + "m_c6cee464c464112c": "링크에 {, }, |, 줄바꿈 문자를 사용할 수 없습니다. (|는 %7C로 URL 인코딩하세요)", + "m_c20801f40b7d2560": "\n
            \n
            \n \n
            __VIREO_SLOT_0__
            \n
            \n
            \n \n
            \n
            \n
            __VIREO_SLOT_1__
            \n
            \n \n
            \n
            \n
            \n
            \n ", + "m_c48c43adb05aebfd": "\n
            \n
            \n \n
            \n
            图标库 선택
            \n
            \n \n \n
            \n
            \n ", + "m_caf6dd4efb1f43e7": "\n
            \n
            \n \n \n
            \n
            \n \n

            正在加载图标...

            \n
            \n
            \n
            \n \n

            没有搜索结果.

            \n
            \n
            \n ", + "m_7961a83384d35efe": "라이브러리 변경", + "m_f090ebd527130a04": "돌아가기", + "m_699cde60d54b4dc9": "배지 삽입", + "m_4ef3cdd6efbba5c3": "하위 문서 구조 삽입", + "m_1194ddd41eefe131": "\n
            \n \n \n
              \n __VIREO_SLOT_0__\n
              \n \n
              \n                        
              \n
              \n ", + "m_8e1cef6dc6337762": "\n
              \n \n \n
              ", + "m_123bd246e01133e0": "템플릿 불러오기", + "m_aa0589ba34de4380": "\n
              \n \n \n
              \n
              \n \n
              \n ", + "m_c00e6c626e710688": "
              没有搜索结果.
              ", + "m_7a62c8ac8f4eada2": "
              正在加载...
              ", + "m_31d2191b2eb19131": "템플릿 목록을 불러올 수 없습니다.", + "m_56d861199a9955aa": "템플릿 내용을 불러올 수 없습니다.", + "m_7ecb1aab70dc86ae": "내용 덮어쓰기", + "m_dfd24654e5de4b83": "현재 작성 중인 내용이 사라집니다. 계속하시겠습니까?", + "m_9408082561e0727e": "예, 덮어씁니다", + "m_4c490f1ca1d756f8": "아니오", + "m_bb0ef12c864f932d": "템플릿을 불러왔습니다.", + "m_6d920f20af1fbb93": "값 입력 (선택)", + "m_92dd5ec930a5f047": "기본값: (빈 값)", + "m_ffcc8ccfea24a0bc": "기본값 있음", + "m_21084b6c308bfc4c": "기본값: __VIREO_SLOT_0__", + "m_41ba8a4a77de8ea9": "틀 삽입", + "m_18af8e11855e7194": "\n
              \n
              \n
              \n \n \n
              \n
              \n
              \n
              \n
              \n ", + "m_a1a80a460199fb2e": "틀 목록을 불러올 수 없습니다.", + "m_a3888c0ffc458644": "
              틀 내용을 正在加载...
              ", + "m_70ddbabf318bc9f4": "틀 내용을 불러올 수 없습니다.", + "m_808bca7b24c1ef11": "", + "m_02e46a21c00368ef": "위치 인자 __VIREO_SLOT_0__", + "m_e5b4ba4c5b5849b5": "\n
              \n \n __VIREO_SLOT_1__\n
              \n __VIREO_SLOT_2__\n
              미리보기
              \n
              \n
              \n \n \n
              \n ", + "m_81b5029b153b5b67": "\n
              \n
              파라미터 (__VIREO_SLOT_0__개)
              \n
              __VIREO_SLOT_1__
              \n
              ", + "m_f508b82ec73b32de": "
              이 틀에는 채울 파라미터가 없습니다.
              ", + "m_8fbd5bc575ef6641": "진행상황", + "m_2a73ed53178ab6fe": "대기", + "m_52e94db6f68c7bdf": "진행", + "m_727333ab0740d7d8": "완료", + "m_f8f8aa0ea86fa2cb": "\n
              \n \n \n
              ", + "m_7af33c647f3fa845": "", + "m_fc96c86388ff353c": "__VIREO_SLOT_0__단계 제목", + "m_e998dd3e6ab1ea90": "항목 __VIREO_SLOT_0__ 제목", + "m_67422b9f36e16f6f": "예: 탭 __VIREO_SLOT_0__", + "m_c604372f2450c30e": "예: __VIREO_SLOT_0__단계", + "m_5ee122a59e94bed2": "예: 항목 __VIREO_SLOT_0__", + "m_75602484d2d2d49b": "", + "m_b000bfeac043e63a": "\n
              \n
              \n __VIREO_SLOT_1__\n \n \n
              \n __VIREO_SLOT_7__\n \n
              ", + "m_cc35839126f937d2": "\n
              \n \n
              ", + "m_706815de4845ba5c": "\n
              \n \n \n
              0–100 사이의 숫자, 또는 a/b 형태(b ≥ a) 분수.
              \n
              \n
              \n \n \n
              \n
              \n \n __VIREO_SLOT_2__\n
              ", + "m_f98ff92c3b517d9d": "\n
              __VIREO_SLOT_0__
              \n ", + "m_ae85ebe729883ed1": "\n
              \n
              \n \n
              __VIREO_SLOT_0__
              \n
              \n __VIREO_SLOT_1__\n __VIREO_SLOT_2__\n __VIREO_SLOT_3__\n
              ", + "m_d063e7dfecfefbcc": "구조 컴포넌트 삽입", + "m_254f1c310d7371ef": "값은 0–100 숫자 또는 a/b(b ≥ a) 분수여야 합니다.", + "m_26a24b7e0ea8a922": "최소 1개 이상의 항목이 필요합니다.", + "m_2f8cf5a7c5ccd681": "항목 본문에 ':::'로 시작하는 줄은 블록을 닫아버려 사용할 수 없습니다.", + "m_5c2a8f867bc8be99": "탭 __VIREO_SLOT_0__", + "m_7128e1015a8dd3dc": "항목 __VIREO_SLOT_0__", + "m_977c0c00c8ebaa5e": "__VIREO_SLOT_0__단계", + "m_37a35f695d13de6a": "__VIREO_SLOT_0__ 외 __VIREO_SLOT_1__개", + "m_6d3d57e31f94600e": "섹션", + "m_e31c881e16db95c5": "__VIREO_SLOT_0__ '__VIREO_SLOT_1__' → '__VIREO_SLOT_2__' 이름 변경", + "m_e7a8a42e031bf6ea": "__VIREO_SLOT_0__ 이름 변경 __VIREO_SLOT_1__", + "m_2f18f2b811bf77a0": "__VIREO_SLOT_0__ __VIREO_SLOT_1__ 추가", + "m_f5adc7cae0cf6975": "__VIREO_SLOT_0__ __VIREO_SLOT_1__ 삭제", + "m_aef0755c90fc2f17": "__VIREO_SLOT_0__ __VIREO_SLOT_1__ 편집", + "m_0ce908153b8c4723": "[+__VIREO_SLOT_0__줄]", + "m_28f4885ee4cc6f4d": "[-__VIREO_SLOT_0__줄]", + "m_4a3f2ae942af04cc": "[+__VIREO_SLOT_0__줄 -__VIREO_SLOT_1__줄]", + "m_c10e2eaa0268650c": "하위 섹션", + "m_f359d66813daa42f": "'__VIREO_SLOT_0__' 섹션을 '__VIREO_SLOT_1__' 하위 문서로 분리", + "m_e1f660558dd31528": ", 섹션 헤딩 삭제", + "m_985a5f979ef19c05": "'__VIREO_SLOT_0__' 섹션 헤딩 삭제", + "m_cc11371b5a1dcf37": "'__VIREO_SLOT_0__' 섹션 레벨 변경 (H__VIREO_SLOT_1__ → H__VIREO_SLOT_2__)", + "m_8a12bc762ca4fdd5": "'__VIREO_SLOT_0__' → '__VIREO_SLOT_1__' 섹션 이름 변경", + "m_3ce84c749766490c": "'__VIREO_SLOT_0__' 편집", + "m_ba5f59098d850c32": "문서 생성", + "m_ae5e8a60a5e184d7": "대체 제목 '__VIREO_SLOT_0__' 설정", + "m_2edd189025428bf6": "대체 제목 '__VIREO_SLOT_0__' 해제", + "m_8c7c679e495c64d0": "대체 제목 '__VIREO_SLOT_0__' → '__VIREO_SLOT_1__' 변경", + "m_6c44f3d4ed564acf": "분류 __VIREO_SLOT_0__ 추가", + "m_5a040009152a8117": "분류 __VIREO_SLOT_0__ 삭제", + "m_23a212a1e65a49ad": "넘겨주기 '__VIREO_SLOT_0__' 설정", + "m_f6fbe6e758da10c3": "넘겨주기 해제", + "m_4622a0ae2316d86b": "편집 메모 설정", + "m_6cd2a24fc06cb39b": "편집 메모 삭제", + "m_8dcd11aee6f0dbb9": "편집 메모 변경", + "m_8029674526ac2912": "본문 편집", + "m_731818359bf928c3": "\n
              \n \n \n \n
              \n
              \n
              \n \n \n \n
              \n
              \n
              \n \n \n \n
              \n
              \n
              \n \n \n \n \n
              \n
              \n \n ", + "m_90261fcce39fc898": "__VIREO_SLOT_0__行", + "m_411b2c6b766399b8": "__VIREO_SLOT_0__자(含空格)", + "m_3f461b232fc684b2": "__VIREO_SLOT_0__자", + "m_1838d440c8d73857": "__VIREO_SLOT_0__词", + "m_f5c3734f1842d175": "저장할 내용이 없습니다", + "m_ffe73dd0b9913359": "초안 저장됨", + "m_4a0c4ffb632258ff": "이 브라우저에 임시 저장했습니다.", + "m_0fdee520a75bf81b": "초안 保存失败", + "m_0d3fa0fb13f01944": "브라우저 저장소에 기록할 수 없습니다. (용량 초과 가능성)", + "m_02d29b4444c4bc35": "문서가 그 사이 편집되었습니다", + "m_8c6275b0525f518a": "마지막으로 초안을 저장한 이후 문서가 편집되었습니다. 초안을 불러오시겠습니까?", + "m_8673367aa168346a": "예, 불러오기 (충돌 해결)", + "m_644e6e73401bc4b5": "아니오, 초안 삭제", + "m_81d70d3ce436e08d": "저장된 초안이 있습니다", + "m_3debe2c26e180005": "이전에 저장한 초안을 불러오시겠습니까?", + "m_4615af86275a1ed2": "예, 불러오기", + "m_ca8ae38121505dba": "아니오, 삭제", + "m_4b6e64b01208ec5b": "불러옴", + "m_dd15748fb340ff41": "저장된 초안을 불러왔습니다.", + "m_dbfe8bc53f299dac": "섹션 #__VIREO_SLOT_0__", + "m_bb23db5abfb5746e": "섹션 위치를 찾지 못했습니다", + "m_8857aa2850c69203": "__VIREO_SLOT_0__ 섹션의 저장된 초안이 있지만 문서 구조가 변경되어 위치를 찾을 수 없습니다.", + "m_15a73ae33375c3b1": "초안 삭제", + "m_a12252500035668f": "나중에", + "m_9ec3652c9d614929": "저장된 섹션 초안", + "m_6506287817248afd": "__VIREO_SLOT_0__ 에 저장된 초안이 있습니다.
              본문에 불러오시겠습니까?", + "m_a1a6f7bd639bc549": "'__VIREO_SLOT_0__' 섹션 초안을 본문에 병합했습니다.", + "m_75315ee45ec4712a": "줄 맨 앞에 보이지 않는 문자(제로폭 공백)가 있습니다 — 헤딩(#)·목록 등 줄 시작 문법이 인식되지 않을 수 있습니다. 저장 시 자동 제거됩니다.", + "m_c80a6dcbf6960a9f": "캔버스 area span 합이 12의 배수가 아닙니다 (현재 __VIREO_SLOT_0__ — 행이 꽉 차지 않을 수 있음).", + "m_41c6f48afae8edc4": "등록되지 않은 팔레트: \"__VIREO_SLOT_0__\".", + "m_fe956171e5a0b99d": "블록 \":::__VIREO_SLOT_0__\" 이(가) 닫히지 않았습니다 (::: 필요).", + "m_39230b204bd49873": "중복된 {id:__VIREO_SLOT_0__} — 문서에서 __VIREO_SLOT_1__회 사용됨.", + "m_d6f5e3691cc6008b": "접근 제한", + "m_81c940c801e0ec7f": "超级管理员만 접근할 수 있습니다.", + "m_0e196333719d862c": " (페이지 이탈 후에도 서버에서 계속 실행됩니다)", + "m_b4adc72395479a89": "삭제 작업 진행 중... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_a0ef6c9fa2bd275d": " (페이지 이탈 후에도 서버에서 계속 실행됩니다)", + "m_faf001b7100460ec": "삭제 중... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_e591663c20e8b8b7": "이동 작업 진행 중... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_2d3c90871a22aed2": "이동 중... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_222e45adc7dbf99f": "잡 이미 실행 중", + "m_7574c10174114a52": "현재 다른 대량 작업이 실행 중입니다.
              완료되거나 중지될 때까지 새 작업을 시작할 수 없습니다.", + "m_17347648a5c751ee": "잡 제출 실패", + "m_5a956bebe2ca288c": "HTTP __VIREO_SLOT_0__", + "m_2f7c5b2dedf710e2": "상태 조회 실패", + "m_05ad218b2ac1779d": "잡 상태를 조회할 수 없습니다. 네트워크를 확인하고 페이지를 새로고침해 주세요.", + "m_79c234a547f281f2": "중지 실패", + "m_da9295df13296758": "선택 없음", + "m_154745f0cb57b53e": "삭제할 문서를 선택하세요.", + "m_8ad4371e3ea4adf5": "永久删除 확인", + "m_65d6068e556b1cac": "删除页面 확인", + "m_7544d023fa852dbd": "선택한 __VIREO_SLOT_0__개 문서를 永久删除합니다.
              토론·리비전·주시 설정까지 모두 제거되며 되돌릴 수 없습니다.", + "m_e92dbc8971ca237a": "선택한 __VIREO_SLOT_0__개 문서를 삭제합니다. (나중에 복원할 수 있습니다.)", + "m_4e01a4d26a03423b": "永久删除", + "m_73c02260be022109": "잡 제출 중...", + "m_27ab0c6f71896fa2": "삭제 중... (0/__VIREO_SLOT_0__)", + "m_e4f69e236d51ed95": "
              오류: __VIREO_SLOT_0__
              ", + "m_891598d221db1571": "
              잡 오류: __VIREO_SLOT_0__
              ", + "m_83dc9a22a33d0895": "
              __VIREO_SLOT_0__개 문서가 __VIREO_SLOT_1__삭제되었습니다.__VIREO_SLOT_2__
              ", + "m_a5e69871d2934498": "영구 ", + "m_e3a2ddb8e52349a1": " (__VIREO_SLOT_0__개 건너뜀)", + "m_547c96cbe08c4ad6": "입력 필요", + "m_61560166d5d4eabd": "'찾을 내용'을 입력하세요.", + "m_327563a465cf538b": "'찾을 내용'과 '바꿀 내용'이 동일합니다.", + "m_bd77cc3b242f9d7b": "이동할 문서를 선택하세요.", + "m_5e14d1c058efae1e": "(변경 없음)", + "m_0bdc92c1b6798d08": "\n
              \n
              미리보기 — 변경 대상 __VIREO_SLOT_0__개 / 선택 __VIREO_SLOT_1__개
              \n
                __VIREO_SLOT_2__
              \n
              ", + "m_827597193b7f7d53": "변경 없음", + "m_66daf03ffc0fac65": "선택한 문서 중 '찾을 내용'을 포함한 暂无页面.", + "m_c8e0d126500c7350": "문서 대량 이동 확인", + "m_1022c9304cc114df": "선택한 문서 중 __VIREO_SLOT_0__개의 주소(slug)에서 ", + "m_8cc99a47224784a9": "__VIREO_SLOT_0__ → __VIREO_SLOT_1__ 로 치환해 이동합니다.", + "m_e636bda8ebcf0cc1": "
              각 문서를 가리키는 참조 링크 본문도 함께 갱신합니다.", + "m_1aa576d666714a04": "
              참조 링크 본문은 갱신하지 않습니다.", + "m_73b2738ac4b74fd2": "
              이동은 되돌릴 수 없습니다(다시 이동으로 복구 가능).", + "m_e33ef078b7cf5037": "이동 실행", + "m_24566fe78189441f": "이동 중... (0/__VIREO_SLOT_0__)", + "m_3a16ff06f051eb49": "__VIREO_SLOT_0__개 문서가 이동되었습니다.", + "m_b1be2efca8e7b129": " (참조 링크 __VIREO_SLOT_0__건 갱신)", + "m_f80dec7cd41af1b0": " · __VIREO_SLOT_0__개 건너뜀__VIREO_SLOT_1__", + "m_b663ddf9f8baa973": " (외 __VIREO_SLOT_0__건)", + "m_22a363c2bacabe70": " · 역링크 갱신 실패 __VIREO_SLOT_0__건", + "m_8dcac6e9c804b4aa": " · 역링크 일부 미갱신 __VIREO_SLOT_0__건", + "m_142aa09bb01a7e39": "
              이동은 성공했지만 참조 링크 갱신에 실패한 문서 (참조가 옛 주소로 남아 있을 수 있음)
                __VIREO_SLOT_0__
              ", + "m_19201c5bcc6bd7d5": "충돌 __VIREO_SLOT_0__", + "m_2a245cdc2401ba0a": "건너뜀 __VIREO_SLOT_0__", + "m_ac2fba8377d87700": "
            • __VIREO_SLOT_0__ — 참조 링크 __VIREO_SLOT_1__건 미갱신
            • ", + "m_22c4247c02491409": "
              참조 링크 일부가 갱신되지 않은 문서 (200개 초과·동시 편집 충돌·읽기 실패 등 — 해당 참조는 옛 주소로 남아 있을 수 있음)
                __VIREO_SLOT_0__
              ", + "m_0615ca8b3271a36b": "
              외 __VIREO_SLOT_0__건 (결과 캡 초과로 상세 생략)
              ", + "m_3dba0f2f82d951de": "
              건너뛴 문서
                __VIREO_SLOT_0__
              __VIREO_SLOT_1__
              ", + "m_dc1e1c170a6005d0": "재인덱싱 중... (__VIREO_SLOT_0__/__VIREO_SLOT_1__) — 불일치 __VIREO_SLOT_2__개 문서 수정, 링크 __VIREO_SLOT_3__건 기록__VIREO_SLOT_4__", + "m_b1168cb5088e809e": ", __VIREO_SLOT_0__건 건너뜀", + "m_4e79d5330305f2b9": "✓ 완료 — 총 __VIREO_SLOT_0__개 문서 처리__VIREO_SLOT_1__", + "m_d9525c44539fb8c4": "
              인덱스 불일치 __VIREO_SLOT_0__개 문서 수정 —", + "m_54578b0fc2f6382a": " 누락 링크 __VIREO_SLOT_0__건 추가 · 잔여 링크 __VIREO_SLOT_1__건 제거 (전체 __VIREO_SLOT_2__건 재기록)
              ", + "m_864f9e90a54aef3f": "
              …외 __VIREO_SLOT_0__개 문서 생략
              ", + "m_544d1a470b641ce0": "
              수정된 문서 (누락/잔여 링크)
                __VIREO_SLOT_0__
              __VIREO_SLOT_1__
              ", + "m_0c90c9c7adbe4fe3": "
              처리한 문서는 모두 인덱스가 본문과 일치했습니다 (건너뛴 문서는 미검증 — 아래 목록).
              ", + "m_446e3defe7106496": "
              모든 문서의 백링크 인덱스가 본문과 일치합니다 (수정 없음).
              ", + "m_cffe2423b754b83e": "
              건너뛴 문서 ID (오류 또는 최소 크기 미달)
              __VIREO_SLOT_0__
              ", + "m_05bd56619e5960f8": "오류: __VIREO_SLOT_0__", + "m_e8a4dbe174cfde00": "일시정지됨 — __VIREO_SLOT_0__개 처리 완료 (재개 가능)", + "m_4f9a5073a0fd9162": "잡 재개 중...", + "m_8b6afd54317c5d9c": "백필 중... (__VIREO_SLOT_0__/__VIREO_SLOT_1__) — 미러 __VIREO_SLOT_2__건, __VIREO_SLOT_3__건 건너뜀", + "m_388f1f1d9874393b": "✓ 완료 — 미러 __VIREO_SLOT_0__건, __VIREO_SLOT_1__건 건너뜀 (총 __VIREO_SLOT_2__개 문서 처리)", + "m_3d6b38494e727a56": "검색어를 입력하세요.", + "m_47a1fa6f0e1a0d32": "正在搜索...", + "m_6e588599c725e484": "일치하는 暂无页面.", + "m_1e17ef3b52568348": "__VIREO_SLOT_0__개 搜索页面됨__VIREO_SLOT_1__", + "m_8877a6381e48058a": " (최대 __VIREO_SLOT_0__개까지만 표시됩니다. 검색어를 더 좁혀주세요.)", + "m_71ff102ea89b4e6e": "오류: __VIREO_SLOT_0__", + "m_7bbf8a6c8a63d18b": "已删除", + "m_d0386e67dd1f4a6f": "\n
              \n \n __VIREO_SLOT_0__개\n
              \n __VIREO_SLOT_1__
              \n ", + "m_3ade1fed4df03c54": "__VIREO_SLOT_0__개 선택됨", + "m_25044a9beab77aac": "관리자만 접근할 수 있습니다.", + "m_290aea65c3f16fa7": "图片列表 로딩 실패", + "m_83382c601afc0ed6": "图片列表을 불러올 수 없습니다", + "m_e6c8a4e6ff6206e1": "
            • ", + "m_56faeea9d4279b1a": "
            • ", + "m_1ebf863315a6276d": "
            • ", + "m_18abceefc15fa773": "
            • ", + "m_89fa716c20d6975b": "\n
              \n __VIREO_SLOT_1__\n
              \n __VIREO_SLOT_4__\n
              __VIREO_SLOT_5__ · __VIREO_SLOT_6__ · 업로더: __VIREO_SLOT_7__
              \n __VIREO_SLOT_8__\n
              \n
              \n \n \n
              \n
              \n ", + "m_02121e9f89592303": "총 __VIREO_SLOT_0__개 · __VIREO_SLOT_1__-__VIREO_SLOT_2__번 표시 · 페이지 __VIREO_SLOT_3__/__VIREO_SLOT_4__", + "m_4fb0bcdb64aa72c6": "이미지 삭제", + "m_7fe8eb1fe4c3e8b2": "\"__VIREO_SLOT_0__\" 이미지를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", + "m_077a6d37719a0e21": "已删除", + "m_74c1a50ecff0bebf": "미사용 이미지를 검색하는 중... (시간이 걸릴 수 있습니다)", + "m_ff106bdf32342a01": "
              미사용 이미지가 없습니다. 모든 이미지가 문서에서 사용 중입니다.
              ", + "m_08e1c6d38e3fef61": "
              전체 __VIREO_SLOT_0__개 이미지 중 __VIREO_SLOT_1__개가 어떤 문서에서도 사용되지 않고 있습니다.
              ", + "m_4fab65f10314a98f": "\n
              \n \n __VIREO_SLOT_1__\n
              \n __VIREO_SLOT_4__\n
              __VIREO_SLOT_5__ · __VIREO_SLOT_6__ · 업로더: __VIREO_SLOT_7__
              \n
              \n \n
              ", + "m_f9e39928a681db2a": "
              오류: __VIREO_SLOT_0__
              ", + "m_f56c6c82203b33f6": "提示", + "m_6592941155924ffc": "삭제할 이미지를 선택해주세요.", + "m_517f80d5e802c50e": "미사용 이미지 삭제", + "m_9505857337fbdb51": "선택된 __VIREO_SLOT_0__개 이미지를 永久删除하시겠습니까?
              이 작업은 되돌릴 수 없습니다.", + "m_d37f24fb4e0d7b1d": "삭제 중...", + "m_c6c7a20bf9453422": "__VIREO_SLOT_0__개 이미지가 삭제되었습니다.", + "m_6d235d1bf6051e40": "\n\n경고:\n__VIREO_SLOT_0__", + "m_a9734db6fb176602": "쓰레기 수집 완료", + "m_ac1f587179b371a1": " 删除所选", + "m_1157eee8b9283734": "역링크 추적 중...", + "m_38372774e5415a6e": "잠시만 기다려주세요.", + "m_4291ef38489ca46a": "역링크 추적 실패", + "m_1ce6d6664cb04530": "\n
            • \n \n __VIREO_SLOT_1__\n \n 블로그\n
            • ", + "m_990b4c1d7cad17e1": "\n
            • \n __VIREO_SLOT_0__\n 讨论\n
            • ", + "m_33cbb4602073fb78": "\n
            • \n \n __VIREO_SLOT_1__\n \n 티켓\n
            • ", + "m_f1e3e9ce7c1fb7dd": "\n
            • \n \n __VIREO_SLOT_1__\n \n 页面\n
            • ", + "m_7f6ade650e10d379": "
              이 이미지를 사용 중인 暂无页面.
              ", + "m_fd33b1a4b07e2384": "역링크 추적 결과", + "m_7ed12ac44a9887cb": "__VIREO_SLOT_0__ 사용 문서 목록
              ", + "m_09aa016c5f43372b": "User", + "m_0ac696c929c4a7ed": "超级管理员", + "m_f932426b3687e632": "관리자", + "m_e5d47a576f5bcf8e": "讨论管理员", + "m_af258636a654f632": "", + "m_8199969ee24826d1": "차단됨", + "m_f7986512b3886a5c": "정상", + "m_293182ec397e6b89": "해제", + "m_4b785e68bbaeafb2": "변경됨", + "m_f4e3ec810bc2950d": "__VIREO_SLOT_0__ 차단", + "m_a6e7c85021623cdb": "일수 (0=해제)", + "m_9aa31a355c5f1c82": "Open (전체 개방)", + "m_0e1d6e435d1d8866": "Disabled (차단)", + "m_eb23450bff80aeee": "목록 조회 실패", + "m_1b109fcd101882f3": "불러오기 실패: __VIREO_SLOT_0__", + "m_fe57cc5642b72994": "발행된 공지가 없습니다", + "m_b88414a7c7371ad2": "(텍스트 전용)", + "m_ea6a263186c95b72": "
              blog#__VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__
              ", + "m_bb8c8af377862bd1": " 已删除", + "m_0cca5a2971f119fa": "(제목 없음)", + "m_3c45a98ec04e084c": "", + "m_f66e36e2558de90f": "", + "m_7240ba2c07574495": "", + "m_6e59915db6f900f2": "", + "m_c1f3de26a5f102c6": "아이콘 피커가 로드되지 않았습니다.", + "m_80a42fdc93a8b3a3": "제목을 입력하세요.", + "m_c0fd9a542515c058": "발행 실패", + "m_da0dad56d4887e78": "공지가 발행되었습니다.", + "m_710cee6baf966ad9": "공지를 철회하시겠습니까?", + "m_4c84afb1ab910432": "철회", + "m_ed8b1ad5e3a58158": "철회 실패", + "m_2ac5f029a8308b3b": "이동 실패", + "m_2b8e0177e794ff8b": "수정 실패", + "m_9693e1eb3edb1291": "복사됨", + "m_7027c91cb33c8afe": "저장 완료", + "m_6c700457992d1984": "\n __VIREO_SLOT_0__\n __VIREO_SLOT_1__\n __VIREO_SLOT_2__\n __VIREO_SLOT_3__\n \n \n \n \n ", + "m_562d741f32937c7a": "신청이 없습니다", + "m_3552caa98eb436e3": "승인 처리 중 오류가 발생했습니다.", + "m_4f16c308b26b0191": "거절 처리 중 오류가 발생했습니다.", + "m_191697bdb0eece29": "목록을 加载失败.", + "m_9d5d4fed551fb021": "\n \n
              __VIREO_SLOT_0__
              \n \n __VIREO_SLOT_1__\n \n \n \n \n ", + "m_8e33ab759d3c49a0": "삭제된 暂无页面", + "m_f969cc6c70f1147d": "총 __VIREO_SLOT_0__건", + "m_917aa9acc9bd4f00": "
            • ", + "m_db21ba87d2bb268f": "
            • ", + "m_b88012495fd61b7f": "
            • ", + "m_87d48311da56e798": "
            • ", + "m_a77e673e33df301f": "문서를 복원하시겠습니까?", + "m_e7274914741b7904": "복원", + "m_c00baeeecffdda4b": "복원에 실패했습니다.", + "m_1d358458933cf3d4": "복원 완료", + "m_6f5d64ead92339db": "가입 N일", + "m_1c6746a696b590ab": "본 编辑页面이력", + "m_8cf990d20980a733": "임의 편집이력", + "m_f71eb110c02ececf": "등록된 카테고리 ACL이 없습니다", + "m_ffdbb50e2aa475ec": "비활성", + "m_a94c4ebca1afc288": "\n
              \n __VIREO_SLOT_1__\n __VIREO_SLOT_3__\n
              \n __VIREO_SLOT_4__개 문서\n
              ", + "m_a0e7ee7d62d7117e": "
              목록 조회 실패: __VIREO_SLOT_0__
              ", + "m_a804540cad75651f": "로그를 加载失败.", + "m_1c33d57d376671cb": "로그가 없습니다", + "m_375f2a17fd005d33": "
            • ", + "m_504ade90bc80e729": "
            • ", + "m_d038bc0ad25ed9f0": "
            • ", + "m_7cc01f11d9087f0a": "
            • ", + "m_2e1ae4c7b2dbdc8b": "에러가 없습니다", + "m_0245b23f2703421c": "데이터가 없습니다", + "m_27aa10dd2ac8a04f": "
              \n
              평균 (Avg)
              \n
              __VIREO_SLOT_0__ ms
              \n
              \n
              \n
              p95
              \n
              __VIREO_SLOT_1__ ms
              \n
              \n
              \n
              p99
              \n
              __VIREO_SLOT_2__ ms
              \n
              \n ", + "m_3d1af832228cb235": "가입 __VIREO_SLOT_0__일 이상", + "m_ca766e440fd9a607": " 编辑受限", + "m_8fad0c21df08b91f": "
              ", + "m_61ebde6ce0278343": "data-temporal-ms=\"__VIREO_SLOT_0__\" data-temporal-mode=\"__VIREO_SLOT_1__\">__VIREO_SLOT_2__
              ", + "m_b4f76a33b89bb947": "성공", + "m_37f9f3b4dae3a0c2": "__VIREO_SLOT_0__일 남음", + "m_bd5fc8d9d63144b5": "__VIREO_SLOT_0__일 지남", + "m_660be8dc05756f29": "__VIREO_SLOT_0__년", + "m_b2a75ffc664cfb3e": "__VIREO_SLOT_0__달", + "m_24c9da1e988be3bc": "__VIREO_SLOT_0__일", + "m_e4ed44191d2c228b": "__VIREO_SLOT_0__시간", + "m_8ef0c1f1977d2540": "__VIREO_SLOT_0__분", + "m_f16a85a9e93a8699": "__VIREO_SLOT_0__초", + "m_79e1a55bcaec418e": " 남음", + "m_cd887be638763115": " 지남", + "m_111ec068b7c8a9e8": "__VIREO_SLOT_0__세", + "m_c716bb70a4231be0": "__VIREO_SLOT_1__", + "m_36a083a833558006": "__VIREO_SLOT_2__", + "m_d1f9295e8d370952": "1월", + "m_811d5d8a6b790167": "2월", + "m_310010d93f058b83": "3월", + "m_9d74e6caa95d1e81": "4월", + "m_3bfa4068589f0a55": "5월", + "m_b12d17822d583bf0": "6월", + "m_add36baea45c759b": "7월", + "m_5f0127f701deadad": "8월", + "m_b16a827d17339118": "9월", + "m_e0583d626b98ba7c": "10월", + "m_5e12e956c42b0eb6": "11월", + "m_c1ea3f913a36afc5": "12월", + "m_1094b7d96a9a4109": "일요일", + "m_6c95540e90f1a668": "월요일", + "m_94e234f76b8eab7e": "화요일", + "m_4ee1e5308220dcf1": "수요일", + "m_42d1a6367432ff8e": "목요일", + "m_a594e9b583050ec4": "금요일", + "m_9f4eef79554b65d0": "토요일", + "m_e09647e56f8b7b25": " ", + "m_2ab2d25416cb9437": "외부 링크 이동", + "m_586d87d9a8dd8005": "외부 링크 __VIREO_SLOT_0__ 로 이동합니다.
              계속하시겠습니까?", + "m_2eb73fba696e2fe4": "예", + "m_1bd9c7624573e401": "외부 링크 __VIREO_SLOT_0__ 로 이동하시겠습니까?", + "m_9de1e8f20f53773d": "이미지 문서 보기: __VIREO_SLOT_0__", + "m_998f8bc6d96891d4": "
              다이어그램 렌더링 중…
              ", + "m_f686e06a1e3e59ab": "
              차트 렌더링 중…
              ", + "m_2fd5fe4b1f06d612": "코드 복사", + "m_45b2dba76f782b4a": "제목이 복사되었습니다.", + "m_a9a082320a57a6aa": "섹션 마크다운 복사", + "m_75a4500c1bfe7e1f": "문단이 복사되었습니다.", + "m_fd9385f42fbeb3bb": "섹션 링크 복사", + "m_58fd747e504105e2": "이 섹션만 편집", + "m_0587feed32dce2b1": "섹션 편집", + "m_6d483574d6f62c82": "__VIREO_SLOT_0__줄", + "m_6677dacfda7bd1cf": "__VIREO_SLOT_0__자(공백포함)", + "m_6f884f72025f6d53": "__VIREO_SLOT_0__단어", + "m_bba2df43bd36317f": "익스텐션 스크립트 로드 실패: ", + "m_04e6a6c23261a095": "[ext-sdk] defineExtension: render 함수 누락 (", + "m_7330c8d77372b51b": "[ext-sdk] 익스텐션 렌더 실패 (", + "m_816717780d53b2bf": "
              ⚠️ 익스텐션 렌더 오류: __VIREO_SLOT_0__
              ", + "m_e2e16c57161e128a": "[ext-sdk] 익스텐션 비동기 렌더 실패 (", + "m_221ffcbb2b08b016": "[ext-sdk] 익스텐션 재렌더 실패 (", + "m_a2af293eb559a854": "[ext-sdk] onThemeChange 실패 (", + "m_5270ec565b3f59aa": "
              ⚠️ 익스텐션 데이터를 찾을 수 없습니다.
              ", + "m_61b165a8c8808951": "
              ⚠️ 알 수 없는 익스텐션: __VIREO_SLOT_0__
              ", + "m_98b3a605c4dfcab1": "
              다이어그램 라이브러리를 불러오지 못했습니다.
              ", + "m_3ca3edc2a96a0b58": "
              다이어그램 오류
              __VIREO_SLOT_0__
              ", + "m_895ed39975f12244": "__VIREO_SLOT_0__ 값은 [a, b, c] 형식이어야 합니다.", + "m_5a34b417191ccfc4": "시리즈 항목 형식 오류: \"__VIREO_SLOT_0__\" — \"이름: [숫자, ...]\" 형식이어야 합니다.", + "m_834519cb468392f6": "시리즈 \"__VIREO_SLOT_0__\"", + "m_05c591378dcc57d4": "시리즈 \"__VIREO_SLOT_0__\" 값은 숫자 목록([120, 150, ...])이어야 합니다.", + "m_d2433aabb003afe2": "알 수 없는 줄: \"__VIREO_SLOT_0__\"", + "m_c2930c6fbd88cc61": "지원하지 않는 type: \"__VIREO_SLOT_0__\" — bar·line·pie·doughnut·radar 중 하나여야 합니다.", + "m_d5c2dee002704944": "series: 다음 줄부터 들여쓰기로 \"이름: [숫자, ...]\" 를 나열합니다.", + "m_ab81ac6483934fb3": "알 수 없는 키: \"__VIREO_SLOT_0__\" — type·labels·series 만 지원합니다(시리즈 항목은 들여쓰기 필요).", + "m_0e36ab1fef14b593": "type 이 필요합니다 (bar·line·pie·doughnut·radar).", + "m_ed77553468de39f6": "labels 가 필요합니다 (예: labels: [1Q, 2Q, 3Q, 4Q]).", + "m_30bbebfd650e1342": "series 항목이 최소 1개 필요합니다.", + "m_825f2c4976ebc036": "시리즈는 최대 8개까지 지원합니다.", + "m_b47794ae85254045": "pie/doughnut 차트는 항목(labels)을 최대 8개까지 지원합니다.", + "m_8d2ec125e902f5db": "시리즈 \"__VIREO_SLOT_0__\" 값 개수(__VIREO_SLOT_1__)가 labels 개수(__VIREO_SLOT_2__)와 일치해야 합니다.", + "m_1674c85d9fa4ee82": "
              차트 오류
              __VIREO_SLOT_0__
              ", + "m_1b47559afb653720": "차트: __VIREO_SLOT_0__", + "m_19c8b1eaaa5b3232": "
              차트를 렌더링하지 못했습니다.
              ", + "m_3a92f0945a5ebe34": "
              차트 라이브러리를 불러오지 못했습니다.
              ", + "m_12ddd6ca69068faa": "알림", + "m_a44caa375edfe9f9": "API __VIREO_SLOT_0__ __VIREO_SLOT_1__ __VIREO_SLOT_2__", + "m_7545b39503978718": "正在加载...", + "m_3c3b850c761f6668": "RAG 미러링이 비활성화되어 있습니다(RAG_SEARCH_ENABLED / RAG_BUCKET 확인).", + "m_d7b5091b60eaed7f": "문서 대량 __VIREO_SLOT_0__삭제: __VIREO_SLOT_1__/__VIREO_SLOT_2__건", + "m_f4afd431e04afffc": "문서를 찾을 수 없습니다.", + "m_30df89932df3ca90": "삭제된 문서는 이동할 수 없습니다.", + "m_b9f524a9254f2af5": "이미 이동됨 또는 외부에서 변경됨 (건너뜀)", + "m_3ad19aa46150f9af": "변경 없음 (찾을 내용 미포함)", + "m_a735020dc7ef9e76": "문서 대량 이동(제목 변경): \"__VIREO_SLOT_0__\" → \"__VIREO_SLOT_1__\" (__VIREO_SLOT_2__/__VIREO_SLOT_3__건 이동, 역링크 __VIREO_SLOT_4__건 갱신", + "m_f46d2d3743a134e5": ", 역링크 실패 __VIREO_SLOT_0__건", + "m_8ec8a2a90281dd1a": ", 역링크 미갱신 __VIREO_SLOT_0__건", + "m_ee82e0133f22362e": "차단된 계정은 이 리소스에 접근할 수 없습니다.", + "m_2fe63954c7e53a1f": "\n\n\n\n\n\n__VIREO_SLOT_0__\n\n\n\n\n\n__VIREO_SLOT_5__\n\n\n
              __VIREO_SLOT_7__
              \n
              \n__VIREO_SLOT_8__\n
              \n\n", + "m_c29f0b4587dbd455": "__VIREO_SLOT_0__ 의 하위 문서 구조", + "m_e9703a579f6c5c8a": "(루트)", + "m_4a950e6b1646cff5": "__VIREO_SLOT_0__ - 이미지 문서", + "m_7989c08e00f0b922": "

              태그: __VIREO_SLOT_0__

              ", + "m_dc9fd0bad4a7d8cd": "비공개 문서 - __VIREO_SLOT_0__", + "m_efc7fd6310f63f50": "
              \n

              __VIREO_SLOT_0__

              \n

              이 문서는 비공개 상태입니다.

              \n
              ", + "m_a74a21bde371f2f4": "__VIREO_SLOT_0__ 문서는 비공개 상태입니다.", + "m_3bd5e09f1ab5982e": "
              \n

              __VIREO_SLOT_0__

              \n

              이 문서는 삭제되었습니다.

              \n
              ", + "m_02e62ff866abfe12": "__VIREO_SLOT_0__ 문서는 삭제되었습니다.", + "m_7c2e54f55fcd9508": "문서 없음 - __VIREO_SLOT_0__", + "m_5ead5c155e8ba57a": "
              \n

              __VIREO_SLOT_0__

              \n

              요청하신 문서가 존재하지 않습니다.

              \n
              ", + "m_cbe47a2bb2290296": "__VIREO_SLOT_0__ 문서를 찾을 수 없습니다.", + "m_e2890670069386c9": "

              __VIREO_SLOT_0__ 에서 자동으로 넘어왔습니다.

              ", + "m_1f5f895990dac9d7": "

              제목: __VIREO_SLOT_0__

              ", + "m_84653322e3417259": "

              본문이 비어있습니다.

              ", + "m_e838fb0ab17bfa72": "로그인 - ", + "m_04a65b6a61a9796c": "비공개 위키입니다. 로그인 후 이용해주세요.", + "m_7eb1fefb7784f741": "오류가 발생했습니다 - ", + "m_6518ddaaddaaf1ac": " daily\n", + "m_28b76f58ad108f42": " \n", + "m_86c491782b0043ca": " weekly\n", + "m_a2aca12bc7570ba7": " __VIREO_SLOT_0__/blog\n", + "m_d190756ad4548f50": " __VIREO_SLOT_0__/blog/__VIREO_SLOT_1__\n", + "m_65543806151d7d94": "Discovery not implemented", + "m_e9357bc267260587": "Dynamic registration not supported", + "m_0019dfc4b32d63c1": "Not Found", + "m_f462be0e990eb8f7": "페이지를 찾을 수 없습니다 - ", + "m_59e63825df4dc0f7": "요청하신 페이지를 찾을 수 없습니다 (404 Not Found)", + "m_e41656eb2ba6c629": "Internal Server Error", + "m_2c8f25af0a2db3fa": "서버 내부 오류가 발생했습니다 (500 Internal Server Error)", + "m_02903fc13e99bba0": "탈퇴한 사용자입니다.", + "m_640f50ae9c6b8e41": "로그인이 필요합니다.", + "m_6c866390a85ff79c": "차단된 계정입니다. 이용하실 수 없습니다.", + "m_b432a12aeaf2ac59": "관리자 권한이 필요합니다.", + "m_294eb6cfe8b5a1ea": "권한이 부족합니다. (__VIREO_SLOT_0__)", + "m_a5ea4bcf95180105": "\"Logo\"", + "m_718e2147e1a2bdab": "이 문서는 관리자만 편집할 수 있습니다.", + "m_b38aea24dea3b95b": "이 문서를 편집할 권한이 부족합니다 (edit_acl: __VIREO_SLOT_0__).", + "m_40db2d51a7822a45": "이 슬러그로 시작하는 문서는 관리자만 새로 생성할 수 있습니다.", + "m_d5aa081f3614ef8a": "이 슬러그로 시작하는 문서는 ACL 정책에 따라 편집할 수 없습니다 (__VIREO_SLOT_0__).", + "m_35463423c1da3db2": "특정 리비전의 본문을 읽어옵니다. revision_id 는 get_recent_changes 응답에 포함된 정수 id 이며, title 은 그 리비전이 속한 문서 슬러그입니다. raw=true 로 설정하면 위키 문법 변환을 건너뜁니다 (기본은 위키 문법 그대로 반환). 응답에는 본문, 작성자, 생성 시각이 포함됩니다.", + "m_eab54d7e6d46ef2e": "리비전이 속한 문서 슬러그", + "m_ab40a49df486a2a4": "리비전 id (정수)", + "m_e8f6e0fc69c68cce": "본인이 보유한 진행 중 draft 목록을 반환합니다. 각 항목에는 draft_id, slug, action(create/update), base_revision_id, base_version, content_length, updated_at(ISO 8601) 이 포함됩니다. draft 는 마지막 활동 이후 12시간이 지나면 자동 삭제됩니다.", + "m_066f30f8e937ee89": "진행 중 draft 의 전체 본문을 조회합니다. commit 직전 최종 확인 용도입니다. title 로 본인의 draft 를 찾아 반환합니다.", + "m_5a07ed31a58feb5f": "draft 가 속한 문서 슬러그", + "m_be0bef7757373462": "소프트 삭제된 문서 목록을 최신 삭제순으로 반환합니다. restore_page 와 함께 사용하세요. 응답에는 슬러그, 삭제 시각(deleted_at, ISO 8601), 마지막 편집자(last_editor), 마지막 편집 요약(last_summary) 이 포함됩니다.", + "m_d97ab144879ae08b": "반환할 최대 개수 (기본 20, 최대 100)", + "m_6892a3de2fc8f445": "이 시점 이후에 삭제된 문서만 (ISO 8601)", + "m_9affaa695800932b": "\n\n⚠️ 헤딩 작성 규칙: 위키는 헤딩(##, ###, ...)에 자동으로 계층 번호(\"1.\", \"1.1.\" 등)를 부여합니다. ", + "m_924ee1d025cc7457": "헤딩 텍스트에 번호를 직접 적지 마세요 (예: `## 1. 개요` ❌ → `## 개요` ✅). 직접 적으면 렌더링 시 \"1. 1. 개요\" 처럼 중복 번호가 표시됩니다. ", + "m_2912b9d4b8cdae72": "목차 내 다른 섹션을 참조할 때는 `[[문서#s-1.2]]` 형식의 섹션 앵커를 사용하세요.", + "m_7db2629871eda279": "위키 문서 전체 본문을 새로 만들거나 통째로 교체할 draft 를 생성합니다. ⚠️ 즉시 저장하지 않고 draft 에 누적되며, 완료 후 commit_edit(draft_id, summary) 를 호출해야 새 리비전이 생성됩니다. 이미 본인의 draft 가 같은 슬러그로 있으면 그 draft 의 본문이 이 호출의 content 로 교체됩니다. create_only=true 면 페이지가 이미 존재할 때 오류를 반환합니다 (실수 덮어쓰기 방지).\n\n응답에 draft_id 가 포함되며, 이 id 로 read_draft / commit_edit / discard_edit 를 호출합니다. draft 는 마지막 활동 이후 12시간이 지나면 자동 삭제됩니다.", + "m_1912bfdf15320f6f": "문서 슬러그 (호출/식별자)", + "m_3f40303960c3dd7a": "문서 전체 본문 (마크다운/위키 문법)", + "m_9184a0a02e3537fe": "쉼표로 구분된 카테고리 (선택, 한글/영숫자/공백/쉼표만 허용)", + "m_a73ce1e5ea4e4eab": "리다이렉트 대상 슬러그 (선택)", + "m_f225f4981b80626a": "true 시 슬러그가 이미 존재하면 오류 반환 (기본 false)", + "m_73238162a48c3cf3": "표시 전용 대체 제목 (선택). 슬러그와 달리 모든 특수문자 허용. null/빈 문자열이면 제거. 호출 매칭에는 사용되지 않으며 위키 링크/트랜스클루전/MCP 인자는 항상 슬러그(title 파라미터)를 사용합니다.", + "m_3d7c2b7994b3115d": "편집자 메모 (선택). 편집기에서만 표시되는 비공개 메모로, 일반 열람에는 노출되지 않습니다. 리비전으로 추적되지 않으며, 본문 변경 없이 편집 메모만 바뀌면 가상 리비전으로 처리됩니다.", + "m_b311de5bec1786ff": "문서의 특정 텍스트를 찾아 교체하는 부분 편집입니다 (Claude Code Edit 도구와 같은 방식). ⚠️ 즉시 저장하지 않고 draft 에 누적되며, commit_edit 호출 시 비로소 새 리비전이 생성됩니다. 같은 슬러그로 이미 본인 draft 가 있으면 그 draft 의 본문에 대해 치환을 수행합니다 (없으면 페이지 현재 본문을 자동 스냅샷해 draft 시작). old_string 은 대상 본문(=draft 또는 페이지 현재 본문)에서 정확히 한 번만 등장해야 하며, 겹치는 매치 포함 2회 이상이면 오류입니다 — 앞뒤 맥락을 더 포함해 고유하게 만드세요. new_string 이 빈 문자열이면 해당 부분이 삭제됩니다.\n\n응답에 draft_id 가 포함됩니다. 섹션 단위는 edit_section, 전체 본문 교체는 create_or_update_page 를 사용하세요.", + "m_34cb2b870cc0091f": "편집할 문서 슬러그", + "m_9f0f47181df49afa": "대상 본문에서 찾을 기존 텍스트 (유일해야 함)", + "m_680108655cd6e15c": "old_string 을 대체할 새 텍스트 (빈 문자열이면 해당 부분 삭제)", + "m_a4d5650e98914ad7": "문서의 특정 섹션 본문을 새 내용으로 통째로 교체합니다. ⚠️ 즉시 저장하지 않고 draft 에 누적되며, commit_edit 호출 시 비로소 새 리비전이 생성됩니다. 같은 슬러그로 이미 본인 draft 가 있으면 draft 본문에 대해 섹션 치환을 수행합니다 (없으면 페이지 현재 본문을 자동 스냅샷). section_number 는 get_toc(raw=true) 또는 read_draft 의 본문에서 산출한 원본 기준 번호(\"1\", \"1.1\", \"0\" 등) 입니다. new_content 는 read_section(raw=true) 으로 받은 형식 그대로(헤딩 라인 포함) 보내는 것을 권장합니다. 교체 범위는 지정 헤딩부터 같은 레벨 이상의 다음 헤딩 직전까지입니다 (\"0\" 은 첫 헤딩 이전 도입부).\n\n응답에 draft_id 가 포함됩니다.", + "m_2e7d5e478b0f50f9": "get_toc(raw=true) 가 반환한 섹션 번호 (예: \"1\", \"1.1\", \"0\")", + "m_08853e15284006c1": "해당 섹션을 대체할 새 본문 (헤딩 라인 포함 권장)", + "m_1733ff031c83966b": "draft 에 누적된 편집을 승인 대기로 제출합니다. base_revision_id 가 그 사이 변경되었으면(=다른 사용자가 페이지를 수정) 거부합니다 — 그 경우 discard_edit 후 read_document 로 최신 상태를 다시 읽고 편집을 재구성해야 합니다. 신규 페이지 draft 인데 commit 시점에 이미 같은 슬러그가 존재하면 같은 사유로 거부합니다. summary 는 새 리비전의 편집 요약입니다 (선택, 최대 255자). 저장 시 자동으로 `[MCP] [+N줄 -M줄] ` 접두가 붙어 사람 편집과 구분되며 변경 규모를 한눈에 보여줍니다 (예: `[MCP] [+5줄 -2줄] 오타 수정`).\n\n응답에도 이전 본문 대비 라인 단위 변경량(`lines_added` / `lines_removed`)이 포함됩니다 — git diff --stat 의 +N/-M 와 동일한 의미입니다 (CRLF 정규화 후 LCS 기반으로 산출).\n\n**항상 승인 대기로 제출**됩니다. draft 는 즉시 리비전이 되지 않고 OAuth 토큰 소유자(=이 MCP 를 연결한 본인) 에게 승인 대기로 제출됩니다. 본인이 마이페이지 / 알림 / 문서 배너에서 검토 후 승인해야 비로소 리비전이 만들어집니다. 거부 시 draft 는 폐기됩니다.\n\n승인 단계 없이 즉시 반영하려면(마이페이지에서 \"MCP 편집 즉시반영 허용\" 을 켠 경우) commit_edit 대신 apply_edit 도구를 사용하세요 — 도구 목록에 apply_edit 이 보이면 활성 상태입니다.", + "m_99c040ac74eb7f5a": "커밋할 draft 의 id (편집 도구 응답에서 받은 값)", + "m_d94deba089b9cc19": "편집 요약 (선택, 최대 255자, 저장 시 [MCP] 접두 자동 부여)", + "m_2511d64529f77c69": "draft 를 폐기합니다. 누적된 편집은 모두 사라지며 페이지에는 어떤 영향도 없습니다.", + "m_df9da3b97a3d932c": "폐기할 draft 의 id", + "m_8331d117bc307c22": "문서를 특정 과거 리비전으로 되돌립니다 (즉시 적용 — draft 모델 미사용). revision_id 는 read_revision 또는 get_recent_changes 응답에서 얻은 정수 id 입니다. 되돌리기는 새 리비전을 만들어 원래 본문 그대로 다시 저장하는 방식이며, 과거 리비전 자체를 삭제하지 않습니다.", + "m_954004d370420e93": "되돌릴 대상 문서 슬러그", + "m_0f6bbfd4bfc70d40": "되돌릴 기준 리비전 id (정수)", + "m_1a534a0c2d48c342": "편집 요약 (선택, 기본 \"reverted to revision #N\", 저장 시 [MCP] 접두 자동 부여)", + "m_a8319bc306b93ca0": "위키 문서를 삭제합니다 (즉시 적용 — draft 모델 미사용). 기본은 소프트 삭제(deleted_at 설정)로, restore_page 로 복원 가능합니다. hard=true 일 때만 D1/R2 에서 영구 삭제하며, 이 경우 최고 관리자(super_admin) 권한이 필요합니다.", + "m_cba875e322a3b362": "삭제할 문서 슬러그", + "m_77cd1dca513b92bf": "true 시 영구 삭제 (super_admin 만 가능)", + "m_8aa291a2b51c5649": "소프트 삭제된 문서를 복원합니다 (즉시 적용 — draft 모델 미사용).", + "m_9443783ff1f6e7f3": "복원할 문서 슬러그", + "m_4782d7c3ddde2cb5": "문서 슬러그를 변경합니다 (이동, 즉시 적용 — draft 모델 미사용). 이 문서가 가진 위키링크/틀 참조는 새 슬러그 기준으로 재작성되며, 새 리비전이 추가됩니다. update_backlinks=true (기본) 면 이 문서를 가리키던 다른 문서들의 본문도 일괄 재작성됩니다 (각 문서마다 새 리비전 생성). 백링크가 매우 많은 경우 성능상 이유로 끄려면 false 를 명시하세요.", + "m_b7efb4c7aa9167ef": "현재 문서 슬러그", + "m_24cae5596547e34d": "새 문서 슬러그", + "m_3d539028bf57ada4": "역링크 문서 본문도 함께 재작성할지 (선택, 기본 true — 이동 시 백링크 자동 갱신. 끄려면 false 명시)", + "m_86493ccf3dd29124": "블로그(/blog) 포스트를 새로 작성합니다 (즉시 적용 — draft 모델 미사용). 응답에 새 포스트 id 가 포함됩니다. 본문에서 첫 이미지가 자동으로 썸네일로 추출되며, 이미지 역링크(page_links) 도 자동 갱신됩니다.", + "m_ea1ece85c0fd0b4b": "포스트 제목 (1-500자)", + "m_4f67d9921b617e0e": "포스트 본문 (마크다운/위키 문법)", + "m_6f4b4056a4874cdc": "블로그 포스트의 제목 / 본문을 수정합니다 (즉시 적용 — draft 모델 미사용). title 과 content 모두 선택적이며, 적어도 하나는 지정해야 합니다. content 를 지정하면 본문이 통째로 교체되고 썸네일·이미지 역링크가 재계산됩니다. 소프트 삭제된 포스트는 수정할 수 없습니다 (먼저 restore_blog_post 로 복원하세요).", + "m_963c381e30c73ad2": "수정할 블로그 포스트 id (정수)", + "m_3a5e8e05f681f266": "새 제목 (선택, 1-500자)", + "m_ecad3ddd01b1cc4b": "새 본문 (선택, 지정 시 통째로 교체)", + "m_8ed5a0ca38c32806": "블로그 포스트를 소프트 삭제합니다 (즉시 적용 — draft 모델 미사용). 영구 삭제는 지원하지 않으며, restore_blog_post 로 복원할 수 있습니다. 삭제된 포스트가 사이트 공지로 발행되어 있던 경우 공지도 자동으로 취소됩니다. 본 포스트가 참조하던 이미지 역링크(page_links) 도 정리됩니다.", + "m_59b8dd468f3c0bd5": "삭제할 블로그 포스트 id (정수)", + "m_4e5af2aae9a06ee2": "소프트 삭제된 블로그 포스트를 복원합니다 (즉시 적용 — draft 모델 미사용). 복원 후 이미지 역링크(page_links) 가 본문을 기준으로 재구성됩니다.", + "m_cf198c4727854a63": "복원할 블로그 포스트 id (정수)", + "m_636f29ef3dd55f9b": "문서 본문은 건드리지 않고 카테고리만 변경합니다 (즉시 적용 — draft 모델 미사용, 새 리비전 생성 없음). 본문을 읽거나 수정할 필요 없이 메타데이터만 갱신할 때 사용합니다.\n\n- category: 쉼표로 구분된 카테고리 (한글/영숫자/공백/쉼표만 허용). 빈 문자열을 보내면 모든 카테고리가 제거됩니다.\n\n변경은 admin_log 에 기록되지만 리비전 이력에는 남지 않습니다 (편집 요약/저자 등록 없음).\n\n비공개 설정·편집 잠금/관리자 전용 ACL 은 별도 API 또는 권한 관리 모달에서 설정합니다.", + "m_11f69bd32d428f14": "대상 문서 슬러그", + "m_d5112ef535b0ce5b": "쉼표로 구분된 카테고리 (빈 문자열이면 카테고리 모두 제거)", + "m_9615f12f15f8e6f7": "Error: summary 는 [MCP] 접두 포함 최대 __VIREO_SLOT_0__자입니다 (현재 __VIREO_SLOT_1__자).", + "m_eaf5dbfe425cfa3f": "Error: wiki:edit 권한이 필요합니다.", + "m_8ab6728713ad8858": "Error: title 이 필요합니다.", + "m_aa2df5e3971b60e7": "Error: 해당 슬러그의 draft 를 찾을 수 없습니다.", + "m_b525ffd5499fc86d": "Error: admin:access 권한이 필요합니다.", + "m_35456c06c2ad2c05": "Error: since 가 유효한 ISO 8601 날짜가 아닙니다: __VIREO_SLOT_0__", + "m_342d2c21b9f70059": "Error: revision_id 는 양의 정수여야 합니다.", + "m_36f26fa461c07fd6": "Error: 문서를 찾을 수 없습니다.", + "m_1c0d1ec937005f23": "Error: 리비전을 찾을 수 없습니다.", + "m_79a074aac12f4b03": "Error: 지정한 리비전이 이 문서의 것이 아닙니다.", + "m_0c08d9cc7b013e9a": "CONCURRENT_MODIFICATION", + "m_bb6e8cdce042d5d9": "draft 가 발급되었습니다.\n\n", + "m_f1b2a0a0ce744f91": "사용법:\n", + "m_5fdebda560bdaf13": " 1) 이어서 같은 title 로 patch_page / edit_section / create_or_update_page 를 호출하면 이 draft 에 누적됩니다 (사용자×슬러그당 1개).\n", + "m_96af99f246616c9a": " 2) read_draft(title) 로 진행 중 본문 확인.\n", + "m_14633f93c811369e": " 3) 편집이 끝나면 commit_edit(draft_id, summary) 로 1개 리비전을 만들어 저장하세요.\n", + "m_c6df720ffe5dbfaf": " 4) 폐기하려면 discard_edit(draft_id).\n", + "m_c5653e410b295271": " 5) 마지막 활동 이후 12시간이 지나면 자정 크론이 자동 삭제합니다.\n", + "m_2dc8566bc0bc2a8b": " 6) commit 시점에 base_revision_id 가 변하면(=다른 사용자가 페이지 수정) conflict 로 거부됩니다 — discard 후 read_document 로 최신을 다시 읽어 재구성하세요.", + "m_89fa221ff4b12753": "draft 가 갱신되었습니다. commit_edit(draft_id, summary) 로 저장하거나 discard_edit(draft_id) 로 폐기하세요.", + "m_b984971f61ea5da3": "MCP 서버로 제출된 \"__VIREO_SLOT_0__\" 문서 편집안이 존재합니다.", + "m_e085d4d2b72069cf": "MCP 편집안 제출", + "m_d562855ceec48d54": "Error: 슬러그에 사용할 수 없는 특수문자가 포함되어 있습니다.", + "m_e02821f6bffe9ca0": "Error: \"이미지:\" 네임스페이스는 admin-mcp 로 편집할 수 없습니다 (이미지 문서 전용).", + "m_51f6566a2dc68dac": "Error: \"map:\" 네임스페이스는 가상 트리 뷰 전용이므로 편집할 수 없습니다.", + "m_b3104adc425b92b3": "Error: content 는 문자열이어야 합니다.", + "m_ecc6b4ed43d3fa11": "Error: category 에는 특수문자를 사용할 수 없습니다.", + "m_66f6e8ed248c75ed": "Error: display_title 은 문자열 또는 null 이어야 합니다.", + "m_c79c864cbdc920ad": "Error: 대체 제목에 제어문자는 사용할 수 없습니다.", + "m_1ef45f2dd443d3e9": "Error: 대체 제목은 __VIREO_SLOT_0__자 이하여야 합니다.", + "m_ecd14a0b47bd02cf": " (소프트 삭제 상태 — 관리자 복원 또는 영구 삭제 필요)", + "m_06ab29e11e5de033": "Error: '__VIREO_SLOT_0__' 는 이미 다른 문서의 슬러그로 사용 중입니다.__VIREO_SLOT_1__", + "m_d37ce58985a8c6fb": "Error: '__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목으로 사용 중입니다.__VIREO_SLOT_1__", + "m_498cdf7a4578a46f": " (소프트 삭제 상태)", + "m_8d49255bd1e6c534": "Error: '__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목과 같아 슬러그로 사용할 수 없습니다.__VIREO_SLOT_1__", + "m_0be79ab877efcff9": "Error: 이미 존재하는 문서입니다. 수정하려면 create_only 를 false 로 설정하거나 patch_page 를 사용하세요.", + "m_1305aec62a88f8a3": "Error: 동일 슬러그의 소프트 삭제된 문서가 존재합니다. ", + "m_d71e674e7fab6572": "restore_page 로 복원해서 편집하거나 delete_page (hard=true) 로 영구 삭제 후 다시 생성하세요.", + "m_da391d05579986b7": "Error: 이 draft 는 이미 승인 대기로 제출된 상태입니다. 사용자가 mypage 에서 승인/거부할 때까지 수정할 수 없습니다. 폐기하려면 discard_edit 를 사용하세요.", + "m_b553e7b7164d38ae": "Error: \"이미지:\" 네임스페이스는 admin-mcp 로 편집할 수 없습니다.", + "m_1892d082de75f76e": "Error: old_string 은 비어있지 않은 문자열이어야 합니다.", + "m_59ce8f7fb9a9d57d": "Error: new_string 은 문자열이어야 합니다.", + "m_06adfdb126ca2f2d": "Error: 문서를 찾을 수 없거나 삭제된 상태입니다. 새 페이지는 create_or_update_page 로 시작하세요.", + "m_5215b013ba9c5c3e": "Error: old_string 을 (draft 가 있으면 draft 본문, 없으면 페이지 본문) 에서 찾을 수 없습니다.", + "m_c87c37f4896b20b5": "Error: old_string 이 본문 내에서 __VIREO_SLOT_0__번 발견되었습니다 (겹치는 매치 포함). ", + "m_84109eed126cc204": "고유하게 특정할 수 있도록 앞뒤 맥락(앞/뒤 줄)을 더 포함해 주세요.", + "m_bf29c154ae523703": "Error: section_number 가 필요합니다.", + "m_1be69df5082dfc07": "Error: new_content 는 문자열이어야 합니다.", + "m_6c36b8c1eeb7f782": "Error: 섹션 번호 \"__VIREO_SLOT_0__\" 를 본문에서 찾을 수 없습니다. ", + "m_d6939b8ab743c3cb": "read_draft 또는 get_toc(raw=true) 로 정확한 번호를 확인하세요.", + "m_5ee1357c836e3265": "Error: 변경 사항이 없습니다 (new_content 가 기존 섹션과 동일).", + "m_b61bfa2e7e9f6307": "Error: draft_id 는 양의 정수여야 합니다.", + "m_1e2db7eab1f0eda0": "Error: draft 를 찾을 수 없습니다 (이미 commit/discard 됐거나 12시간 TTL 만료).", + "m_06ef274dccd56546": "Error: 다른 사용자의 draft 는 commit 할 수 없습니다.", + "m_0c9d736ef7c1be1c": "Error: 이 draft 는 이미 승인 대기로 제출된 상태입니다. 사용자가 mypage 에서 승인/거부할 때까지 변경할 수 없습니다. 폐기하려면 discard_edit 를 사용하세요.", + "m_96a6516836c03caf": "페이지가 존재하지 않거나 그 사이 삭제되었습니다. discard_edit 후 상태를 확인하세요.", + "m_90150790f9c7a71e": "draft 가 시작된 시점 이후 다른 사용자가 페이지를 수정했습니다. discard_edit 후 read_document 로 최신 상태를 다시 읽고 편집을 재구성하세요.", + "m_90b56fb3e80e056e": "Error: '__VIREO_SLOT_0__' 는 이미 다른 문서의 슬러그입니다.__VIREO_SLOT_1__", + "m_9eeaa6a50cf56682": "Error: '__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목입니다.__VIREO_SLOT_1__", + "m_f2a2c84b1393640d": "Error: 이 draft 는 이미 승인 대기로 제출된 상태입니다 (동시 호출 race).", + "m_4f58ec5b5e4730aa": "승인 대기로 제출되었습니다. /mypage#mcp-submissions 에서 검토 후 승인하면 비로소 리비전이 생성됩니다.", + "m_87e7f7a96beea8fb": "draft 가 시작된 시점 이후 다른 사용자가 같은 슬러그로 페이지를 생성했습니다. discard_edit 후 read_document 로 확인하세요.", + "m_f5ce6ee4e62e8de6": "restore_page 로 복원해서 편집하거나 delete_page (hard=true) 후 다시 생성하세요.", + "m_45e2704a9530e5f8": "Error: '__VIREO_SLOT_0__' 는 다른 문서의 대체 제목과 충돌해 슬러그로 사용할 수 없습니다.", + "m_5797a6d9c5ecfc15": "Error: '__VIREO_SLOT_0__' 는 이미 다른 문서의 슬러그입니다.", + "m_2a061c6193cd4033": "Error: '__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목입니다.", + "m_d43fc755953e8e89": "승인 대기로 제출되었습니다. /mypage#mcp-submissions 에서 검토 후 승인하면 비로소 새 페이지가 생성됩니다.", + "m_d8488b87a42a88f5": "Error: 알 수 없는 draft action: __VIREO_SLOT_0__", + "m_71a4c23be8db3690": "Error: draft 를 찾을 수 없습니다 (이미 commit/discard 됐거나 TTL 만료).", + "m_a5438b3b7fb76bf4": "Error: 다른 사용자의 draft 는 discard 할 수 없습니다.", + "m_d023ab691dff7bd9": "Error: 문서를 찾을 수 없거나 삭제된 상태입니다.", + "m_d365748ab682796b": "Error: 가상 리비전으로는 되돌릴 수 없습니다.", + "m_59a499ddfeccdc0d": "Error: 본문이 영구 삭제된 리비전으로는 되돌릴 수 없습니다.", + "m_55c56ac0928877ec": "Error: 숨겨진 리비전으로는 되돌릴 수 없습니다.", + "m_694af6f9095a9def": "revert 도중 다른 사용자가 페이지를 수정했습니다. 다시 시도하세요 (revert_page 는 호출 시점의 페이지 버전을 기준으로 CAS 적용).", + "m_aa3a49af02c77e8c": "Error: 리비전 저장 실패 (__VIREO_SLOT_0__)", + "m_f4ec1684e2260eeb": "Error: 문서를 찾을 수 없거나 이미 삭제된 상태입니다.", + "m_a1dbee63d898ee47": "Error: 영구 삭제는 super_admin 만 가능합니다.", + "m_c8a7907ff37ab3c3": "[admin-mcp] 문서 영구 삭제: __VIREO_SLOT_0__", + "m_67fc323a30e1f44d": "Error: 문서 삭제 권한이 없습니다.", + "m_b80e25642871183c": "[admin-mcp] 문서 삭제: __VIREO_SLOT_0__", + "m_e71689f947fff666": "Error: 복원 권한이 없습니다.", + "m_c0cae7a74ebe04c8": "Error: \"이미지:\" 네임스페이스는 일반 문서로 복원할 수 없습니다.", + "m_0c5192f5f86de2aa": "Error: \"map:\" 네임스페이스는 가상 트리 뷰 전용이므로 복원할 수 없습니다.", + "m_f3cd5840152553ef": "Error: 문서가 삭제 상태가 아닙니다.", + "m_2f067521b8876bdb": "[admin-mcp] 문서 복원: __VIREO_SLOT_0__", + "m_14e60317e5fae82c": "Error: title 과 new_title 이 모두 필요합니다.", + "m_cb1a1e273aea7b04": "Error: 동일한 슬러그로는 이동할 수 없습니다.", + "m_856dd2df08c4246a": "Error: 새 슬러그에 사용할 수 없는 특수문자가 포함되어 있습니다.", + "m_cc9846e90f9e828a": "Error: \"이미지:\" 네임스페이스는 이동 대상이 될 수 없습니다.", + "m_1cc7261dc2df7fdf": "Error: \"map:\" 네임스페이스는 가상 트리 뷰 전용이므로 이동 대상이 될 수 없습니다.", + "m_0146467f26ec73c6": "Error: 네임스페이스가 있는 문서는 다른 네임스페이스로 이동할 수 없습니다.", + "m_0b5af618752913e3": "Error: 관리자 전용 문서는 관리자만 이동할 수 있습니다.", + "m_fdfa5a2d5f78e542": "Error: 새 슬러그가 이미 존재합니다.__VIREO_SLOT_0__", + "m_5c8f76d6c556ba92": "Error: '__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목과 같아 사용할 수 없습니다.__VIREO_SLOT_1__", + "m_f9b2c39ea47d991a": "[이동] 주소 변경: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_8f525ba61830ea2f": "Error: 새 슬러그가 다른 문서와 충돌합니다. 다시 시도해주세요.", + "m_ff744d061f41f00f": "[admin-mcp] 문서 이동: __VIREO_SLOT_0__ → __VIREO_SLOT_1____VIREO_SLOT_2__", + "m_dd24a86b62797590": " (역링크 __VIREO_SLOT_0__개 갱신)", + "m_2f1b7032fa67d995": "Error: title 은 문자열이어야 합니다.", + "m_9952e26982704b4f": "Error: 제목을 입력해주세요.", + "m_e602bd6e22f66637": "Error: 제목은 500자 이내여야 합니다.", + "m_455e32fcc4e8b0c4": "Error: 저장 실패", + "m_9e203cd85a24d16a": "[admin-mcp] 블로그 작성: __VIREO_SLOT_0__", + "m_6dcf73d828a63cfe": "Error: id 는 양의 정수여야 합니다.", + "m_a2251307d59448a7": "Error: title 또는 content 중 하나 이상을 지정해야 합니다.", + "m_6eec2c670cd0b15c": "Error: 블로그 포스트를 찾을 수 없거나 삭제된 상태입니다.", + "m_c0149a7404a737ca": "[admin-mcp] 블로그 수정: __VIREO_SLOT_0__", + "m_2387e771a93389a0": "Error: 블로그 포스트를 찾을 수 없습니다.", + "m_a92db503150b6878": "Error: 이미 삭제된 포스트입니다.", + "m_f0f10112368b9417": "[admin-mcp] 블로그 삭제: __VIREO_SLOT_0__", + "m_a27088cdebc322b3": "Error: 삭제 상태가 아닌 포스트입니다.", + "m_43d079b80e1d56b8": "[admin-mcp] 블로그 복원: __VIREO_SLOT_0__", + "m_f16fe8e4ae090a74": "Error: category 를 지정해야 합니다.", + "m_f0c82c07ff59de9e": "Error: \"이미지:\" 네임스페이스는 admin-mcp 로 상태를 변경할 수 없습니다.", + "m_42d48256ecd34d50": "Error: \"map:\" 네임스페이스는 가상 트리 뷰 전용이므로 상태를 변경할 수 없습니다.", + "m_78742118a5af3c36": "Error: 관리자 전용 문서의 상태는 관리자만 변경할 수 있습니다.", + "m_83c94bc5f7b7e6de": "요청된 카테고리가 이미 현재 값과 동일합니다.", + "m_d1d6083885279cd5": "[admin-mcp] 문서 상태 변경: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_52ab88f8136b6083": "\n\n## 편집 보조 읽기 도구 (현재 인증된 사용자: __VIREO_SLOT_0__)\n__VIREO_SLOT_1__", + "m_52daaee07eb4aa72": "\n\n## 편집 도구\n\n사용 가능한 편집 도구는 다음과 같습니다.\n\n", + "m_a995ff0df25d25e8": "\n\n리비전 summary 에 [MCP] 접두가 붙습니다 (draft 단계는 기록 없음).", + "m_eaecb784ae99da46": "**즉시 적용** (draft 모델 미사용): revert_page.\n\n", + "m_784c7704a3a2f0ae": "\n\n## 편집 도구\n\n", + "m_1e1c4a998b7b2f1c": "**stateful draft 모델**: create_or_update_page / patch_page / edit_section 은 즉시 저장하지 않고 `mcp_drafts` 에 누적합니다 ", + "m_da4c2b335f807689": "(같은 슬러그에 대해 사용자별 1개). 응답으로 `draft_id` 를 받고, 편집이 끝나면 commit_edit(draft_id, summary) 를 호출해 ", + "m_dde3f09c6f760e12": "승인 대기로 제출합니다 — 사용자가 /mypage#mcp-submissions 에서 승인해야 비로소 리비전이 생성됩니다. 시작 시점 이후 다른 사용자가 페이지를 수정했으면 commit_edit 가 충돌로 거부합니다 ", + "m_a1d93a929874828a": "(이 경우 discard_edit 후 read_document 로 최신 상태를 다시 읽고 편집을 재구성). draft 는 마지막 활동 이후 12시간이 지나면 자동 삭제됩니다.\n\n", + "m_df9d818634c94050": "**⚠️ 헤딩 작성 규칙**: 위키는 헤딩(##, ###, ...)에 자동으로 계층 번호(\"1.\", \"1.1.\" 등)를 부여합니다. ", + "m_edb211a446241a10": "목차 내 다른 섹션을 참조할 때는 `[[문서#s-1.2]]` 형식의 섹션 앵커를 사용하세요.\n\n", + "m_2364117719f3a8b3": "**항상 승인 대기로 제출**: commit_edit 를 호출하면 draft 는 즉시 리비전이 되지 않고 OAuth 토큰 소유자(=이 MCP 를 연결한 본인) 에게 승인 대기로 제출됩니다. ", + "m_6bd1943582da2fb4": "본인이 마이페이지 / 알림 / 문서 배너에서 검토 후 승인해야 비로소 리비전이 만들어집니다. 거부 시 draft 는 폐기됩니다. ", + "m_3018916d76962e2b": "승인 대기 상태 draft 는 list_drafts / read_draft 의 `status` 필드가 `pending_approval` 로 표시되며, AI 측에서는 더 이상 수정할 수 없습니다 (discard_edit 로 폐기만 가능).\n\n", + "m_6bb8551b26be9ae0": "\n\n## 관리자 전용 읽기 도구 (현재 인증된 관리자: __VIREO_SLOT_0__)\n__VIREO_SLOT_1__", + "m_7434f1ab7d74a574": "\n\n## 관리자 전용 편집 도구 (즉시 적용)\n", + "m_ea679e2e44dc658c": "잘못된 권한입니다.", + "m_e380992be8c63526": "유저를 찾을 수 없습니다.", + "m_df76d4b07bcc4ab1": "최고 관리자의 권한은 변경할 수 없습니다.", + "m_134929c0476fe5be": "관리자 임명/해제는 최고 관리자만 가능합니다.", + "m_f8876d2c7b783ca4": "유저 #__VIREO_SLOT_0__(__VIREO_SLOT_1__)의 권한을 '__VIREO_SLOT_2__'(으)로 변경", + "m_645f32deb057bd92": "올바른 기간을 입력하세요.", + "m_1f541562fd01c78c": "최고 관리자는 차단할 수 없습니다.", + "m_3ed6d4e354c838b3": "관리자는 다른 관리자를 차단할 수 없습니다.", + "m_abb4a8d8ac94c992": "관리자에 의해 __VIREO_SLOT_0__일간 차단되었습니다.", + "m_a9565509464e86d1": "차단 안내", + "m_069ae175a607723e": "유저 #__VIREO_SLOT_0__(__VIREO_SLOT_1__) 차단 해제", + "m_5db36d624bb88e41": "유저 #__VIREO_SLOT_0__(__VIREO_SLOT_1__)를 __VIREO_SLOT_2__일간 차단", + "m_6065324cc601db46": "제목은 200자 이하여야 합니다.", + "m_721e85fe55a6dfc1": "URL 은 http(s):// 또는 / 로 시작해야 합니다.", + "m_cd6ca34f9c9274eb": "postId 가 올바르지 않습니다.", + "m_0a9a88e363952e3f": "존재하지 않는 블로그 포스트입니다.", + "m_fb575a3d25163990": "아이콘 형식이 올바르지 않습니다.", + "m_8faf5b2e2a4160c8": "해당 블로그 포스트는 이미 공지로 발행되어 있습니다.", + "m_dd77fc076afa8ac6": "공지 발행: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"__VIREO_SLOT_2__", + "m_4ca9f71978de0cc6": "id 가 올바르지 않습니다.", + "m_8941843751b73156": "공지를 찾을 수 없습니다.", + "m_159b9a7741b2361c": "공지 수정: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_1f2acd38d1fdb703": "공지 철회: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_279a839056ee1c30": "order 는 배열이어야 합니다.", + "m_414eef8d5089d64b": "중복된 ID 가 있습니다.", + "m_ce643349a6112764": "현재 공지 ID 와 일치해야 합니다.", + "m_7b2942f9fc5aa0db": "공지 순서 변경", + "m_8c9c3d9c42be0512": "direction 은 up 또는 down 이어야 합니다.", + "m_e547850637ba3ade": "공지 이동: #__VIREO_SLOT_0__ __VIREO_SLOT_1__", + "m_4e9dad53d17ad6f9": "사이트 전역 설정은 최고 관리자만 변경할 수 있습니다.", + "m_c3f42c4127677ace": "-1 이상의 정수를 입력하세요.", + "m_3926d37021dd5bac": "회원가입 정책은 \"open\" 또는 \"approval\"만 가능합니다.", + "m_dd73227944f3b24e": "편집 ACL 가입 일수 임계값은 0 이상 36500 이하의 정수여야 합니다.", + "m_f95cea1cbd17aed8": "전역 설정 변경", + "m_3b95ca231fd78ac9": "위키 설정 변경: __VIREO_SLOT_0__", + "m_cb74b7f1f6aa5aba": "잘못된 상태 값입니다.", + "m_3aefa99fa362ec14": "가입 신청을 찾을 수 없습니다.", + "m_26bf3a5c77a1d6e8": "이미 처리된 신청입니다.", + "m_3207e71f669e7d66": "이미 동일한 이메일로 가입된 사용자가 있습니다.", + "m_fe7c2184c6281693": "가입이 승인되었습니다", + "m_f3b0e304fe72ea17": "__VIREO_SLOT_0__님, __VIREO_SLOT_1__에 오신 것을 환영합니다.", + "m_807b32fb748e5ea0": "위키", + "m_4ac9e18d389472c1": "가입 신청 승인: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_6b2aba4efe8db65a": "가입 신청 결과", + "m_82b589a40a35bb0b": "가입 신청이 거절되었습니다. 다시 신청하실 수 있습니다.", + "m_b961ccd0211a154b": "가입 신청 거절: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_128abb2d38023dfd": "가입이 차단되어 더 이상 신청하실 수 없습니다.", + "m_57304c35b2c1ae2b": "가입 신청 차단: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_ba456591ad3e7df7": "카테고리 이름을 입력해주세요.", + "m_780a4f6da8ad2e1a": "카테고리 추가: __VIREO_SLOT_0__", + "m_d29e8f3e8ffd04bb": "이미 존재하는 카테고리입니다.", + "m_8baac37faa1da152": "카테고리를 찾을 수 없습니다.", + "m_c464bf2bb778ec11": "카테고리 삭제: __VIREO_SLOT_0__", + "m_fd04e6fd149684a1": "name 이 비어 있습니다.", + "m_592c3fe662fb1c68": "카테고리 이름에 사용할 수 없는 문자가 포함되어 있습니다.", + "m_a5312718c2987eb0": "카테고리 ACL 비활성: __VIREO_SLOT_0__", + "m_0c200cb9ffbed5e8": "카테고리 ACL 변경: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_4bc80e3d2f3e6ed7": "카테고리 ACL 행이 없습니다.", + "m_0c643c63a7d091cb": "카테고리 ACL 삭제: __VIREO_SLOT_0__ (legacy=__VIREO_SLOT_1__)", + "m_b3caf5b30c7fbe72": "한 번에 처리할 수 있는 문서는 __VIREO_SLOT_0__개까지입니다.", + "m_74ae499212b6752f": "[권한] 편집 ACL 변경: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_3e3bc59fe5cbacc5": "카테고리 ACL 일괄 적용: __VIREO_SLOT_0__ (모드=__VIREO_SLOT_1__, 스캔=__VIREO_SLOT_2__, 변경=__VIREO_SLOT_3__/__VIREO_SLOT_4____VIREO_SLOT_5__)", + "m_18d2ef3481b14747": ", 템플릿저장", + "m_1276de4f2ff69f84": "최고 관리자만 사용할 수 있습니다.", + "m_85e145de59c5d3f3": "[[이미지:__VIREO_SLOT_0__]]", + "m_ce322b2939e689ee": "[[이미지:__VIREO_SLOT_0__|", + "m_3ef3cc43b593206d": "[[이미지:__VIREO_SLOT_0__#", + "m_5f125601b256554e": "한 번에 최대 __VIREO_SLOT_0__개까지만 삭제할 수 있습니다.", + "m_19f204595de41ff1": "ID __VIREO_SLOT_0__: 이미지를 찾을 수 없음", + "m_d1f4b10ae2b81356": "__VIREO_SLOT_0__: 현재 사용 중인 이미지", + "m_b0f36928bf289681": "쓰레기 수집: __VIREO_SLOT_0__개 미사용 이미지 삭제", + "m_9c0935a851d6062d": "이미지를 찾을 수 없습니다.", + "m_4ffa12c344dee170": "미디어 삭제: __VIREO_SLOT_0__", + "m_c0be3b1a827e4c76": "prefix 를 입력해주세요.", + "m_5a85f5d54b42fdd3": "prefix 는 최대 200자까지 입력할 수 있습니다.", + "m_496b6b1ade3a4e6a": "prefix 에 제어문자를 사용할 수 없습니다.", + "m_1aee0ae203eabd47": "scanPrefixSubpages: disallowed column '__VIREO_SLOT_0__'", + "m_6246136884f91732": "카테고리에는 한글/영문/숫자/공백/쉼표만 사용할 수 있습니다.", + "m_bc7101092992ca04": "자동 카테고리 규칙 저장: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_b9e3e99701625ec3": "규칙을 찾을 수 없습니다.", + "m_865de98deb7295d1": "자동 카테고리 규칙 삭제: __VIREO_SLOT_0__", + "m_a7cfdc8a772d1f56": "하위 문서가 너무 많아 일괄 모달에서 다룰 수 없습니다 (__VIREO_SLOT_0__건, 한도 __VIREO_SLOT_1__). 더 깊은 prefix 로 분할해주세요.", + "m_ddbda3182182b4aa": "적용할 문서를 선택하거나 자동 규칙으로 저장 옵션을 켜주세요.", + "m_1fba32a0382881be": "하위 문서 카테고리 관리: __VIREO_SLOT_0__/** (스캔=__VIREO_SLOT_1__, 추가=__VIREO_SLOT_2__/__VIREO_SLOT_3__, 제거=__VIREO_SLOT_4__/__VIREO_SLOT_5__, categories=__VIREO_SLOT_6____VIREO_SLOT_7__)", + "m_d34070e2c5d7788f": ", 규칙저장", + "m_d8c31374d308ba44": "플래그 값은 0, 1, null 중 하나여야 합니다.", + "m_e71b631ca9300163": "categories 는 쉼표 구분 문자열이어야 합니다.", + "m_129ad77a88ffe229": "비공개/편집 ACL/카테고리 중 적어도 한 항목은 규칙을 지정해야 합니다.", + "m_d54c013d31143bba": "자동 문서 설정 규칙 저장: __VIREO_SLOT_0__ → private=__VIREO_SLOT_1__, edit_acl=__VIREO_SLOT_2__, categories=__VIREO_SLOT_3__", + "m_9d02d96d16f78ae8": "자동 문서 설정 규칙 삭제: __VIREO_SLOT_0__", + "m_ead44cdfaef58eda": "privateAction 은 'none'|'on'|'off' 중 하나여야 합니다.", + "m_85b9bf60faf26a87": "aclAction='set' 일 때 aclValue 가 비어 있습니다. 비활성은 'clear' 를 사용하세요.", + "m_3068682e59372c1d": "변경할 설정을 선택하거나 자동 규칙으로 저장 옵션을 켜주세요.", + "m_d572c78b8583fa19": "편집 ACL 변경: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_fb140132c244fc1e": "비공개 설정 __VIREO_SLOT_0__", + "m_7deba0b2c89d4723": "[권한] __VIREO_SLOT_0__", + "m_39da805aa28f9199": "자동 규칙으로 저장하려면 비공개/편집 ACL/카테고리 중 하나 이상을 지정해야 합니다.", + "m_9d34ec7de65bd465": "하위 문서 설정 관리: __VIREO_SLOT_0__/** (스캔=__VIREO_SLOT_1__, 변경=__VIREO_SLOT_2__/__VIREO_SLOT_3__, private=__VIREO_SLOT_4__, acl=__VIREO_SLOT_5__, cats=__VIREO_SLOT_6____VIREO_SLOT_7__)", + "m_cbcbb3a4f3b94b1d": "slug 가 비어 있습니다.", + "m_26d991ce5ab3d99d": "문서 편집 ACL 변경: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_167335d1fe4b72af": "is_private 는 0 또는 1 이어야 합니다.", + "m_9ee87e5f6318909d": "[권한] 비공개 설정 __VIREO_SLOT_0__", + "m_191a136b0fb06b11": "문서 플래그 변경: __VIREO_SLOT_0__ → 비공개 __VIREO_SLOT_1__", + "m_d8487cf70ba43a40": "허용되지 않은 색상 값입니다: __VIREO_SLOT_0__", + "m_08a6adb370b3919b": "bg 또는 color 값을 최소 1개 입력해주세요.", + "m_9c15cffdb22483bf": "요청 본문이 올바르지 않습니다.", + "m_9c95023c39a049f1": "팔레트 이름은 영문/숫자/언더스코어/하이픈 1~64자만 사용할 수 있습니다.", + "m_32b4508fa9dae6fe": "'__VIREO_SLOT_0__' 은 하드코딩 프리셋과 겹치므로 사용할 수 없습니다.", + "m_c43cbd277bab8e60": "팔레트 저장: __VIREO_SLOT_0__", + "m_f8a8daac0ad531d0": "잘못된 팔레트 이름입니다.", + "m_a3529e228f5f66d5": "팔레트를 찾을 수 없습니다.", + "m_de6063acba84ba4a": "팔레트 삭제: __VIREO_SLOT_0__", + "m_41a6a0a71ad6255d": "관리자 잡 러너(ADMIN_JOB_DO)가 비활성화되어 있습니다. DO 전용 Worker(cloudwiki-do)를 배포하고 wrangler.toml 의 Durable Object 바인딩(script_name)을 구성한 뒤 배포하세요. → docs/durable-object-worker.md", + "m_3a0a5279aa52b485": "알 수 없는 잡 유형입니다.", + "m_de2dcb8236fb280d": "mode 는 'soft' 또는 'hard' 여야 합니다.", + "m_e6a33083a9e9c7ac": "찾을 내용(find)을 입력하세요.", + "m_9ff821ce3db62627": "찾을 내용과 바꿀 내용이 동일합니다.", + "m_51ddd7ceb38ce1db": "이동할 문서를 찾을 수 없습니다.", + "m_38dafb8bfccdd2b3": "대량 잡 시작: __VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__", + "m_9f9ae346568f9372": " (__VIREO_SLOT_0__건)", + "m_562eb6e6e08ecf12": " [재개]", + "m_a6d38c860b371436": "Analytics API 자격 증명이 설정되지 않았습니다. 누락: [__VIREO_SLOT_0__]. Cloudflare 대시보드 > Workers > Settings > Variables and Secrets에서 추가해주세요.", + "m_69ce7e22c1a4418a": "계정 생성에 실패했습니다. 다시 시도해주세요.", + "m_91056188b8bd82f5": "This auth provider is not enabled", + "m_0b0a009c6e0d2392": "유효하지 않은 요청입니다.", + "m_2d794ec3450db6d9": "표시명을 입력해주세요.", + "m_7643eee1fec028c1": "토큰이 만료되었거나 유효하지 않습니다. 다시 로그인해주세요.", + "m_56f965926b7480df": "이미 사용 중인 표시명입니다. 다른 이름을 입력해주세요.", + "m_5826cddf7a82ad72": "이미 가입 신청이 대기 중입니다.", + "m_327c9350ca756d45": "가입이 차단된 계정입니다.", + "m_6f19362b18609eca": "__VIREO_SLOT_0__님이 가입을 신청했습니다.", + "m_4526bb77acb750ca": "새 가입 신청", + "m_fb2a59509c237625": "가입 신청이 접수되었습니다.", + "m_09a7d1a34a1a0499": "이름은 20자 이내로 입력해주세요.", + "m_6e6081e97b258993": "이미 사용 중인 이름입니다. 다른 이름을 입력해주세요.", + "m_cb3f916fc4494942": "표시명 변경이 비활성화되어 있습니다.", + "m_62d177927d381e8b": "표시명 변경 쿨다운 중입니다. __VIREO_SLOT_0__일 후에 다시 시도해주세요.", + "m_38aeb838f7210142": "private 값은 boolean 이어야 합니다.", + "m_dde0a1dfc274b96c": "enabled 값은 boolean 이어야 합니다.", + "m_20063338c854c210": "disabled_tools 는 최대 __VIREO_SLOT_0__개까지 지정할 수 있습니다.", + "m_dfbe4914812f5eb8": "disabled_tools 배열은 비어 있지 않은 문자열만 포함해야 합니다.", + "m_c57d23e2227455dd": "도구명이 너무 깁니다 (최대 __VIREO_SLOT_0__자): __VIREO_SLOT_1__", + "m_c856fd84454cb427": "알 수 없는 MCP 도구입니다: __VIREO_SLOT_0__", + "m_8b3ea246b148f1d8": "내 권한에 제공되지 않는 MCP 도구입니다: __VIREO_SLOT_0__", + "m_39417eb13711a600": "{ tool, enabled } / { disabled_tools } / { all } 중 정확히 하나의 형식으로 보내주세요.", + "m_0bef21ce8365a5b6": "all 값은 boolean 이어야 합니다.", + "m_94242844807e13bd": "disabled_tools 값은 문자열 배열이어야 합니다.", + "m_2f9af3198cc3cfde": "tool 값은 비어 있지 않은 문자열이어야 합니다.", + "m_548d9d62ca02ac46": "도구명이 너무 깁니다 (최대 __VIREO_SLOT_0__자).", + "m_2a3589cc660fb19f": "동시 변경과 충돌했습니다. 다시 시도해주세요.", + "m_77ad3d250f06060c": "표시명은 추후 변경이 불가능합니다.", + "m_82cfd7aded4a3df1": "표시명은 추후 변경이 가능합니다.", + "m_60e2e82e72e9ebde": "__VIREO_SLOT_0__일 후에 표시명을 변경할 수 있습니다.", + "m_b5d6bd814801c17d": "유효하지 않은 사용자 ID입니다.", + "m_7302886fb9864551": "현재 세션은 로그아웃 메뉴로 종료해주세요.", + "m_74c05839d304bdfe": "세션을 찾을 수 없습니다.", + "m_e7ef0b5a2cfcf48a": "잘못된 client_id 입니다.", + "m_b41bd74a953f9f20": "연결된 활성 토큰이 없습니다.", + "m_b0ab1fe7e298522d": "DB에 mcp_api_keys 테이블이 존재하지 않습니다. 마이데이터 마이그레이션을 먼저 적용해주십시오.", + "m_e79216fda2e57c4b": "API 키 발급 중 오류가 발생했습니다.", + "m_72d84e45143f4230": "DB에 mcp_api_keys 테이블이 존재하지 않습니다.", + "m_6bd046e4ebef3a3b": "API 키 삭제 중 오류가 발생했습니다.", + "m_053bc65874ad6098": "Discord", + "m_c19f90377ab6e2c9": "로그인 요청이 올바르지 않습니다. 다시 시도해주세요.", + "m_bbb52cca8cca84f1": "로그인 세션이 만료되었거나 유효하지 않습니다. 다시 시도해주세요.", + "m_fbfc48924eda24a4": "로그인 세션이 올바르지 않습니다. 다시 시도해주세요.", + "m_dd3940b67e5e416c": "로그인 세션이 유효하지 않습니다. 다시 시도해주세요.", + "m_ce770667e5f9b0d8": "Google", + "m_d2b0e22ce6848f49": "NodeLoc", + "m_f60c824125e6408e": "Invalid JSON", + "m_877f03b47ea6c52b": "title은 문자열이어야 합니다.", + "m_8dd4e38868d9e2ba": "content는 문자열이어야 합니다.", + "m_c9a7bb5bfc3daffd": "제목은 500자 이내여야 합니다.", + "m_589c6079fe4fd614": "블로그 작성: __VIREO_SLOT_0__", + "m_dfe13dc6a95de8ac": "블로그 수정: __VIREO_SLOT_0__", + "m_43389606b46c0865": "영구 삭제는 최고 관리자만 가능합니다.", + "m_3d13a68580ebd7d4": "블로그 영구 삭제: __VIREO_SLOT_0__", + "m_5ae1150363fc7430": "블로그 포스트가 영구 삭제되었습니다.", + "m_e18dca82ed4affb8": "이미 삭제된 포스트입니다.", + "m_99fd6c450b6f66ea": "블로그 삭제: __VIREO_SLOT_0__", + "m_122b952526e327eb": "공지 취소__VIREO_SLOT_0__", + "m_30646c645d38dae7": "제목은 문자열이어야 합니다.", + "m_4a56a9fd9cd50e72": "해당 포스트는 이미 공지로 발행되어 있습니다.", + "m_5269372cce84ab59": "공지 발행: blog#__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_43f6b5f54afb6f6e": "토론 제목을 입력해주세요.", + "m_589412d24ed3a617": "토론 내용을 입력해주세요.", + "m_60167e66b99afbb1": "'__VIREO_SLOT_0__' 토론에서 회원님을 언급했습니다.", + "m_262938999161fa7c": "토론을 찾을 수 없습니다.", + "m_dff9cab3adad9f5f": "삭제된 토론입니다.", + "m_223fe5dd823bd69d": "댓글 내용을 입력해주세요.", + "m_1c01e15935816b50": "닫힌 토론에는 댓글을 작성할 수 없습니다.", + "m_887a3d6748f61f1b": "원본 댓글을 찾을 수 없습니다.", + "m_417980f272a6a783": "'__VIREO_SLOT_0__' 토론에 새 댓글이 달렸습니다.", + "m_21e074f59c6a9b9b": "올바른 상태값이 아닙니다.", + "m_c6ab4ba1441ff48f": "토론 상태를 변경할 권한이 없습니다.", + "m_5a8f94f360fbf077": "권한이 부족합니다.", + "m_b6d12020a3b7d027": "이미 삭제된 토론입니다.", + "m_3a98a9bf830588d5": "최고 관리자만 완전 삭제할 수 있습니다.", + "m_cf7600fc999a9f1c": "댓글을 찾을 수 없습니다.", + "m_cfbd9cf6e8eb8640": "이미 삭제된 댓글입니다.", + "m_b5121d5901351eee": "invalid id", + "m_907ba78b4545338d": "not found", + "m_1ca486cacad6b85c": "wiki:edit 권한이 필요합니다.", + "m_9ea12fcade96d6c6": "MCP is disabled by administrator.", + "m_97b1d0e9352ff0e8": "Invalid Request", + "m_88e1ad2ef29f64aa": "__VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__\n\n사용 가능한 MCP 도구: __VIREO_SLOT_3__. 각 도구의 세부 설명은 information 도구를 호출하여 확인할 수 있습니다.", + "m_1687ca861ac0fc1a": "Tool not found: __VIREO_SLOT_0__", + "m_1565658bee898960": " (__VIREO_SLOT_0__줄, __VIREO_SLOT_1__자)", + "m_f8b228b84e8c7ec3": "Error: titles 배열이 비어있습니다.", + "m_4f55b2936a8b3083": "Error: 한 번에 최대 __VIREO_SLOT_0__개까지만 읽을 수 있습니다.", + "m_eb0ae25c805719e8": "Error: parent_title이 비어있습니다.", + "m_1c6d5cc54aa2f804": "'__VIREO_SLOT_0__' 의 하위 문서가 없습니다.", + "m_91b1d604c6a79dc1": "Error: page __VIREO_SLOT_0__ 에 해당하는 문서가 없습니다. (총 __VIREO_SLOT_1__개, __VIREO_SLOT_2__페이지)", + "m_bf3875a1193f72fc": "Error: titles 또는 parent_title 중 하나를 지정해야 합니다.", + "m_1ed6ec4afa33ec94": "raw 데이터는 읽을 수 없습니다.", + "m_860a4031f34189c8": "문서를 찾을 수 없거나 비공개/삭제 상태입니다.", + "m_9cf50c843d60bb0c": "목차가 존재하지 않습니다.", + "m_77453d7811852f91": "문서 내용이 존재하지 않습니다.", + "m_85e275d5ef4ec4a4": " [읽지 않음]", + "m_941ff4d0ab2b99a0": " (읽기 실패: __VIREO_SLOT_0__)", + "m_5f16df86699bf330": " (문서 없음)", + "m_54b4e95a62973ac7": "\n\n문서가 없는 항목 (__VIREO_SLOT_0__):\n__VIREO_SLOT_1__", + "m_aefaf421ef468334": "\n\n읽지 못한 문서 (__VIREO_SLOT_0__):\n", + "m_7544e51d0c96b835": "\n\n페이지: __VIREO_SLOT_0__/__VIREO_SLOT_1__ (총 __VIREO_SLOT_2__개, 페이지 크기 __VIREO_SLOT_3__)", + "m_5782856f6d5f2e59": " — 다음 페이지: page=__VIREO_SLOT_0__", + "m_0b1d2015ee6520c8": "\n주의: 하위 문서가 총 __VIREO_SLOT_0__개로 응답 트리 표시 한도(__VIREO_SLOT_1__개)를 초과합니다. 트리에는 일부만 표시되지만, page 파라미터로 모든 문서에 도달할 수 있습니다.", + "m_76a8d3dec65a9b1c": " [읽음]", + "m_b2c45b087fd5f353": "[읽음]", + "m_ffa08a1fa0c0965f": "[읽지 않음]", + "m_426bc375e8ffcda0": "하위 문서가 총 __VIREO_SLOT_0__개로 응답 트리 표시 한도(__VIREO_SLOT_1__개)를 초과합니다. 트리에는 일부만 표시되지만, page 파라미터로 모든 문서를 페이지네이션으로 조회할 수 있습니다.", + "m_628e02135c1c8ea4": "Error: page __VIREO_SLOT_0__ 에 해당하는 블로그 포스트가 없습니다. (총 __VIREO_SLOT_1__개, __VIREO_SLOT_2__페이지)", + "m_2775d221b3599514": "Error: 블로그 포스트를 찾을 수 없거나 삭제되었습니다.", + "m_0cad64d1db2dc4d6": "포스트 내용이 존재하지 않습니다.", + "m_8fb588328fcea157": "해당 목차를 찾을 수 없습니다.", + "m_a362d1ab7712da5f": "Method not found", + "m_70f6bd48df9de855": "on* 이벤트 핸들러", + "m_9165b0be705d22d2": "javascript: URL", + "m_383f5da44ca83bfa": "파일명에 사용할 수 없는 문자가 포함되어 있습니다. ([ ] ( ) # % | < > ^ / \\ . ? \" ' 공백 등은 사용할 수 없습니다)", + "m_49e06d52b004e661": "파일명은 최대 100자까지 입력할 수 있습니다.", + "m_709923cc1913c54a": "파일이 없습니다.", + "m_4dc3da9504a07d7e": "허용되지 않는 파일 형식입니다. (허용: __VIREO_SLOT_0__)", + "m_50d94ab00cdbc89f": "파일 크기는 __VIREO_SLOT_0__MB 이하만 허용됩니다.", + "m_27debb2125262c5f": "보안상 허용되지 않는 SVG입니다. (__VIREO_SLOT_0__ 포함)", + "m_a1637f65b48e9a28": "본문은 최대 20000자까지 입력할 수 있습니다.", + "m_a5fe16f447fa51b3": "접근이 거부되었습니다.", + "m_ac4b2abda2994c79": "잘못된 경로입니다.", + "m_126d6015a3288239": "파일을 찾을 수 없습니다.", + "m_4c8911ca66612cb4": "link 파라미터가 필요합니다.", + "m_e3557c550ab973d5": "잘못된 알림 ID 입니다.", + "m_1a974badb6e47009": "알림을 찾을 수 없습니다.", + "m_0f410dd168933fef": "쪽지 내용을 입력해주세요.", + "m_89975bae3b090120": "수신자를 지정해주세요.", + "m_724b58cf4d967d21": "자기 자신에게 쪽지를 보낼 수 없습니다.", + "m_70a66c8ef6d4b156": "수신자를 찾을 수 없습니다.", + "m_4838f659f04b4d4f": "탈퇴한 사용자에게는 쪽지를 보낼 수 없습니다.", + "m_8a1213b5ecd8904b": "차단된 계정은 관리자에게만 쪽지를 보낼 수 있습니다.", + "m_154d463aa34cb9a0": "개인 쪽지가 비활성화 상태입니다.", + "m_959db104077054ad": "답장 권한이 없습니다.", + "m_ee608891fa7c8c85": "__VIREO_SLOT_0__님이 쪽지를 보냈습니다.", + "m_5277a4f4f1272fba": "__VIREO_SLOT_0__님의 쪽지", + "m_0994aca6a079dc8b": "권한이 없거나 쪽지를 찾을 수 없습니다.", + "m_066622ae90180124": "쪽지를 찾을 수 없습니다.", + "m_a20ccb3e6b01e324": "권한이 없습니다.", + "m_b0f75f3dc9842745": "Malformed Basic auth header", + "m_78476174b943f7e1": "client_id is required", + "m_f55a618c340a0a6e": "Unknown client_id", + "m_7833b9b21edde940": "client_secret required", + "m_968b0883b33214e5": "Bad client_secret", + "m_7e829c4373ba6c5e": "문서 읽기/검색에 더해, 관리자 권한으로 위키 문서의 편집·이동·삭제·복원·되돌리기까지 자동 수행할 수 있습니다.", + "m_4e0fe9efd211ae39": "위키 문서의 읽기·검색·목차 조회 등 읽기 전용 도구만 사용할 수 있습니다.", + "m_30fb6083119efa6a": "

              승인하면 이 클라이언트는 당신의 관리자 권한으로 위키 문서를 자동 편집/삭제할 수 있습니다. 신뢰하는 클라이언트만 승인하세요.

              ", + "m_04fe776508260fc8": "MCP 접근 승인 — __VIREO_SLOT_0__\n\n
              \n

              MCP 접근 승인

              \n

              __VIREO_SLOT_1__ 님, 외부 클라이언트가 __VIREO_SLOT_2__ 의 MCP 서버에 접근하려고 합니다. __VIREO_SLOT_3__

              \n
              \n
              클라이언트 ID
              __VIREO_SLOT_4__
              \n
              리다이렉트 URI
              __VIREO_SLOT_5__
              \n
              요청 권한
              __VIREO_SLOT_6__
              \n
              \n__VIREO_SLOT_7__\n
              \n \n \n \n \n \n \n \n \n
              \n
              ", + "m_97e5ea25d19547a9": "권한 없음 — __VIREO_SLOT_0__\n\n

              접근 권한이 없습니다

              __VIREO_SLOT_1__ 님은 MCP 서버에 접근할 권한이 없습니다. 권한이 있는 계정으로 로그인한 뒤 다시 시도해주세요.

              ", + "m_5bb43e8304b378be": " (요청 승인 : [__VIREO_SLOT_0__|__VIREO_SLOT_1__])", + "m_5eebf5ac5d01b73b": "이 문서는 관리자만 검토할 수 있습니다.", + "m_d69a86f59913aeab": "이 문서를 검토할 권한이 부족합니다.", + "m_bffb6dc50a4f0cc5": "원 편집자 계정을 찾을 수 없습니다.", + "m_f504b0f8c23b04cd": "'__VIREO_SLOT_0__' 는 이미 다른 문서의 제목입니다.", + "m_11d121b9c8d723da": "'__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목입니다.", + "m_9ac80908b87081cb": "\"__VIREO_SLOT_0__\" 편집 요청이 승인되어 반영되었습니다.", + "m_bda36aa7fb0cee8c": "편집 요청 승인 롤백: 추가 편집 반영 실패 (검토:__VIREO_SLOT_0__#__VIREO_SLOT_1__)", + "m_f43e9df8183c842d": "추가 편집 반영에 실패해 문서를 승인 직전 상태로 되돌렸습니다. 다시 시도해 주세요.", + "m_89aacb50123361b8": "그 사이 다른 편집이 반영되어 승인을 완료하지 못했습니다. 최신 본문 기준으로 다시 시도해 주세요.", + "m_17622610c3abcee6": "\"__VIREO_SLOT_0__\" 편집 요청이 승인되었습니다. (승인자 추가 편집은 __VIREO_SLOT_1__로 미반영)", + "m_260c5c8b3587be3b": "\"__VIREO_SLOT_0__\" 편집 요청이 승인·반영되었습니다. (승인자 추가 편집 포함)", + "m_ae96a9eefa60c215": "동일 제목의 소프트 삭제된 문서가 존재합니다. 관리자가 먼저 복원/영구삭제 처리해야 합니다.", + "m_725e09fd82e3d485": "'__VIREO_SLOT_0__' 는 다른 문서의 대체 제목과 충돌해 제목으로 사용할 수 없습니다.", + "m_12f55b01aee28df3": "\"__VIREO_SLOT_0__\" 새 문서 편집 요청이 승인되어 게시되었습니다.", + "m_3d8c34037f5efbb7": "\"__VIREO_SLOT_0__\" 새 문서 편집 요청이 승인되어 게시되었습니다. (승인자 추가 편집은 __VIREO_SLOT_1__로 미반영)", + "m_8dc152a57b4f61de": "\"__VIREO_SLOT_0__\" 새 문서 편집 요청이 승인·게시되었습니다. (승인자 추가 편집 포함)", + "m_e8c03a15d11d8a05": "\"__VIREO_SLOT_0__\" 편집 요청이 반려되었습니다.__VIREO_SLOT_1__", + "m_b6c60011a90b11ec": "Web Push 가 비활성화되어 있습니다.", + "m_ba44d61a5dc6d955": "잘못된 요청입니다.", + "m_a25541b05610e977": "구독 정보가 올바르지 않습니다.", + "m_d83e449da7ec1d8d": "유효한 push_token 이 필요합니다.", + "m_046820d26e94d180": "토큰이 만료되었거나 유효하지 않습니다.", + "m_004ae7d8c14a4796": "토큰이 손상되었습니다.", + "m_e7d1fb773fdaa3a2": "대기 중인 가입 신청을 찾을 수 없습니다.", + "m_de90a380fda149f4": "endpoint 가 필요합니다.", + "m_beb955daeb37f6d4": "만료되었거나 존재하지 않는 QR 코드입니다.", + "m_e7fd0c8c21d6b744": "이미 처리된 요청입니다.", + "m_8dfae4ccf5a6b9d1": "만료되었거나 존재하지 않는 요청입니다.", + "m_4454fea9ba8381bf": "만료된 요청입니다.", + "m_0ee746abfd9c27df": "이미 사용된 요청입니다.", + "m_c912235825f0e01c": "아직 승인되지 않았습니다.", + "m_fe613f72a480159c": "승인 정보가 유효하지 않습니다.", + "m_6bb9fa79146e2a5e": "계정을 사용할 수 없습니다.", + "m_ef7eea8f5740423e": "차단된 계정입니다.", + "m_512989791c19de3f": "일반", + "m_50da0b175337961e": "문서", + "m_3d53da771fe0954d": "토론", + "m_b0b3d3bc6c2762fe": "계정", + "m_73e935d4625a54c4": "티켓 제목을 입력해주세요.", + "m_e626c97ad4a45854": "문의 내용을 입력해주세요.", + "m_0a132c1ce880adf0": "올바른 문의 유형을 선택해주세요.", + "m_14c17bf0e664ce23": "차단된 계정은 계정 문의(소명) 유형만 작성할 수 있습니다.", + "m_f7f952cc043cf488": "권한이 부족합니다. (ticket:create)", + "m_5bf5e399001521a2": "새 티켓 문의 [#__VIREO_SLOT_0__] __VIREO_SLOT_1__: '__VIREO_SLOT_2__'", + "m_9896da0c836b54fb": "티켓 [#__VIREO_SLOT_0__] '__VIREO_SLOT_1__'에서 회원님을 언급했습니다.", + "m_d8ab105f45b56ef5": "새 티켓 #__VIREO_SLOT_0__", + "m_5eb2e809eabd4a29": "티켓 #__VIREO_SLOT_0__", + "m_efa6a7d1ee843957": "티켓을 찾을 수 없습니다.", + "m_20d1a711c808e7f5": "접근 권한이 없습니다.", + "m_b92fd6d4cae11fd8": "권한이 부족합니다. (comment:create)", + "m_137fe2b8ac68d1d4": "차단된 계정은 계정 문의(소명) 티켓에만 댓글을 작성할 수 있습니다.", + "m_61d62a72e9bbbd6e": "닫힌 티켓에는 댓글을 작성할 수 없습니다.", + "m_e55e57e155805806": "티켓 [#__VIREO_SLOT_0__] '__VIREO_SLOT_1__'에 새 댓글이 달렸습니다.", + "m_887479ba73c7e7d4": "티켓 상태를 변경할 권한이 없습니다.", + "m_201b7d60ef6e8116": "이미 삭제된 티켓입니다.", + "m_4b5e35581628062d": "새 문서", + "m_9789d0dfbdbe37a3": "문서 수정", + "m_c87a5a18ec515157": "__VIREO_SLOT_0__님이 \"__VIREO_SLOT_1__\" __VIREO_SLOT_2__ 편집 요청을 제출했습니다.", + "m_98efb44e75fe2fbe": "[자동] 주소 변경: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_6a741012dcb9e689": "역링크 일괄 갱신: __VIREO_SLOT_0__ → __VIREO_SLOT_1__ (__VIREO_SLOT_2__개 갱신, __VIREO_SLOT_3__개 건너뜀, __VIREO_SLOT_4__개 충돌)", + "m_c7dd65df9f841f96": "랜덤 문서를 찾을 수 없습니다.", + "m_f8d8203743b12cde": "无效的修订版本", + "m_b7d685b544e20462": "此修订版本不可巡查", + "m_4b16444ac8960333": "不能巡查自己的编辑", + "m_518ddb12656ff914": "비공개 문서입니다.", + "m_29d0659244b2ecf8": "삭제된 문서입니다.", + "m_e6cdd4680a803298": "문서 제목이 비어 있습니다.", + "m_b5e41b626257814b": "대체 제목은 문자열 또는 null 이어야 합니다.", + "m_8012d0d029b44768": "대체 제목에 제어문자는 사용할 수 없습니다.", + "m_d513e3d01b755e83": "대체 제목은 __VIREO_SLOT_0__자 이하여야 합니다.", + "m_e6b962a8eaff5533": "Turnstile 검증이 필요합니다.", + "m_93f6eb544ffe4725": "Turnstile 검증에 실패했습니다. 다시 시도해주세요.", + "m_4c857ed217030e5a": "\"이미지:\"는 이미지 문서 전용 네임스페이스이므로 일반 문서 제목으로 사용할 수 없습니다.", + "m_e6380590c0c06876": "\"map:\"은 지도 뷰 전용 네임스페이스이므로 일반 문서 제목으로 사용할 수 없습니다.", + "m_91d0966d84be4641": "content는 필수입니다.", + "m_149c3339aa55ab89": "편집 요약은 문자열이어야 합니다.", + "m_69e7a2923e08f4ef": "자동 편집 요약은 문자열이어야 합니다.", + "m_49c589bbf965c9bd": " (소프트 삭제 상태 — 관리자가 복원 또는 영구 삭제해야 재사용 가능)", + "m_21b73ea47099d948": "'__VIREO_SLOT_0__' 는 이미 다른 문서의 제목으로 사용 중입니다.__VIREO_SLOT_1__", + "m_275afdfa7c6dbe58": "'__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목으로 사용 중입니다.__VIREO_SLOT_1__", + "m_9980d5f407562e20": "'__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목과 같아 제목으로 사용할 수 없습니다.__VIREO_SLOT_1__", + "m_56fe00af0af17df4": "삭제된 문서는 편집할 수 없습니다.", + "m_edb7ee4fec17cc4f": "같은 제목의 문서가 이미 존재합니다.", + "m_32a0e1a4e54d2340": "비공개 문서는 편집할 수 없습니다.", + "m_6f5fe96067957fb8": "이 문서를 편집할 권한이 부족합니다.", + "m_2f8b8fb15271aac5": "편집 충돌이 발생했습니다. 다른 사용자가 문서를 수정했습니다.", + "m_3cc9999f45d2d2ce": "대체 제목이 다른 문서와 충돌했습니다. 잠시 후 다시 시도해주세요.", + "m_17fd2364d2772a04": "문서 저장에 실패했습니다. 잠시 후 다시 시도해주세요.", + "m_60dd4157ca5e69ab": "비공개로 지정된 문서는 새로 생성할 수 없습니다.", + "m_7092531bf8f16176": "이 슬러그로 시작하는 문서는 ACL 정책상 새로 생성할 수 없습니다.", + "m_a4405bb7ffd0ca7d": "같은 제목의 문서가 동시에 생성되었습니다. 다시 시도해주세요.", + "m_0e12c17fa6f302a5": "이 네임스페이스는 편집 메모를 지원하지 않습니다.", + "m_80d16e0cd99765ca": "문서를 찾을 수 없거나 삭제된 상태입니다.", + "m_a47db840b4ed0d13": "[편집메모] 편집 메모 변경", + "m_3ea4afaf812b07c8": "리비전을 찾을 수 없습니다.", + "m_f6ac1c7ff4c7b4fc": "가상 리비전은 비교할 수 없습니다.", + "m_58d34fbe05574d64": "문서 영구 삭제: __VIREO_SLOT_0__", + "m_fc520b8437af4266": "문서가 영구 삭제되었습니다.", + "m_ac9ec8d35dce78ce": "이미 삭제된 문서입니다.", + "m_7dd99545c7b9465a": "문서 삭제 권한이 없습니다.", + "m_a76086f3a964774e": "관리자 전용 문서는 관리자만 삭제할 수 있습니다.", + "m_567ddaca9be26ccf": "이 문서를 삭제할 권한이 부족합니다.", + "m_8cf77e328b9e3fd5": "문서 삭제: __VIREO_SLOT_0__", + "m_5ab980c9c1944729": "문서가 삭제되었습니다.", + "m_fe999320d28a6e33": "\"이미지:\" 네임스페이스는 일반 문서로 복원할 수 없습니다.", + "m_c9c2979d1a731a43": "\"map:\" 네임스페이스는 가상 트리 뷰 전용이므로 복원할 수 없습니다.", + "m_3c225b5dab81e41e": "문서가 삭제된 상태가 아닙니다.", + "m_772a58411f6b32aa": "문서 복원: __VIREO_SLOT_0__", + "m_66fe4041f91167e7": "문서가 복원되었습니다.", + "m_4697cbb206bcd001": "새 문서 이름을 입력해주세요.", + "m_e5c33435941dd968": "새 문서 이름이 기존 이름과 동일합니다.", + "m_a590834403ff04d2": "\"이미지:\" 네임스페이스는 이미지 문서 전용이며, 일반 문서 이동 대상이 될 수 없습니다.", + "m_69c48d5ef3c7e7b7": "\"map:\" 네임스페이스는 가상 트리 뷰 전용이며, 일반 문서 이동 대상이 될 수 없습니다.", + "m_2323c8119d6f7b40": "이미 존재하는 문서 이름입니다.__VIREO_SLOT_0__", + "m_ca7312fc1524000c": "'__VIREO_SLOT_0__' 는 이미 다른 문서의 대체 제목과 같아 사용할 수 없습니다.__VIREO_SLOT_1__", + "m_a609e669a6165e0e": "관리자 전용 문서는 관리자만 이동할 수 있습니다.", + "m_e25d85469623f952": "새 제목이 다른 문서와 충돌합니다. 다시 시도해주세요.", + "m_9790e638835f3b49": "문서 이름변경: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_6206229d5de21b9e": "역링크 일괄 갱신 실패: __VIREO_SLOT_0__ → __VIREO_SLOT_1__ (__VIREO_SLOT_2__)", + "m_36cc21da55740f49": "관리자 전용 문서는 관리자만 되돌릴 수 있습니다.", + "m_b63a71af73aa0837": "이 문서를 되돌릴 권한이 부족합니다.", + "m_cbbdcb2f01aedaab": "해당 리비전을 찾을 수 없습니다.", + "m_b1f6cde79fe3fca2": "가상 리비전으로는 되돌릴 수 없습니다.", + "m_4d4c034f6c37b1d0": "본문이 영구 삭제된 리비전으로는 되돌릴 수 없습니다.", + "m_4a61f034d4152aff": "숨겨진 리비전으로는 되돌릴 수 없습니다. 먼저 숨김을 해제해야 합니다.", + "m_7a2806b0cfd17e0a": "리비전 본문을 불러오지 못했습니다.", + "m_4c5dca363464e2a6": "__VIREO_SLOT_0__으로 되돌리기", + "m_e70d17b58f103f70": "리비전 저장에 실패했습니다. 잠시 후 다시 시도해주세요.", + "m_826b173fe2bfd9ac": "삭제된 문서의 리비전은 정리할 수 없습니다. 먼저 문서를 복원하세요.", + "m_918680ab7a28d0f4": "가상 리비전은 삭제할 수 없습니다.", + "m_e00459f8f04acf8c": "최신 리비전은 삭제할 수 없습니다. 먼저 되돌리기를 한 뒤 시도하세요.", + "m_9bfb76dd02724174": "리비전 id 가 올바르지 않습니다.", + "m_d8bb21ed9e6766af": "이미 삭제된 리비전입니다.", + "m_ee3e2ffbe2672de0": "리비전 소프트 삭제: __VIREO_SLOT_0__ __VIREO_SLOT_1__ (rev #__VIREO_SLOT_2__)", + "m_a6f7aebbe3ff6dac": "리비전이 삭제되었습니다.", + "m_725313817e6868e1": "리비전 영구 삭제는 최고 관리자만 가능합니다.", + "m_81f288da43a4b5c1": "이미 영구 삭제된 리비전입니다.", + "m_112590efded576b3": "삭제 마킹에 실패했습니다. 잠시 후 다시 시도하세요.", + "m_d68556d83b4740cc": "R2 본문 삭제에 실패했습니다. 잠시 후 다시 시도하세요.", + "m_23bfa329b67f47c1": "메타데이터 정리에 실패했습니다. 잠시 후 다시 시도하세요.", + "m_b00b078e851ea38a": "리비전 영구 삭제: __VIREO_SLOT_0__ __VIREO_SLOT_1__ (rev #__VIREO_SLOT_2__)", + "m_a536da90de2fa925": "리비전이 영구 삭제되었습니다.", + "m_03fac0a43f3c4117": "카테고리가 올바르지 않습니다.", + "m_d7cc4181206e07c5": "참고 : 표의 병합된 셀은 빈칸으로 표시됩니다\n\n", + "m_29ee1bb7ff289989": "단계", + "m_34fbc55c71b14896": "0. 도입부", + "m_3075d7f4fd31df20": "Analytics query failed (__VIREO_SLOT_0__): __VIREO_SLOT_1__", + "m_5c438cfbb32c4572": "announcement 갱신 충돌이 반복되어 실패했습니다. 잠시 후 다시 시도해주세요.", + "m_2590befdd9c53728": "edit_acl 은 객체 또는 null 이어야 합니다.", + "m_a214f4e99cfabb73": "edit_acl.flags 는 배열이어야 합니다.", + "m_362bdd480752283f": "edit_acl.flags 에 알 수 없는 항목: __VIREO_SLOT_0__", + "m_9d4fd22b0ba7de07": "{palette:danger}{bi:eye-slash-fill}{tag:비공개}", + "m_c91d28281a05b57c": "(__VIREO_SLOT_0__줄, __VIREO_SLOT_1__자)", + "m_9586b90d1ce240a7": "(문서 없음)", + "m_fd0e3f3f3a64131f": "(루트) __VIREO_SLOT_0____VIREO_SLOT_1__", + "m_957d05ddf3e36ede": "... (하위 문서 __VIREO_SLOT_0__개 초과, 일부 생략됨)", + "m_2fd9e7d411752b46": "방금", + "m_f467a4024cb27ee2": "__VIREO_SLOT_0__분 전", + "m_3a303b18f9b646c2": "__VIREO_SLOT_0__시간 __VIREO_SLOT_1__분 전", + "m_b101f92f6c467d74": "__VIREO_SLOT_0__시간 전", + "m_e1655b60987cbfd4": "__VIREO_SLOT_0__일 전", + "m_783d60738fd55f9d": "__VIREO_SLOT_0__달 전", + "m_fd305f0b56565a13": "__VIREO_SLOT_0__년 전", + "m_7466ca263ca1b8e0": "위키 문서의 슬러그와 대체 제목(title)을 검색합니다. 응답의 slug 는 모든 호출 도구가 사용하는 식별자이며, title 은 표시 전용 대체 제목(없으면 null)입니다. 다른 도구의 title 인자에는 반드시 slug 값을 사용하세요.", + "m_bda397fc5b2a3711": "검색어", + "m_5360cddf64b641a4": "위키 문서의 본문을 전문 검색(FTS) 합니다. 검색 결과에는 문서 슬러그와, 검색어가 등장하는 모든 목차의 목록이 포함됩니다. 한 문서에서 여러 섹션에 걸쳐 등장하면 모든 섹션이 반환됩니다.", + "m_d8628e79d9242ca8": "위키 문서의 본문을 Cloudflare AI Search(RAG) 로 의미 기반 검색합니다. FTS 가 정확한 문자열 매칭이라면, 이 도구는 의미가 가까운 문서를 점수(score) 순으로 반환합니다. 응답 각 항목은 slug(식별자), title(표시 전용 대체 제목, 없으면 null), score, snippet 을 포함합니다. 다른 도구의 title 인자에는 반드시 slug 값을 사용하세요. 비공개/삭제 문서는 호출자 권한에 따라 결과에서 제외됩니다.", + "m_117bcb3a4635e6ec": "검색어(자연어 가능)", + "m_6268e49bf3392fd2": "최대 반환 개수 (기본 30, 최대 50)", + "m_6f58d16cf7366f57": "위키 문서의 목차(section)만 불러옵니다. 목차는 계층적 번호(예: \"1.\", \"1.1\", \"1.1.1\")가 붙은 형식으로 반환됩니다. 첫 헤딩 이전에 본문 텍스트가 있는 경우 \"0. 도입부\" 항목이 맨 앞에 추가되며, read_section 에 \"0\" 을 지정하면 그 도입부만 읽을 수 있습니다. 긴 문서를 전부 읽기보다 get_toc 도구로 목차를 추출한 뒤 read_section 도구에 번호를 지정해 부분적으로 읽는 것을 권장합니다. raw=true 로 설정하면 {{틀}} 트랜스클루전을 펼치지 않은 원본 기준의 목차 번호가 반환됩니다 — 어드민 MCP 의 edit_section 으로 편집하려면 반드시 raw=true 의 번호를 사용해야 합니다.", + "m_e01a35a4bdb5e329": "문서 슬러그(=제목)", + "m_2a34a83055a956d0": "true 시 트랜스클루전을 펼치지 않고 원본 헤딩만으로 목차 번호 산출 (편집용)", + "m_f48db6e7d1b019e2": "위키 문서의 전체 본문을 읽어옵니다. raw=true로 설정 시 위키 꾸미기 문법 변환을 건너뛰고 원본 그대로 반환합니다.", + "m_dfc10bcd0c19ab35": "위키 문서에서 특정 목차의 내용만 읽어옵니다. 목차는 get_toc 가 반환하는 계층적 번호(예: \"1\", \"1.1\", \"1.1.1\")로 지정합니다. raw=true 면 트랜스클루전을 펼치지 않은 원본 기준의 번호로 추출하고 위키 꾸미기 문법 변환도 건너뜁니다 — get_toc(raw=true) / edit_section 과 동일한 번호 체계입니다. raw=false (기본) 면 트랜스클루전을 펼친 뒤 추출하고 AI 용 렌더링을 적용합니다 — get_toc(raw=false) 와 동일.", + "m_ee5600524374a4b0": "get_toc 가 반환한 목차 번호 (예: \"1\", \"1.1\", \"1.1.1\"). \"0\" 은 첫 헤딩 이전 도입부. raw 옵션은 get_toc 호출 시와 동일하게 맞추세요.", + "m_519be1bbef197558": "true 시 트랜스클루전 미확장 + 원본 그대로 반환 (편집 직전 단계용)", + "m_7d3cb0c9eecf0798": "입력한 문서를 루트로 한 하위 문서 트리를 반환합니다. 예를 들어 \"A/B/C\" 를 입력하면 \"A/B/C\" 부터 시작하는 하위 트리만 반환됩니다.", + "m_5455a9d896a17ebe": "트리의 루트가 될 문서 슬러그(=제목)", + "m_1f0e3b8c7cb34e46": "여러 문서를 한 번에 최대 10개까지 읽어옵니다. 두 가지 모드를 지원합니다. (1) titles: 직접 지정한 문서 슬러그 배열을 한 번에 읽기. (2) parent_title: 지정한 문서의 하위 문서들을 일괄 읽기. parent_title 모드에서 하위 문서가 10개를 초과하면 상위 10개만 읽고, 응답에 읽은/읽지 않은 문서를 표시한 트리와 페이지네이션 정보가 포함됩니다. page 파라미터(1부터 시작)로 다음 페이지를 요청할 수 있습니다. raw=true 설정 시 위키 꾸미기 문법 변환을 건너뜁니다.", + "m_be6ca15da180391b": "직접 지정할 문서 슬러그 목록 (최대 10개). parent_title 과 함께 지정한 경우 titles 가 우선합니다.", + "m_7b1b4061a9d93728": "하위 문서를 일괄 읽을 부모 문서 슬러그", + "m_f5d76cd0078d3708": "parent_title 모드의 페이지 번호 (1부터 시작, 기본 1)", + "m_a03e8ae307459459": "여러 문서의 목차(section)를 한 번에 최대 10개까지 불러와, 슬러그 계층을 따라 하나의 트리 텍스트로 반환합니다. 두 가지 모드를 지원합니다. (1) titles: 직접 지정한 문서 슬러그 배열. 슬러그 경로로 트리를 만들 수 있으면 하나의 트리, 최상위 슬러그가 다르면 여러 트리로 분리됩니다. (2) parent_title: 지정한 문서를 루트로 한 하위 문서 트리. 각 문서 노드 아래에 자식 문서들과 함께 해당 문서의 목차 항목이 \"#1. 제목\", \"#1.1. 제목\" 형식으로 형제로 표시됩니다. 문서 본문이 없는 경로 노드는 \"(문서 없음)\" 으로 표시됩니다. parent_title 모드에서 하위 문서가 10개를 초과하면 상위 10개만 목차를 추출하고, 나머지는 \"[읽지 않음]\" 으로 표시됩니다. page 파라미터(1부터 시작)로 다음 페이지를 요청할 수 있습니다.", + "m_7e31d414de4babd4": "하위 문서의 목차를 일괄 조회할 부모 문서 슬러그", + "m_a2bfebb02edf8fad": "카테고리를 이름으로 검색합니다.", + "m_4c4a27420a7aacaf": "검색할 카테고리 이름 (부분 문자열)", + "m_be7ce819a1d2eec9": "해당 카테고리에 속한 문서 목록과 카테고리 설명을 반환합니다. raw=true로 설정 시 카테고리 설명의 위키 꾸미기 문법 변환을 건너뛰고 원본 그대로 반환합니다.", + "m_2a0a4a92c35e6110": "조회할 카테고리 이름", + "m_909a66569c8d31a8": "해당 문서가 속한 카테고리 목록을 반환합니다.", + "m_b9aa91f27eb4194c": "조회할 문서 슬러그(=제목)", + "m_7324061da6dacbb7": "[Deprecated] get_document_category 의 구버전 이름입니다. 새 코드에서는 get_document_category 를 사용하세요.", + "m_ad994dbc23c4c990": "이 문서를 참조하는 역링크(위키링크 [[...]], 틀 트랜스클루전 {{...}}) 문서 목록을 반환합니다.", + "m_639d520572cd50f7": "역링크를 조회할 문서 슬러그(=제목)", + "m_baa7da4dc29d1bde": "위키 전체에서 최근 수정된 문서 목록을 반환합니다. 응답에는 슬러그, 작성자 이름, 편집 요약, 마지막 리비전 id (revision_id, read_revision/revert_page 와 연계) 가 포함됩니다. 필터 파라미터를 조합해 범위를 좁힐 수 있습니다.", + "m_2c2360ccdb1288bf": "최대 반환 개수 (기본 10, 최대 100)", + "m_1c5ac590ca42742f": "이 시점 이후 변경분만 (ISO 8601, 예: \"2024-01-01\" 또는 \"2024-01-01T00:00:00Z\")", + "m_9d55cf684346d177": "특정 사용자(name 정확 일치)의 마지막 편집만", + "m_526e538baffd5c3a": "특정 카테고리에 속한 문서의 변경만", + "m_73d79401118b9f44": "특정 네임스페이스(슬러그 접두사) 필터. 예: \"틀:\" 또는 \"분류:\". \"/\" 로 끝나면 하위 트리 매칭.", + "m_d9ffd0b16262fc2b": "특정 문서에 달린 토론 스레드 목록을 반환합니다. 각 스레드의 id, 제목, 상태(open/closed), 댓글 수, 작성일이 포함됩니다.", + "m_b33174b918700b9b": "특정 토론 스레드의 제목, 상태, 모든 댓글을 읽어옵니다. discussion_id 는 list_discussions 가 반환한 id를 사용합니다.", + "m_cbffdc5c8d59c830": "list_discussions가 반환한 토론 id", + "m_757d8d1e4210db88": "위키에 업로드된 이미지를 파일명으로 조회하여 이미지 데이터로 반환합니다. 문서 본문에 ![파일명](https://도메인/media/images/파일명) 형식으로 삽입된 그 파일명(확장자 포함)을 사용합니다.", + "m_aa2b1fba52dee466": "이미지 파일명 (확장자 포함, 예: \"example.png\")", + "m_f8ac6d1e08a80948": "블로그(/blog) 포스트 목록을 최신순으로 반환합니다. 한 페이지에 최대 20개 항목이 포함되며, 각 포스트의 id, title, 작성 시점(time_ago), 줄 수, 글자 수가 포함됩니다. 블로그 포스트는 제목이 아닌 정수 id 로 식별합니다. 다음 페이지가 있으면 응답에 next_page 가 포함됩니다.", + "m_03e894d94ff38499": "페이지 번호 (1부터 시작, 기본 1)", + "m_e6dc125b6303f6e8": "블로그 포스트의 전체 본문을 읽어옵니다. id 는 list_blog_posts 가 반환한 정수 id 를 사용합니다. raw=true 로 설정 시 마크다운/위키 문법 변환을 건너뛰고 원본 그대로 반환합니다.", + "m_f89f48c07ea32b06": "블로그 포스트 id (정수)", + "m_906675307ca26a8a": "블로그 포스트의 목차(section)만 불러옵니다. 목차는 계층적 번호(예: \"1.\", \"1.1\")가 붙은 형식으로 반환됩니다. 첫 헤딩 이전에 본문 텍스트가 있으면 \"0. 도입부\" 항목이 맨 앞에 추가되며, read_blog_section 에 \"0\" 을 지정하면 그 도입부만 읽을 수 있습니다.", + "m_0ea92e2a21f5d480": "블로그 포스트에서 특정 목차의 내용만 읽어옵니다. 목차 번호는 get_blog_toc 가 반환한 계층적 번호(예: \"1\", \"1.1\") 로 지정합니다. raw=true 로 설정 시 위키 문법 변환을 건너뛰고 반환합니다.", + "m_8ffbe10218de0ebf": "get_blog_toc 가 반환한 목차 번호 (예: \"1\", \"1.1\"). \"0\" 은 첫 헤딩 이전 도입부.", + "m_0169b14d9e0774bd": "\n\n문법 가이드 문서: __VIREO_SLOT_0__", + "m_516b6531ac86d0c6": "\n\n위키 문서 외에도 블로그(/blog) 포스트를 __VIREO_SLOT_0__ 도구로 탐색할 수 있습니다. 블로그 포스트는 제목이 아닌 정수 id 로 식별합니다.", + "m_c73abcd53e225fb1": "이 도구는 __VIREO_SLOT_0__ 의 문서를 탐색할 수 있는 MCP 도구입니다.\n\n이 위키의 문법은 마크다운 기반으로, 기본적으로는 문법 가이드 문서를 읽지 않아도 내용 파악이 가능합니다. 문서를 읽을 때 raw 파라미터를 따로 활성화하지 않으면 마크다운 기반으로 정리된 내용이 반환됩니다. raw 파라미터를 사용하려면 위키 문법 문서를 먼저 읽을 것을 권장합니다.__VIREO_SLOT_1____VIREO_SLOT_2__", + "m_8c306ae2749ce518": "__VIREO_SLOT_0__\n\n## 사용 가능한 도구 목록\n\n__VIREO_SLOT_1__", + "m_7fa8a1e0dbc5c616": "Error: RAG 검색이 비활성화되어 있습니다.", + "m_6609e2b894160aca": "Error: RAG 검색 실패: ", + "m_3c8aaba9778dff5f": "Error: 문서를 찾을 수 없거나 비공개/삭제 상태입니다.", + "m_6d994f307ce24bc5": "Error: title이 필요합니다.", + "m_c024e5d390be2e9d": "__VIREO_SLOT_0____VIREO_SLOT_1__\n하위 문서가 없습니다.", + "m_73837db939871074": "\n문서가 없는 항목 (__VIREO_SLOT_0__):\n__VIREO_SLOT_1__\n", + "m_7caa694effdba08e": "카테고리 문서가 존재하지 않습니다.", + "m_f74b6c1d51b564ad": "Error: discussion_id가 유효하지 않습니다.", + "m_4330b1647ece8efb": "Error: 토론을 찾을 수 없거나 비공개/삭제 상태입니다.", + "m_76e10614f8d4e406": "(삭제된 댓글)", + "m_f9e850c4ce13164f": "Error: filename이 필요합니다.", + "m_7a637fcd3a575c69": "Error: '__VIREO_SLOT_0__' 와 일치하는 이미지를 찾을 수 없습니다.", + "m_ecdb75297ff61dac": "Error: 여러 이미지가 일치합니다. 정확한 파일명을 지정해 주세요: __VIREO_SLOT_0__", + "m_f046f1182d1ba03d": "Error: 이미지 파일이 너무 큽니다 (__VIREO_SLOT_0__MB). 5MB 이하 이미지만 조회할 수 있습니다.", + "m_98b7a2103a408bb5": "Error: 이미지 파일이 스토리지에 존재하지 않습니다.", + "m_32865686a43ee5c7": "__VIREO_SLOT_0__ / [편집메모] 변경", + "m_1747995f753a201c": "[편집메모] 변경", + "m_24851445d7e308d5": "draft 에 누적된 편집을 승인 단계 없이 **즉시** 새 리비전으로 확정합니다 (마이페이지에서 \"MCP 편집 즉시반영 허용\" 을 켠 경우에만 노출). commit_edit 이 승인 대기로 제출하는 것과 달리, 이 도구는 곧바로 저장합니다.\n\ncommit_edit 와 동일한 충돌 검증을 적용합니다 — base_revision_id 가 그 사이 변경되었거나(다른 사용자가 페이지 수정), 신규 페이지 draft 인데 같은 슬러그가 이미 존재하면 거부합니다. 편집 권한(edit_acl)/관리자 전용 카테고리도 적용 시점에 재검증됩니다.\n\nsummary 는 새 리비전의 편집 요약입니다 (선택, 최대 255자). 저장 시 자동으로 `[MCP] [+N줄 -M줄] ` 접두가 붙습니다. 응답에는 새 revision_id 와 라인 단위 변경량(lines_added / lines_removed)이 포함됩니다.\n\n승인 검토가 필요하면 apply_edit 대신 commit_edit 을 사용하세요.", + "m_15b5eab43f6782bb": "즉시 적용할 draft 의 id (편집 도구 응답에서 받은 값)", + "m_3cb04c545466a1f2": "MCP 즉시반영으로 \"__VIREO_SLOT_0__\" 문서가 생성되었습니다.", + "m_ecee15dca2358682": "MCP 즉시반영으로 \"__VIREO_SLOT_0__\" 문서가 편집되었습니다.__VIREO_SLOT_1__", + "m_610d40599b80cbb8": "MCP 즉시반영", + "m_322e63282d28faa3": "Error: MCP 편집 즉시반영이 비활성화되어 있습니다. 마이페이지 설정에서 활성화한 뒤 사용하거나, commit_edit 으로 승인 대기 제출하세요.", + "m_56686db518ce8807": "Error: 다른 사용자의 draft 는 적용할 수 없습니다.", + "m_428b5a484acfe97a": "Error: 이 draft 는 이미 승인 대기로 제출된 상태입니다. 마이페이지에서 승인하거나 discard_edit 후 다시 시도하세요.", + "m_1b5dd20687b6eeb9": "즉시 반영되어 새 리비전이 생성되었습니다.", + "m_1509a20063ffedfe": "__VIREO_SLOT_0__님이 \"__VIREO_SLOT_1__\" 문서를 편집했습니다.__VIREO_SLOT_2__", + "m_d9563d9a89a9d444": "R2 revision not found: __VIREO_SLOT_0__", + "m_7171d3c73f9f2ea5": "📢 공지사항 : __VIREO_SLOT_0__", + "m_74b380ce1d5f53bf": "[__VIREO_SLOT_0__](__VIREO_SLOT_1__) 에 새 토론이 열렸습니다.\n\n> __VIREO_SLOT_2__", + "m_b329efb40b330ac6": "**__VIREO_SLOT_0__** 에 새 토론이 열렸습니다.\n\n> __VIREO_SLOT_1__", + "m_06feb699074d9c32": "💬 새 토론", + "m_a197030ed96f7990": "새 문서 생성", + "m_b2792dcfacf6f071": "**__VIREO_SLOT_0__** (__VIREO_SLOT_1__) 편집 요청이 제출되었습니다.\n[검토하기](__VIREO_SLOT_2__)__VIREO_SLOT_3__", + "m_028e9f3e58511e35": "**__VIREO_SLOT_0__** (__VIREO_SLOT_1__) 편집 요청이 제출되었습니다.__VIREO_SLOT_2__", + "m_c260160bdcbc43b7": "📝 편집 요청", + "m_4d07a4b5339c6e9d": "**__VIREO_SLOT_0__** 님이 가입을 신청했습니다.\n[승인하러 가기](__VIREO_SLOT_1__)", + "m_59802849b7e95cc3": "**__VIREO_SLOT_0__** 님이 가입을 신청했습니다.", + "m_9990d458ebd03b13": "🆕 가입 신청", + "m_3b7dbc4c0c4cebca": "이메일", + "m_b84abfbe481c6010": "공급자", + "m_9cd880d519c81b65": "Request #__VIREO_SLOT_0__", + "m_ab9442a23e772cce": "사유", + "m_f722391e108aee57": "🚫 가입 신청 거부", + "m_fc9929c6d6a254fb": "**__VIREO_SLOT_0__** (`__VIREO_SLOT_1__`) 의 가입 신청이 거부되었습니다.", + "m_67f12481a97255e5": "👋 새 사용자 가입", + "m_31b3cbb904761ba4": "**__VIREO_SLOT_0__** 님이 합류했습니다. 환영해주세요!", + "m_8c609debc12c2cd0": "대상", + "m_d2f2951a69fd7b43": "🛡 Super Admin 행위", + "m_050d981c6c43cdfb": "미지정", + "m_6d7c36a0f5e096ea": "🎫 #__VIREO_SLOT_0__ 상태 변경", + "m_b918d5af77b8733a": "기간", + "m_32c11dd4e0e62147": "⛔ 사용자 차단", + "m_0bcae653387614f2": "✅ 차단 해제", + "m_9d4b0e23e6fe6cc9": "🔧 권한 변경", + "m_1d080437d8462ce9": "아이콘", + "m_28fa29ac1fa6e31c": "작게", + "m_541d1ddb952f8fbf": "중간", + "m_9926395d3d8baa1b": "크게(기본)", + "m_0531b5486f1b8a48": "배경색", + "m_4a131f6944f28a0e": "__VIREO_SLOT_0__년 __VIREO_SLOT_1__월", + "m_3603b4581160941a": "기본", + "m_cedc796580c58c6b": "\n
              \n
              카테고리 __VIREO_SLOT_0__ 에 다음 편집 ACL 템플릿이 설정되어 있습니다.
              \n
              __VIREO_SLOT_1__ (모두 충족 — AND)
              \n
              이 카테고리를 문서에 적용하면서 카테고리 ACL 을 어떻게 반영할까요?
              \n
              \n \n \n \n
              \n
              \n ", + "m_7d1389c0c9a517a1": "관리자 전용 카테고리", + "m_af9027f1a1dee91e": "
              결과 없음
              ", + "m_08b17e433630742b": "제목", + "m_e556342b438d499f": "\n ", + "m_f02b935997f88b93": "\n \n ", + "m_ad517c180afa0165": "\n
              \n
              \n 목차\n
              \n \n
              \n
              \n \n
              ", + "m_b29c4d9dd8ee7fc7": "\n
              \n
              \n \n \n
              \n
              \n
              \n
              __VIREO_SLOT_0__\n
              __VIREO_SLOT_1__\n
              \n
              __VIREO_SLOT_2__\n
              \n
              \n ", + "m_e92a0544c85716d0": "검색 실패", + "m_067ee424bdc93ea7": "\n
              \n \"__VIREO_SLOT_1__\"\n
              __VIREO_SLOT_2__
              \n
              \n
              \n \n \n \n \n
              \n ", + "m_6de19876d0e0a5c0": "크게(기본)", + "m_e25992f8b1b64bc7": "초안 저장 실패", + "m_39b6b8ebbc11c8fb": "\n
              \n
              \n __VIREO_SLOT_0__\n
              \n
              \n
              \n
              \n
              \n \n 1 / __VIREO_SLOT_1__\n \n \n \n
              \n
              \n ", + "m_cee3585ff1175382": "Bearer token required", + "m_a9cc4e895f5a5a91": "Empty bearer token", + "m_605a25cfb239ed2d": "Token expired", + "m_4441b4b45947e726": "Token not found", + "m_cd7e9dbe5eec7bd9": "Token revoked", + "m_a7b4e9ad19b36f5f": "Token scope does not permit MCP access", + "m_1035a5731b39d432": "불러오는 중...", + "m_ede110c10283e660": "width=device-width, initial-scale=1.0", + "m_dbb0975319beff08": "管理后台 - 批量管理页面 - VireoWiki", + "m_d707dc2f1936efd8": "Logo", + "m_6d5f194bd1f65df5": "VireoWiki", + "m_4b6ded8a7f181397": "通知", + "m_5a2cac68fd2d63f9": "个人中心", + "m_3ab8cc15939f3b5c": "退出登录", + "m_748ae6920776e7c8": "全部标为已读", + "m_568090ece66761ee": "查看全部通知", + "m_adca3cc3b4abafe1": "浏览器推送通知", + "m_f7849180cb1922d6": "搜索页面...", + "m_44ce7ae909bbb28b": "搜索", + "m_788db1cfec2a3db5": "主题", + "m_13e9677c46dd462e": "自动 (시스템 설정)", + "m_7eb336e42cb5076b": "自动", + "m_a6b75d0680322a61": "深色", + "m_aa0819dfc4d8d782": "浅色", + "m_2b04e420a8e524a0": "当前主题仅支持深色模式。", + "m_5338c32ac42a3982": "配色主题", + "m_da01bc4680e49184": "布局模式", + "m_7a03f9cb9815cec5": "站点默认值", + "m_2d77140f7472707b": "站点默认", + "m_3c53ceb38084dc53": "默认 (无侧栏)", + "m_b4b70b0bf9b0e712": "左侧目录", + "m_426c84c165d1b6ea": "右侧目录", + "m_ce8cbab05fabe86b": "页面 (左侧目录树和右侧目录)", + "m_a6e1330f8bfebce6": "宽屏 (隐藏侧栏)", + "m_04b82dd5a6493f28": "宽屏", + "m_bb5719813af6fb85": "启用单键快捷键", + "m_8da97ddda990e7c4": "开启", + "m_9123c48619df4f36": "关闭单键快捷键", + "m_6119857da8126b85": "关闭后", + "m_d7eb74eed17234ef": "等单键快捷键将失效 (", + "m_8a2264e4cd9205ed": "Ctrl/⌘+K", + "m_f8a58910208de2f6": "始终可用).", + "m_4d8359117de6b0ed": "设置仅保存在当前浏览器;更改布局后页面会刷新。", + "m_cc11b6991e2855d2": "返回管理后台", + "m_fc19a3d028718a11": "批量管理页面", + "m_8fe93aa85a945d5f": "页面를 搜索해 선택한 뒤 한 번에", + "m_2a766088ff30b652": "하거나", + "m_341c70582918ad93": "移动页面(改名)", + "m_d90f64d83741d035": "할 수 있습니다.", + "m_9fce45c3d25c4d8d": "仅超级管理员", + "m_9b92259f6104e24f": "기능입니다. 하드 删除(영구 删除)는 되돌릴 수 없으며\n 讨论·리비전·주시 설정까지 함께 제거합니다.", + "m_5d5b3fad865d8406": "搜索页面", + "m_b94f2785f419e16b": "slug 搜索...", + "m_7f0c8db43ecdee2d": "同时搜索显示标题", + "m_99eb8b2f9137da47": "重建链入索引", + "m_10ca1ba62df99ad1": "全部页面 본문을 전수조사해 역링크를 재구축합니다.\n 링크 추출 규칙 변경 후 일괄 교정하거나 인덱스 불일치를 수동으로 복구할 때 사용하는 유지보수 도구입니다.\n 페이지를 닫아도 계속 진행됩니다.", + "m_a49d6a13055e6066": "开始重建索引", + "m_ca4d973c0b006b75": "停止", + "m_7c9691192f1b7340": "继续", + "m_deee0366ae74a548": "补建 RAG 索引", + "m_b28c3e0e3c7775bd": "RAG(AI Search) 플러그인을 켠 뒤, 이미 존재하던 全部页面의 현행 본문을 인덱싱 전용 R2 버킷에 한 번에 채워 넣습니다.\n 플러그인 활성화 이후의 변경은 自动 미러링되므로, 이 백필은 도입 시 1회만 실행하면 됩니다.\n ACL과 무관하게 전 页面를 인덱싱하며(包含私有页面), 搜索 시점에 비공개/删除 页面가 필터링됩니다.\n 페이지를 닫아도 계속 진행됩니다.", + "m_55b50381eddb8e75": "백필 시작", + "m_88d72ece7cf76737": "搜索结果", + "m_b85dd88a4847bc85": "대량 删除", + "m_12ec1053141de7ea": "删除所选 (복원 가능)", + "m_47500d89a4611fad": "선택 항목 영구 删除", + "m_3accad1e4fdfe5fc": "대량 이동 (标题 변경)", + "m_564ea28e954e9fc6": "선택한 页面들의 주소(slug)에서", + "m_bf603c449cd875a7": "查找内容", + "m_375745740097d3a9": "을", + "m_7d37f059645bf210": "替换为", + "m_c844f617fc30ff08": "으로 치환해\n 일괄 이동합니다. 예) 선택한", + "m_1234d505d6f6c48d": "및 하위 页面에서", + "m_0470be950ae2efcd": "로 변경.\n 각 页面를 가리키던 참조 링크(", + "m_7763d011712b2557": ")도 함께 갱신할 수 있습니다.", + "m_8f26c4d7bea556e2": "예: Cloudwiki", + "m_1d66d95bcaeed7ee": "예: 页面 保存소", + "m_a4dcaa5ce7c06638": "참조 링크(역링크) 본문도 함께 변경", + "m_dcb06beb51a409a5": "미리보기", + "m_f43745adf1bfb2c6": "선택 항목 이동 실행", + "m_7d9eb7acb13e2462": "Close", + "m_933d10d7a714ea8e": "©", + "m_3136a9bf2ac92e5a": "管理后台 - 图片管理 - VireoWiki", + "m_07c502db4218d64a": "图片管理", + "m_11517afb9a8e86c0": "搜索和管理已上传的图片。", + "m_174a870d266c7cbe": "垃圾回收", + "m_be99a7d5edb04aec": "查找未使用图片", + "m_3a5040b68abf75f9": "全选", + "m_f4d4bae588c4c0ff": "取消全选", + "m_435bf8a234fde6f2": "删除所选", + "m_5b75727ad998857a": "图片列表", + "m_9743941279196582": "最近上传优先", + "m_30a8548b78af84c7": "最早上传优先", + "m_ce4e4486ec3b6b54": "文件名 A–Z", + "m_e15b17b1dfa9a6e1": "文件名 Z–A", + "m_6634a3b81a71fa77": "大文件优先", + "m_6cf3b5b26a784642": "小文件优先", + "m_afaf8211b1d89bf3": "搜索文件名...", + "m_a03f30e8d07385a2": "搜索标签", + "m_a49a58dc4b4807f8": "(按回车或逗号添加,显示包含所有标签的图片)", + "m_5550a6bd11600976": "图片分页", + "m_7b4fa8d66e9ee056": "管理后台 - VireoWiki", + "m_e19796712f1cf0de": "管理员", + "m_ce0401430697ef8c": "管理菜单", + "m_0853bf3c01440ea8": "仪表盘", + "m_fbf413d429bd168a": "用户管理", + "m_c7253a80c714ac17": "内容管理", + "m_68ea5dd4d7af20e6": "系统设置", + "m_d3e3bdceefb587dd": "统计与日志", + "m_9a4abb1987b0928f": "管理 Wiki 设置。", + "m_572cf45ba43634b3": "返回", + "m_34bcac5d7a5cae34": "빠른\n 链接", + "m_9ca3e347bd2a255a": "工单咨询", + "m_294be43d38b2c379": "图片管理工具", + "m_fbbbc44e26ab529e": "批量管理页面(超级管理员)", + "m_362098b02d0244bd": "查看统计", + "m_65945e3e2adf2d95": "打开统计面板", + "m_b0cc8a500342168e": "最近 7 天统计概览", + "m_8e91da667e83d3f8": "总浏览量", + "m_629ce27ad4e60622": "访问国家", + "m_4fc3b101446ed72b": "注册申请管理", + "m_02f9a8a28719b423": "注册审核已启用", + "m_7bf25421c6df4ad7": "待审核", + "m_b42cb548c1d411c9": "已批准", + "m_f098218a3032a625": "已拒绝", + "m_ca0ea64115782e55": "已封禁", + "m_fa2ff3c379a7c988": "查看全部", + "m_dd0a97ab3653fa82": "应用筛选", + "m_b94d13a45ea21152": "个人资料", + "m_a98585871c5313ff": "显示名称", + "m_73075237fd0f05f0": "邮箱", + "m_6320b4a8722a851f": "状态", + "m_ed31fbb483ee1b0a": "操作", + "m_af90a08fec8ee28d": "加载更多", + "m_f847b9e2149b50a9": "用户列表与权限管理", + "m_793615f433522e6f": "搜索名称或邮箱", + "m_25e4e2328dfe83e5": "所有权限", + "m_08a7d8daed8f815c": "讨论 管理员", + "m_454b597653f5ab37": "普通 用户", + "m_d44e9b3d3b31d37b": "名称", + "m_978cbca6265d1af2": "权限", + "m_4adc34616f3c900b": "注册时间", + "m_bb6d995724f49a72": "管理", + "m_66af625922befced": "已删除页面管理(软删除)", + "m_78bed30c40562a34": "搜索页面名或标题", + "m_cb5d682bac3d1a2d": "重置", + "m_8812b1cd0781889a": "页面路径(Slug)", + "m_b0d53c3b5c4c7a4c": "删除时间", + "m_f7ee4c424f60cc9f": "已删除页面翻页", + "m_86aba51cf707a19f": "分类 ACL", + "m_7953ecf86928f6fb": "名称 ↑", + "m_4022782076906ec4": "名称 ↓", + "m_80c25621f2448b18": "页面数降序", + "m_24bca5777f0575f6": "最近登记优先", + "m_2de8816f4704cf54": "分类에 编辑 ACL 템플릿을 매달면, 그 分类가 页面에 应用될\n 때 페이지의", + "m_3a2ee02a29524d71": "이 모드(덮어쓰기/합치기/무시)에 따라\n 갱신됩니다.", + "m_109aba135893a2a3": "플래그를 켜면 비管理员는 해당\n 分类를 应用할 수 없습니다 (구 \"仅管理员 分类\" 와 동일 효과).\n 分类를 클릭하면 해당 分类 返回移动页面합니다.", + "m_1b826effed73f4a6": "分类 ACL 페이지 이동", + "m_22f91403b63f6ba4": "调色板管理", + "m_a1a6fd3507394097": "본문에서", + "m_56e7a92d37385a63": "로 사용할 수 있는\n 커스텀 컬러 팔레트를 管理합니다. 背景色을 지정하면 휘도에 따라\n 文字颜色이 自动 계산되며(수동 변경 가능), 深色模式에서 다른 색을\n 쓰려면 별도 색상 토글을 켜세요. 默认 색상인 프리셋\n (", + "m_1fc8555df8c66537": ")\n 는 사용할 수 없습니다.", + "m_aa1cbd60d03356f8": "添加调色板", + "m_919090e0bf9f04a9": "调色板名称", + "m_d31a4d6bad47bfcc": "浅色模式", + "m_f21ef4aba5ab4e55": "文字颜色", + "m_19f7a4ea878d5964": "自动对比度", + "m_568e8ffdd040007f": "为深色模式单独设置颜色", + "m_94d2bd014dfd31ba": "深色模式", + "m_65900e469fbff6dd": "预览:", + "m_dbcd5e7bb7a0f538": "Light", + "m_60acc53f13a5d1bf": "Dark", + "m_21bd738e0d7191a7": "正在加载…", + "m_aeb5764c745369df": "站点公告", + "m_05cf32f81ceb6098": "여러 개의 공지를 발행하면 헤더에 위에서 아래 순서로 쌓입니다.\n 블로그 포스트 페이지의 \"공지로 발행\" 버튼은 그대로 사용\n 가능하며, 여기서 추가하는 공지는 외부 链接 또는 链接 없는 텍스트\n 배너로 발행됩니다.", + "m_3031747ae2bd249a": "发布新公告", + "m_37d9c73375dc7a44": "公告标题", + "m_4e222e2a6cbb4040": "链接 URL(可选)", + "m_517e33f50a4f457f": "https://... 或 /blog/123;留空仅显示文字", + "m_8b5794a39cd7c3c5": "重置图标", + "m_d78a6a9cd0304a66": "发布公告", + "m_305378ddd2b86b60": "链接", + "m_e8ff4d335dee5d55": "发布时间", + "m_83163278a6592c52": "编辑公告", + "m_cfc8cd209fe2a722": "标题과 图标만 변경할 수 있습니다. 发布时间은 갱신되지\n 않으며 Discord 通知도 발송되지 않습니다.", + "m_0f6675c094dab042": "Wiki 运营策略", + "m_a9a545aee2d2f6ac": "显示名称修改策略", + "m_e06b63bd4fe302fd": "不限次数", + "m_727f0e041be74148": "禁止修改", + "m_e816a12c29775a4e": "按天限制", + "m_ee239f3943293f87": "周日", + "m_5cea9b8ab0708590": "私信与注册", + "m_1da0ccf3d059c6ee": "允许私信", + "m_04f83ab519b2acda": "开放注册", + "m_ccfa3209cd2cdff7": "管理员审核", + "m_198a9a5357181c54": "关闭注册", + "m_bbd302e659bae8a0": "编辑权限全局设置", + "m_e5ff4a67571b7ba4": "编辑 ACL", + "m_53063ebc6df404bd": "注册至少 N 天", + "m_4c744fdbd8a71ae1": "门槛", + "m_9b1a7ebabfc59142": "pages.edit_acl 의", + "m_2e4efdf119a31cac": "플래그가 참조하는 전역 门槛. 0이면 가입 즉시 통과(=비활성).", + "m_170c6b52b88441a5": "编辑申请", + "m_7e1c59dde29ccbfc": "ACL 미달 사용자의 编辑을 즉시 반영하지 않고 编辑申请으로 보류해, 검토자(管理员·신뢰 사용자)가\n 页面 페이지에서 승인/반려하는 기능입니다. 이 토글은 배포 설정(", + "m_39ba020943ebbc5c": "의", + "m_712943d8cd52f7ec": ")으로 이전되었습니다.", + "m_67c9030df1b27107": "가\n 0 보다 커야 보류가 발생합니다.", + "m_c8550237ba701f64": "保存设置", + "m_335943d9bd78e53b": "MCP 服务设置", + "m_085215f75afda280": "正在检查...", + "m_a950af1d5f31c41d": "通过 wrangler.toml 中的 MCP_MODE 设置。", + "m_303757e930545121": "MCP 服务地址", + "m_63d90d977348ab1f": "复制", + "m_ff3790a87c0a0775": "流量统计", + "m_aee88743413144a2": "刷新", + "m_cdc65d40899ab1dd": "加载数据", + "m_89d9db257f9c2dbf": "热门页面", + "m_4c9a220ed148a7e9": "24 小时热门", + "m_8027f8ca48863bba": "来源渠道", + "m_a05ccf093c91cb2a": "设备与浏览器", + "m_c636d975abd1f51a": "搜索词", + "m_262630ed44685da3": "最近的 HTTP 错误", + "m_77e1ea5c5688eea4": "路径", + "m_0b9157354ab262ae": "错误信息", + "m_06f7d73412128f50": "状态码", + "m_88d7fcd8d7de0e70": "发生次数", + "m_c0d32ad56b14db88": "性能统计(平均响应时间)", + "m_0673748321d78a32": "管理操作日志", + "m_4b414e789934c4ff": "搜索管理员或内容", + "m_267c4a7a86dd1849": "全部类型", + "m_804fb8e4ccb55940": "权限修改", + "m_7b6b1944a52d4cf5": "封禁/解封", + "m_aa4e74c672848368": "批准注册", + "m_6800c353c9e55b1b": "拒绝注册", + "m_17131d16839d5aa7": "禁止注册", + "m_063326a7a1561189": "设置修改", + "m_c6f37061bf42d40c": "添加分类", + "m_8fecb2f55251d4a6": "分类 删除", + "m_85c00334976622a9": "媒体 删除", + "m_c6c8db783b56b86a": "媒体 GC", + "m_9f4f960bb8b06af3": "页面 删除", + "m_d89a000da895d46b": "恢复页面", + "m_5818ad0db46d8259": "移动页面", + "m_5c50530777ed9773": "批量删除页面", + "m_5957c5e9b39d332b": "批量永久删除页面", + "m_83417580a935ca2f": "批量移动页面", + "m_8b6ff498515bcc2f": "时间", + "m_ba40014ff496f64e": "类型", + "m_3f4e5426e6a9667f": "管理日志翻页", + "m_afc8f822ddc2a301": "图标库", + "m_2b6813572c27a663": "MDI", + "m_faab0dc4735c1cfe": "Bootstrap", + "m_86995a1b96fcd346": "无图标", + "m_9be2a4bf979ffcc9": "搜索图标名称...", + "m_9ea3c456343fe9ea": "正在加载图标...", + "m_1e0b298652261fa0": "没有搜索结果.", + "m_62e0407d3d23ffd0": "全部页面 - VireoWiki", + "m_393a2482464f881c": "全部页面", + "m_386d3809ccaab512": "集中浏览页面、分类与图片;点击标题旁的箭头可展开子页面。", + "m_bdb3fee384c86c0d": "显示详细权限", + "m_16bde868b9e63f6e": "名称升序", + "m_5cf21e0983a11338": "名称降序", + "m_a691b28b8f352e35": "最近修改优先", + "m_2fea6887f9992c48": "最早修改优先", + "m_46391bc8cc3d46a0": "最近创建优先", + "m_e25626f1af29dbef": "最早创建优先", + "m_bc25ffdd4eeb42ec": "长页面优先", + "m_9182894875d7d167": "短页面优先", + "m_422a52cc9ddd50e6": "子页面数量降序", + "m_1f5e08348dd1d87e": "子页面数量升序", + "m_ca905de61fbd2986": "页面数量降序", + "m_391fa021267f1dae": "页面数量升序", + "m_43e8d46175790b16": "实时热门", + "m_00bd3960fea8ea98": "展开", + "m_58178ba689c2eead": "最近更改", + "m_f95e454c28b7e17d": "编辑博客 - VireoWiki", + "m_88d91fa49b2c19a9": "没有结果", + "m_9dc0825fba5422e4": "加载中...", + "m_dc92ca6be7ef747c": "选择图片尺寸", + "m_ebd11b2cabe9972c": "插入代码", + "m_08cc2cac91a65892": "插入区块组件", + "m_369b82fa0700db02": "选择颜色", + "m_4171421030a69398": "选择调色板", + "m_be6d37351abba0f9": "日期/时间", + "m_c430f4c12eaa146a": "周一", + "m_d1378a68e620b1cc": "周二", + "m_2961168962be301a": "周三", + "m_e9d3b01a5a00f1af": "周四", + "m_572388f3b096b817": "周五", + "m_f9aa11dbb15ce647": "周六", + "m_74cd9e84af49dc71": "搜索图标名称... (例如 home、user、card)", + "m_397c5d2dde1f3a79": "编辑博客", + "m_a1b406f82efc3814": "博客文章标题", + "m_1737d8802b708474": "1줄", + "m_bd1f3f02b0950a95": "0자", + "m_b84795fdfa079d3d": "0자(含空格)", + "m_a9126274b61a2366": "0词", + "m_bc5b83eddbe9465e": "刷新验证码", + "m_9393fa8872d201c0": "编辑图片", + "m_55a6f0a582b4f5b9": "切换裁剪模式", + "m_5a2a4223e38b105b": "应用裁剪", + "m_104b0e8a6eca3728": "向左旋转 90°", + "m_82751aa3ca5f5a4e": "向右旋转 90°", + "m_76709ce82501d0c2": "恢复原图", + "m_37b5a36966aeab63": "完成编辑", + "m_54d223f23d5de184": "블로그 - VireoWiki", + "m_2bb95a729d4bb468": "CloudWiki", + "m_202cc44b7a897f31": "블로그", + "m_e5fce40a463b69c1": "새 포스트", + "m_d953523a3646e792": "管理员 操作", + "m_0830771df3e6da3c": "공지 取消", + "m_ef0dca055914e62c": "영구 删除", + "m_7e564575eb7d5eb2": "分享", + "m_8e86f9b1d54f2c51": "复制链接", + "m_b1f1efeb98a9d972": "复制页面文字", + "m_8d118670097e8a26": "复制页面(Markdown)", + "m_d7bfe7b5055c225a": "打印", + "m_61e5a71f3ca6511c": "询问 Claude", + "m_3a178828694315f2": "询问 ChatGPT", + "m_e9d5ca6c140665da": "返回列表", + "m_437187bdb62716e5": "포스트를 찾을 수 없습니다", + "m_6b1df31c2681e88b": "존재하지 않거나 删除된 포스트입니다.", + "m_d4a50c2602250e37": "컴포넌트 JSON 빌더 - VireoWiki", + "m_489a845ceeb31c14": "컴포넌트 JSON 빌더", + "m_cd40c8a1d69cdd05": "사이드바·푸터 네비게이션을 GUI 로 제작한 뒤 결과 JSON 을", + "m_7711db9ce00632ec": "값에 붙여넣으세요.", + "m_30dd3b467d75339a": "全部 重置", + "m_670b7237b098a1e3": "사이드바 구성", + "m_5f8f51410e680cd8": "添加条目", + "m_77b30902275257cd": "标题 (Header)", + "m_14b69bd6eeb0839b": "文字", + "m_c64dd5eb2135d0ba": "分隔线", + "m_c0c2044762e6d217": "푸터 구성", + "m_d124c7e40548f99a": "사이드바 JSON", + "m_be0fa73996933633": "将输入的 JSON 应用到上方界面", + "m_47d4ec6c36eb0873": "在这里粘贴 JSON 数组,然后点击上方的 '应用' 按钮。", + "m_00b28fc736016af5": "푸터 JSON", + "m_26632d0a3a310216": "讨论 - VireoWiki", + "m_cba95f43a12d7d78": "返回页面", + "m_050b1f04e0dee903": "新讨论", + "m_5c55a67935af8f45": "全部", + "m_c14c915da5fbec64": "开放", + "m_9cf5f152776decfc": "发起讨论", + "m_fc4e7c9b637515d7": "讨论标题", + "m_80c010b6e1892329": "输入讨论内容", + "m_b61f333b91b21f79": "发布", + "m_0bfca7bdd2207da4": "发表评论", + "m_75ff606f874424ab": "输入评论内容", + "m_d346633d3a4e54d3": "取消回复", + "m_d0234b632dcbbab5": "编辑页面 - VireoWiki", + "m_e3d507e8f947433f": "发生编辑冲突", + "m_52b172658ccd1f00": "base v", + "m_b06a67fdb63d45e4": "서버 v", + "m_d8e0260302c1feae": "개\n 변경", + "m_e4aaa7fac477c6bf": "내 编辑본 ·", + "m_cd8a10d781a40851": "项改动", + "m_fd00391ec84ee73a": "浏览冲突", + "m_1d851edde2d1e26a": "上一个冲突", + "m_626f690f96179548": "下一个冲突", + "m_20bf5a70a1b1444f": "差异模式", + "m_ad6a950b4620d66f": "Unified", + "m_32afaa7843336480": "Split", + "m_f7c58140798c4f5c": "比较改动", + "m_749fd9c60a28f34e": "我的编辑 ↔ 服务器最新版本", + "m_2d92ab5f3632b2eb": "我的改动(基础版本 ↔ 我的编辑)", + "m_f86137ada98930bb": "服务器改动(基础版本 ↔ 最新版本)", + "m_8290e2f665c2099b": "服务器正文", + "m_13d61fea9f174905": "预览", + "m_f2861e697c38887b": "合并草稿", + "m_3b0bd3302e7ec46e": "系统会自动插入冲突标记,请手动编辑解决。", + "m_cb61a55481561971": "0 项未解决", + "m_391f167958bd4583": "将解决结果应用到编辑器", + "m_26dc36277d3831fc": "编辑页面", + "m_72d2bae2a744d54f": "현재", + "m_ee16e42cf2c52882": "仅编辑当前章节,保存时只更新此章节。", + "m_bb95998fd00570c2": "拆分为子页面", + "m_d967118a6a467fb2": "页面\n 切换到完整页面编辑", + "m_20955652b7c3d268": "页面 标题", + "m_16f715efa9f0ba6c": "显示标题", + "m_3d5c3c3dbaca6b32": "(可选)", + "m_a67c7c8486969162": "输入分类后按回车或逗号", + "m_ac6ee8a4adcaa68a": "分类 管理", + "m_a58d6f8a9aef5cd8": "页面重定向", + "m_e1516325e6039440": "输入访问此页面时跳转到的目标页面标题", + "m_5f75abc799d3a4a6": "保留当前页面内容,并将访客转到另一页面。", + "m_278a8f83ac5d0ec9": "语法指南", + "m_2ba335f099de9f54": "预览改动", + "m_3f93387bd2d962e4": "预览渲染结果", + "m_310aa9a52377ce2a": "编辑摘要", + "m_47a8ff3f51364711": "简要说明本次改动", + "m_2d22af42a79f019a": "编辑备注", + "m_98047b375180d8fb": "仅编辑者可见,不记录在修订历史中", + "m_303561cc374355bf": "留下仅编辑者可见的备注,读者看不到。", + "m_88168f37ced26d1c": "在此浏览器临时保存当前正文", + "m_5329e3f0ee463df5": "保存草稿", + "m_0cb3fb5b86d7dec6": "发生错误", + "m_d98ee0e5f9399db9": "ERROR", + "m_2fadf395e582b518": "发生未知错误。", + "m_527ed1f5f1272340": "探索 - VireoWiki", + "m_98ceb57fd8c4192a": "探索", + "m_dc11b75252240cb7": "孤立页面", + "m_4ecce7be480f6f30": "— 没有其他页面链接到的页面", + "m_91da9a0ea953819a": "待创建页面", + "m_81ac554b62fd7744": "— 有页面引用但尚未创建的页面", + "m_868e138a540a8169": "最近讨论", + "m_66107ee6f097cc69": "待审核编辑", + "m_669c9c93aa6585ee": "— 可在相应页面中审核", + "m_900279772114fc7a": "随机浏览", + "m_f482e3e5b8c7be21": "随机浏览页面", + "m_8991e2cd957c4fa4": "页面动态", + "m_c18fdf7c840dbd7d": "最近编辑", + "m_d0779dcb213ea806": "只看待巡查编辑", + "m_427017aa416d183c": "最近编辑分页", + "m_561340c5675ebec3": "页面名称升序", + "m_9b4a824feb2589ab": "页面名称降序", + "m_79ffcd4493ccbc87": "创建时间降序", + "m_c1d6c8a33bdbf06f": "创建时间升序", + "m_7c03015f02805cf6": "最后编辑时间降序", + "m_621179d315791a07": "最后编辑时间升序", + "m_c5089e5ca420bbda": "分类名称升序", + "m_ba22bb6bab115807": "分类名称降序", + "m_4b211956be18fc54": "页面列表分页", + "m_23d882bdf6b507e8": "页面分组导航", + "m_af0ae3351923fc5d": "页面目录", + "m_52daa71ebc310581": "目录", + "m_82b4b8d91a0f11ad": "创建第一个页面", + "m_21b45a82891c3229": "当前页面有正在进行的讨论。", + "m_477e016daabf33df": "查看讨论", + "m_b7e78359233ab5d1": "复制 HTML", + "m_c86d3f1f09905f89": "页面工具", + "m_881ae691c44b361d": "0줄", + "m_cc9d207f74c40e3d": "上一页/下一页", + "m_f2d08a239c38f620": "此页面已删除", + "m_6d9ff8ce8d9e2b5e": "此页面为私有页面", + "m_8536c6991311409e": "此页面设为私有,仅有权限的用户可以阅读。", + "m_ed737b618c53f493": "分类:", + "m_a610e0c62b3e1e39": "本页目录", + "m_843bf1cad06adf9d": "목차", + "m_343d9b642b08734e": "읽기 모드 나가기", + "m_89295faf2d570ffb": "Raw 보기 나가기", + "m_43bd5e82c49e4f9c": "맨 위로", + "m_d8043d8bbd373b37": "맨 아래로", + "m_41ec79ea3fc0f117": "VireoWiki - 登录", + "m_ef45c4d5478d199f": ",欢迎使用", + "m_c03129eac3c27cd8": "欢迎使用 Wiki,登录后即可参与编辑。", + "m_9f8706d68a27ee92": "保持登录", + "m_3931e972f88bc57d": "在其他设备登录(二维码)", + "m_b834056f1dc1a019": "记事本 - VireoWiki", + "m_b331f2b5a8abe133": "记事本", + "m_1ef3de06b32e521b": "清空", + "m_9d918986a246b50c": "내 个人资料 - VireoWiki", + "m_cf2151043e18b878": "正在加载个人资料...", + "m_ad92339e37949c3f": "修改显示名称", + "m_0b19c2a89b3d17d0": "新的显示名称", + "m_1b8fdacd48c195df": "其他用户将看到此名称。", + "m_3ea2d23c902cfa31": "头像", + "m_7c5c82ca2ad0dbf0": "隐藏头像", + "m_b4b622e5d787a172": "启用后统一显示默认头像;关闭后下次登录或刷新头像时恢复账号头像。", + "m_92cd4592ada228d6": "MCP 编辑立即生效", + "m_e51daf0118dbde85": "允许 MCP 编辑立即生效", + "m_3cd7dc78042bc06b": "켜면 연결한 MCP 도구에 즉시 应用용", + "m_cb817db385823e7b": "도구가 추가로 노출됩니다. AI가", + "m_602ad2acb82a4933": "를 호출하면 승인 대기 없이 곧바로 새 리비전이 创建됩니다(", + "m_c48551f559296535": "은 그대로 승인 대기로 제출). 编辑 권한·页面 잠금·충돌 검증은 동일하게 应用됩니다.", + "m_247ca01ae2808bf7": "通知设置", + "m_3ce5333a13b82bf1": "可在参与的每个讨论中分别开关通知。", + "m_e3a900d9b21c69bc": "活跃统计", + "m_c28a589f5d38fe2e": "待审核的 MCP 编辑", + "m_d03ed9f9db528545": "这里显示已连接 MCP 代理提交的编辑。", + "m_218d5bfa501a1520": "通知归档", + "m_e5049a66d3511e59": "通知保存 90 天,之后自动清理。", + "m_38844b135cf70dfc": "更多", + "m_63a5e7b7391191b1": "收件箱", + "m_02d55e8b9e34124e": "发件箱", + "m_6ed05ab6df7cc610": "关注的页面", + "m_e38c2efbafd32eaf": "关注的页面有编辑时会发送通知,可调整范围或取消关注。", + "m_1cb03bd4cfc9f747": "关注的分类", + "m_d526f58f16527fbb": "关注分类中的页面有编辑时会发送通知。", + "m_dd50c9cefaffe5df": "我编辑的页面", + "m_e2eb172ff696c154": "我参与的讨论", + "m_33bc517653ac5013": "我的工单", + "m_53c358ee2e006f26": "登录会话管理", + "m_d4e7aca54ad58888": "退出其他所有会话", + "m_68b628808f2afacc": "当前活跃的登录会话;如有陌生设备,请立即退出。", + "m_93853e16ae10570b": "Wiki MCP", + "m_609c2e2b937867b8": "Claude Desktop, Claude Code 등 MCP 클라이언트를 이 위키에 연결합니다.", + "m_d3347f6764ac396a": "OAuth 自动 搜索을 지원하는 MCP 클라이언트(Claude Desktop 등)에서 이 URL을 서버 주소로 입력하세요.", + "m_734726d5724258d3": "已连接的客户端", + "m_226d718499895d4d": "断开所有连接", + "m_98037ea725fd3581": "查看通过 OAuth 连接的客户端。如有陌生客户端请立即断开;记录保留 7 天。", + "m_5f600b307b4eb0fb": "API 密钥", + "m_73e4d83cc4e690da": "OAuth 대신 직접 API 密钥를 헤더에 실어 인증하는 대안 방식입니다.", + "m_a7b53b47db0647d8": "安全提醒:", + "m_b6ee042ea6cd4f9a": "API 密钥 방식은 OAuth에 비해 권장되지 않습니다. 유출 시 에이전트 권한이 탈취될 수 있으므로, 반드시 로컬 신뢰 환경에서만 사용하고 유출 시 즉시 删除하거나 재발급하십시오.", + "m_ef719aff9261b129": "签发或更新 API 密钥", + "m_5c208e3348180af6": "删除 API 密钥", + "m_635cd189be33b0bd": "MCP 客户端 JSON 请求头示例", + "m_23925bc3a05f4608": "JSON 复制", + "m_97a1df85ff6e77c5": "MCP 클라이언트 설정 파일(", + "m_16a9138262efd85a": ")의 Authorization 헤더에 API 密钥를", + "m_eabf97e700aafe73": "형식으로 지정하세요.", + "m_62e0b494cfecbaac": "MCP 工具设置", + "m_2a4540b12718c890": "全部启用", + "m_34f7336d39831fca": "全部关闭", + "m_891e160d20acffac": "내 권한에 제공된 MCP 도구 列表입니다. 끈 도구는 MCP 핸드셰이크에서 아예 없는 것처럼 제외되며 호출 시 거부됩니다. 默认값은 모두 켜짐입니다. 변경 후 연결된 MCP 클라이언트를 새로고침(재연결)하세요.", + "m_6b85ce0c6561eb77": "联系管理者", + "m_32b60cb80218c4fd": "注销账号", + "m_98eab38c3ef574c2": "确认二维码登录 - VireoWiki", + "m_00091b9967863749": "确认二维码登录", + "m_ec0ee1c64ed494da": "将在其他设备上登录以下账号。", + "m_b1699eb03cab4271": "正在加载信息…", + "m_4a7849864c3b8d40": "프로필", + "m_d9a999a7c8e80c8b": "登录账号", + "m_cd438f5d0cca898b": "登录设备", + "m_36f33adaf0942634": "确认", + "m_8b853f892cb85872": "请确认这是你发起的登录请求,陌生设备请勿批准。", + "m_2f96458f0521ac56": "进入 Wiki", + "m_ed13a5144522b278": "编辑历史 - VireoWiki", + "m_848123d14f84faa2": "Raw", + "m_8efe3f8aeaefdb91": "编辑历史:", + "m_f1f32d0157fae751": "编辑历史分页", + "m_891b86301d456556": "搜索结果 - VireoWiki", + "m_a96c9a854190874d": "排序", + "m_c0ed6ee9ca70d07f": "相关度排序", + "m_cae945a91d2ad914": "最新优先", + "m_db6dcc2fcc5ddaf4": "标题排序", + "m_4e65d015121fbe4e": "搜索范围", + "m_450abb19edb20d7a": "标题和正文", + "m_9522cc3124092a20": "仅标题", + "m_744bfa455f7caedd": "仅正文", + "m_0e84cdbe31d73354": "准确的分类名称", + "m_43f261290e2dd167": "起始日期", + "m_895cd52fbbb64cd4": "结束日期", + "m_6e6203060edf5726": "包含私有页面", + "m_ddec93e53a9a797a": "搜索方式", + "m_7d15fc867c469a95": "使用 FTS 进行正文全文搜索。", + "m_7815c5140c7ab3f0": "FTS", + "m_785173da26b9c654": "使用 AI Search(RAG)搜索正文,标题搜索保持不变。", + "m_f77fb5fc13e89e5d": "RAG", + "m_7a1f3e4504d87371": "个人资料 설정 - VireoWiki", + "m_8c697a8376c5f0ef": "欢迎!", + "m_aba04ee378f3ebee": "请设置在 VireoWiki 中使用的显示名称。", + "m_97f08d0ac41ae4ef": "켜면 OAuth 공급자의 사진 대신 默认 아바타가 표시됩니다. 个人中心에서 언제든 변경할 수 있습니다.", + "m_c236b6b12c680ec2": "注册申请留言", + "m_968333deb0955666": "(选填)", + "m_08b4c0c0c40584d0": "输入给管理员的留言。", + "m_8f7b8409be23dac8": "通过浏览器推送接收审核结果", + "m_b382d588f5512e48": "允许浏览器通知后可及时收到结果。", + "m_715ee9dc842f34e4": "开始使用", + "m_73cf69a2f70be816": "工单咨询 - VireoWiki", + "m_7f7d851991a5f16e": "새 문의", + "m_a66cb0fe57643b7f": "유형: 全部", + "m_4119a4919e728252": "새 문의 发布", + "m_74891a3addbadecb": "문의 유형", + "m_e1fa4c1323c3ddd1": "차단된 账号은 소명(이의제기)을 위한 账号 문의만 发布할 수 있습니다.", + "m_7de7cf6a611ea4f3": "문의 标题", + "m_9609da83b8b4f312": "문의 内容을 입력하세요", + "m_96f65ee16b1f4ef5": "사용자 个人资料 - VireoWiki", + "m_6a3219761890e001": "管理操作", + "m_8cd573f6026d64a6": "编辑记录分页", + "m_5a189009ea301dc2": "스무딩 대상 없음", + "m_be7bef35403236ab": "주파수 응답 데이터를 파싱할 수 없습니다.", + "m_04d9f97a19a93f89": "
              스무딩 적용 후 위상(Phase) 데이터는 제거됩니다.
              ", + "m_daba9777afa31b0a": "
              기존 Smoothing: ", + "m_37d1bd2e240ceedc": "스무딩 적용", + "m_d87a4cb7b2cf3797": "

              현재 데이터: ", + "m_84e0b2a3fbd2112c": " 포인트 ", + "m_b8e334b7c2fdeb90": "(약 ", + "m_4e34c76a6d1f6f0f": " KB)

              ", + "m_338ad9e3d971af1d": "", + "m_7eed8f0104741b98": "", + "m_3911749132b03ce7": "", + "m_6f419bd0d781c71c": "", + "m_9812fd1911c755ce": "", + "m_90b8d2c6a8242047": "", + "m_3b0f62c7f9961e41": "", + "m_62bd76cca29eee40": "", + "m_53e456491f37bc9c": "로그 균등 분포로 생성됩니다. (50 ~ 4000)
              리비전을 통해 스무딩 이전으로 복원이 가능합니다.
              ", + "m_e2ebe184ab11ca28": "옥타브 분수를 선택하세요.", + "m_4cdd37d6d41ae06b": "출력 포인트 수는 50~4000 범위입니다.", + "m_7a41047d553357ee": "데이터 스무딩 (1/", + "m_d3a1196fb372994a": "스무딩 적용 완료", + "m_42f54b48383c48fe": "

              포인트: ", + "m_fca475aedb398f68": "

              크기: ", + "m_da87a98efb7fa482": " KB → ", + "m_68785ba1090341f5": " KB ", + "m_eecd13ecc9dfe144": " 데이터 스무딩", + "m_3e2e7e493bed9251": "1/N 옥타브 스무딩", + "m_66a160f8042e2a21": "

              ⚠️ 주파수 데이터를 파싱할 수 없습니다.
              ", + "m_e0c45ab49ad7a4b2": "\"__VIREO_SLOT_0__\" 은(는) 유효한 주파수응답 데이터가 아닙니다. (freq: 문서만 타겟으로 사용 가능)", + "m_940e6692b62ccb8f": "타겟 응답(__VIREO_SLOT_0__)을 불러올 수 없습니다.", + "m_d51302ae04a2e98e": "타겟 응답(__VIREO_SLOT_0__)의 익스텐션이 비활성화되어 있습니다.", + "m_47a1317f9638980c": "타겟 응답(__VIREO_SLOT_0__): __VIREO_SLOT_1__", + "m_334817d124fa7a8d": "타겟 응답(__VIREO_SLOT_0__) 데이터를 파싱할 수 없습니다.", + "m_236de7316ec1347f": "타겟 응답(__VIREO_SLOT_0__)이 유효하지 않습니다.", + "m_976fe5361e847363": "", + "m_b20a4b92c84c5f5f": "", + "m_6c57a398a288e665": "", + "m_aa297e7f66f93047": "SPL (dB)", + "m_80ac818ba5040aaa": "Target (__VIREO_SLOT_0__)", + "m_5f9597e24414b24b": "Frequency (Hz)", + "m_fa2631f89de91520": "Phase (°)", + "m_bab8d4ce68ac49f0": "
              ⚠️ 그래프 라이브러리 로드에 실패했습니다.
              ", + "m_9225b45181da8f16": "이미지/표 캡션", + "m_302bae1279382d2b": "이미지", + "m_b68c7d1bc9592573": "카테고리", + "m_25f0d827e03ff670": "+$1줄", + "m_75cb099b9144f625": "-$1줄" +} diff --git a/packages/wiki-shared/src/i18n/sources.json b/packages/wiki-shared/src/i18n/sources.json new file mode 100644 index 0000000..4ffd1cd --- /dev/null +++ b/packages/wiki-shared/src/i18n/sources.json @@ -0,0 +1,12161 @@ +{ + "m_b6c1c96c52ea9de7": [ + "src/client/admin/palettes.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts", + "src/client/pages/setup-profile-form.ts", + "src/routes/auth/index.ts" + ], + "m_17fd2bab60f5fa02": [ + "src/client/admin/palettes.ts" + ], + "m_32d3a1d05f377182": [ + "src/client/admin/palettes.ts" + ], + "m_cc9f8b1e951c4b0c": [ + "src/client/admin/palettes.ts" + ], + "m_5fb926229090001c": [ + "src/client/admin/palettes.ts" + ], + "m_2f8d5d46605e2cde": [ + "src/client/admin/palettes.ts" + ], + "m_3537f0cc3ec9fa10": [ + "src/client/admin/palettes.ts" + ], + "m_c645164a4beb76ac": [ + "src/client/admin/palettes.ts" + ], + "m_4504090c6a71c3b5": [ + "src/client/admin/palettes.ts" + ], + "m_ad423fa90e1d916c": [ + "src/client/admin/palettes.ts" + ], + "m_53518a1483b7f94b": [ + "src/client/admin/palettes.ts" + ], + "m_b178b2b6a6f06331": [ + "src/client/admin/palettes.ts" + ], + "m_b49f20d86148ddfd": [ + "src/client/admin/palettes.ts", + "src/routes/pending-edits.ts", + "packages/wiki-shared/src/editor/cm-shared.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_289d5963498c8fac": [ + "src/client/admin/palettes.ts" + ], + "m_7e6dcbfd369a97fc": [ + "src/client/admin/palettes.ts", + "src/client/permissions/category-acl-modal.ts" + ], + "m_ba971bfea1b3477d": [ + "src/client/admin/palettes.ts" + ], + "m_e24943bb3e7cc75d": [ + "src/client/admin/palettes.ts" + ], + "m_ca8df919e95738a1": [ + "src/client/admin/palettes.ts" + ], + "m_6139b6c3ed73cd4a": [ + "src/client/admin/palettes.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_be876433993ab7ba": [ + "src/client/admin/palettes.ts", + "src/client/permissions/category-acl-modal.ts", + "src/client/permissions/permissions-modal.ts", + "packages/wiki-shared/src/editor/image.ts", + "public/ext/freq/freq-editor.js" + ], + "m_ca0be49e14db6168": [ + "src/client/admin/palettes.ts" + ], + "m_5cb5981d516bbfe3": [ + "src/client/admin/palettes.ts" + ], + "m_d2e05037626d501d": [ + "src/client/article/backlinks.ts" + ], + "m_c98b990e5d9b8b91": [ + "src/client/article/backlinks.ts" + ], + "m_7eb48ab9b79e6ee6": [ + "src/client/article/backlinks.ts" + ], + "m_a0ed21219d08052a": [ + "src/client/article/backlinks.ts" + ], + "m_37eba2bfd2ba98ed": [ + "src/client/article/backlinks.ts" + ], + "m_7a0ef1e9e023fa04": [ + "src/client/article/breadcrumb.ts" + ], + "m_038b55bd7b3d8fa2": [ + "src/client/article/breadcrumb.ts" + ], + "m_06f20c851bc730ec": [ + "src/client/article/breadcrumb.ts" + ], + "m_589949d0ce1b0617": [ + "src/client/article/breadcrumb.ts" + ], + "m_d278e66fa5d99310": [ + "src/client/article/breadcrumb.ts" + ], + "m_661f7e44a4aa7fa1": [ + "src/client/article/breadcrumb.ts" + ], + "m_63935251e583b27f": [ + "src/client/article/share.ts" + ], + "m_0bc1fb72ae1be5c5": [ + "src/client/article/share.ts", + "src/client/article/structure.ts", + "src/client/common.ts", + "src/client/edit/cm-shared.ts", + "src/client/edit/image.ts", + "src/client/edit/main.ts", + "src/client/edit/modals.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/admin.ts", + "src/client/pages/blog.ts", + "src/client/pages/discussions.ts", + "src/client/pages/explore.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts", + "src/client/pages/revisions.ts", + "src/client/pages/setup-profile-form.ts", + "src/client/pages/tickets.ts", + "src/client/pages/user-profile.ts" + ], + "m_ec6f40a9e763d7c1": [ + "src/client/article/share.ts", + "src/client/pages/blog.ts" + ], + "m_38d098ba7768a3d1": [ + "src/client/article/share.ts" + ], + "m_5d316b522e9b3812": [ + "src/client/article/share.ts" + ], + "m_384c7951cf63c117": [ + "src/client/article/share.ts", + "src/client/pages/blog.ts" + ], + "m_24626229dc0b225b": [ + "src/client/article/share.ts" + ], + "m_513eaca6e4834d62": [ + "src/client/article/share.ts" + ], + "m_34f74a1b1a652190": [ + "src/client/article/structure.ts" + ], + "m_e97fa0a8680309fb": [ + "src/client/article/structure.ts" + ], + "m_dfb2fc6223803099": [ + "src/client/article/structure.ts" + ], + "m_70de8e074ef644cd": [ + "src/client/article/structure.ts", + "src/client/diff.ts" + ], + "m_2f7cace2e470cb6f": [ + "src/client/article/structure.ts" + ], + "m_fd065914070c3ee5": [ + "src/client/article/structure.ts" + ], + "m_3fd47edce45b3603": [ + "src/client/article/structure.ts", + "src/client/common.ts", + "src/client/edit/bulk-category.ts", + "src/client/edit/image.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/discussions.ts", + "src/client/pages/index.ts", + "src/client/pages/login.ts", + "src/client/pages/mypage.ts", + "src/client/pages/revisions.ts", + "src/client/pages/tickets.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_7e0bfd6a2f4cf2c2": [ + "src/client/article/structure.ts" + ], + "m_1194736d55543b31": [ + "src/client/article/structure.ts" + ], + "m_33dcddf15dc978d8": [ + "src/client/command-palette.ts", + "src/client/pages/index.ts" + ], + "m_876c6189ce292af4": [ + "src/client/command-palette.ts" + ], + "m_c9370c3f2f8dde70": [ + "src/client/command-palette.ts", + "src/client/pages/index.ts" + ], + "m_81b8d99b4f9bdf3c": [ + "src/client/command-palette.ts", + "src/client/pages/index.ts" + ], + "m_2cd0f3be8738a86c": [ + "src/client/command-palette.ts", + "src/client/common.ts", + "src/client/edit/bulk-category.ts", + "src/client/edit/image.ts", + "src/client/edit/main.ts", + "src/client/edit/modals.ts", + "src/client/pages/admin-bulk-manage.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/admin.ts", + "src/client/pages/blog.ts", + "src/client/pages/components-json-builder.ts", + "src/client/pages/discussions.ts", + "src/client/pages/index.ts", + "src/client/pages/memo.ts", + "src/client/pages/mypage.ts", + "src/client/pages/revisions.ts", + "src/client/pages/tickets.ts", + "src/client/pages/user-profile.ts", + "public/admin.html", + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/qr-login.html", + "public/tickets.html" + ], + "m_b68b9aa395e1d283": [ + "src/client/command-palette.ts" + ], + "m_1d3c8bb552e44b23": [ + "src/client/command-palette.ts" + ], + "m_6c0ad4da87f4b4b3": [ + "src/client/command-palette.ts" + ], + "m_4af2f5a4ab686f85": [ + "src/client/command-palette.ts" + ], + "m_cd86b10b359ba0f7": [ + "src/client/command-palette.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_eef9c6abde132084": [ + "src/client/command-palette.ts" + ], + "m_b8957c30d19267f3": [ + "src/client/command-palette.ts" + ], + "m_dcfde3b8d380d541": [ + "src/client/command-palette.ts" + ], + "m_ffe893bace2a4aba": [ + "src/client/command-palette.ts", + "src/client/edit/main.ts" + ], + "m_5a269c0e2c6ac18b": [ + "src/client/command-palette.ts" + ], + "m_87354adb1c31e43d": [ + "src/client/command-palette.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_8c74baa4038b9dec": [ + "src/client/command-palette.ts" + ], + "m_a7a6fa8c2a56c940": [ + "src/client/command-palette.ts" + ], + "m_0b9ebbd426468b58": [ + "src/client/command-palette.ts" + ], + "m_e44a6a58308e37db": [ + "src/client/command-palette.ts" + ], + "m_3f13602d704b1fd0": [ + "src/client/command-palette.ts" + ], + "m_71d696e2079989c2": [ + "src/client/command-palette.ts" + ], + "m_4e65100f2af2e903": [ + "src/client/command-palette.ts" + ], + "m_c2952a5ffcc34883": [ + "src/client/command-palette.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_4550d1947c5097d8": [ + "src/client/command-palette.ts" + ], + "m_f6eeae9b0f5d9dbb": [ + "src/client/command-palette.ts", + "src/client/edit/main.ts", + "src/client/pages/memo.ts" + ], + "m_2ce5a8b1a915598d": [ + "src/client/command-palette.ts" + ], + "m_61935cdc25a7b5c8": [ + "src/client/command-palette.ts" + ], + "m_d3af477e12a7a4b3": [ + "src/client/command-palette.ts" + ], + "m_51f9a31c0ae7a10b": [ + "src/client/command-palette.ts" + ], + "m_25e2dedb7781d25c": [ + "src/client/command-palette.ts" + ], + "m_76e21e04481b1910": [ + "src/client/command-palette.ts" + ], + "m_dbfc08212ac85579": [ + "src/client/command-palette.ts" + ], + "m_4f255984f7f8e45a": [ + "src/client/command-palette.ts" + ], + "m_1596d8fae424d0ca": [ + "src/client/command-palette.ts" + ], + "m_115518dce9b7a39f": [ + "src/client/command-palette.ts" + ], + "m_2a9b0e7c31cc401b": [ + "src/client/command-palette.ts" + ], + "m_d5fe8044502d75dd": [ + "src/client/command-palette.ts" + ], + "m_463dd346080e7ab3": [ + "src/client/command-palette.ts" + ], + "m_7bb3f9811758f0e9": [ + "src/client/command-palette.ts" + ], + "m_1f12b8e23dfddbba": [ + "src/client/command-palette.ts" + ], + "m_452c7b10d57a86a7": [ + "src/client/command-palette.ts", + "src/client/edit/autocomplete.ts", + "src/client/pages/explore.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_515559957fd3acbd": [ + "src/client/command-palette.ts", + "public/all.html", + "public/edit.html", + "public/search.html" + ], + "m_5a30b6ad61d39bd0": [ + "src/client/command-palette.ts" + ], + "m_1ba045c3573b1251": [ + "src/client/command-palette.ts", + "src/client/pages/admin.ts" + ], + "m_a706654a5b134832": [ + "src/client/command-palette.ts" + ], + "m_d86de434ba64df92": [ + "src/client/command-palette.ts" + ], + "m_e1cfad4ae66a5af3": [ + "src/client/command-palette.ts" + ], + "m_64a9bf4fc5ecfc98": [ + "src/client/command-palette.ts" + ], + "m_0a7a8e73f4902844": [ + "src/client/command-palette.ts" + ], + "m_efaf8a0202b89829": [ + "src/client/command-palette.ts" + ], + "m_33d377b6c9c76b81": [ + "src/client/command-palette.ts" + ], + "m_89ce481a4b23d2a4": [ + "src/client/command-palette.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_ee24f945b92412f6": [ + "src/client/command-palette.ts" + ], + "m_f17dc0280ef14b6d": [ + "src/client/command-palette.ts" + ], + "m_de8f14b2aedcbfaf": [ + "src/client/common.ts" + ], + "m_9341d4a4f50d3c34": [ + "src/client/common.ts" + ], + "m_63d43c7f9b539745": [ + "src/client/common.ts", + "src/client/edit/autocomplete.ts", + "src/client/edit/bulk-category.ts" + ], + "m_341c9158d0aeffee": [ + "src/client/common.ts" + ], + "m_a94b9e1aaa79c9b1": [ + "src/client/common.ts" + ], + "m_d6fec6bc78d9cef5": [ + "src/client/common.ts" + ], + "m_cde96ff40e7778ed": [ + "src/client/common.ts" + ], + "m_aad7db05d61d31ff": [ + "src/client/common.ts" + ], + "m_a2d3a4eeefd7bf8f": [ + "src/client/common.ts" + ], + "m_94c57dbb47dd1a3f": [ + "src/client/common.ts" + ], + "m_051ea7bfba93e9e6": [ + "src/client/common.ts" + ], + "m_08d7d6ce0ebacb38": [ + "src/client/common.ts" + ], + "m_74df34d3749eea0f": [ + "src/client/common.ts" + ], + "m_a424f4ceb627b56d": [ + "src/client/common.ts" + ], + "m_030fa62eb15037f3": [ + "src/client/common.ts" + ], + "m_de6785d99e028971": [ + "src/client/common.ts", + "src/client/pages/discussions.ts", + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts" + ], + "m_f8083e01520b7dac": [ + "src/client/common.ts" + ], + "m_9ebf77f67bc49767": [ + "src/client/common.ts" + ], + "m_5972982ce6bc68ca": [ + "src/client/common.ts" + ], + "m_56db248412ff2792": [ + "src/client/common.ts", + "public/admin.html" + ], + "m_78496a61deb74f2d": [ + "src/client/common.ts" + ], + "m_7a44dba7742f6b57": [ + "src/client/common.ts" + ], + "m_6f93ba4c79f837ca": [ + "src/client/common.ts", + "src/client/pages/admin.ts" + ], + "m_958ece350af5369a": [], + "m_f6a2faaac200e75d": [ + "src/client/common.ts" + ], + "m_b9dfeed9394b41c2": [ + "src/client/common.ts", + "src/client/pages/mypage.ts" + ], + "m_f8abee26e0bf27ae": [ + "src/client/common.ts", + "src/client/pages/mypage.ts" + ], + "m_22abbed26f07b173": [ + "src/client/common.ts", + "src/client/pages/mypage.ts" + ], + "m_c883eb513f547831": [ + "src/client/common.ts" + ], + "m_9b2ccbb48e31d52a": [ + "src/client/common.ts", + "src/client/pages/mypage.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_2066f4e83f732ab8": [ + "src/client/common.ts" + ], + "m_6744b4c6a9aa0038": [ + "src/client/common.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_00c6d96fa30a71b1": [ + "src/client/common.ts" + ], + "m_229f3f58efb2b445": [ + "src/client/common.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_a4d9636a501c734d": [ + "src/client/common.ts" + ], + "m_6c38770816549d26": [ + "src/client/common.ts" + ], + "m_7de85bfdf94080d7": [ + "src/client/common.ts" + ], + "m_efbd623a09987dc7": [ + "src/client/common.ts" + ], + "m_bfd3af733fbd80eb": [ + "src/client/common.ts" + ], + "m_f34747723d1d3bcc": [ + "src/client/common.ts" + ], + "m_892529bce47eabeb": [ + "src/client/common.ts" + ], + "m_1ac13841ba2ea68b": [ + "src/client/common.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/discussions.ts", + "src/client/pages/explore.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts", + "src/client/pages/revisions.ts", + "src/client/pages/tickets.ts", + "src/client/pages/user-profile.ts" + ], + "m_5d63997a05b668f1": [ + "src/client/common.ts" + ], + "m_66e824fac80d97ba": [ + "src/client/common.ts" + ], + "m_0adc4beac9ba4b15": [ + "src/client/common.ts" + ], + "m_ca401920b0fcdb0c": [ + "src/client/common.ts" + ], + "m_2beba854a0be713e": [ + "src/client/common.ts" + ], + "m_9aee63bd0f6981b7": [ + "src/client/common.ts" + ], + "m_ab85f44f1d779fcb": [ + "src/client/common.ts" + ], + "m_c76bcedd965ccb8f": [ + "src/client/common.ts" + ], + "m_34f48b56d4e22e22": [ + "src/client/common.ts" + ], + "m_eeaf95fca202a934": [ + "src/client/common.ts" + ], + "m_25f3b0bc182bfca2": [ + "src/client/common.ts" + ], + "m_4b6b457e887fe436": [ + "src/client/common.ts" + ], + "m_2f10882d8db32301": [ + "src/client/common.ts", + "src/client/pages/discussions.ts", + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts" + ], + "m_13d9a4afbbd1b91f": [ + "src/client/common.ts", + "src/client/pages/discussions.ts", + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts" + ], + "m_dd30752bcdb324d3": [ + "src/client/common.ts", + "src/client/pages/discussions.ts", + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts" + ], + "m_e22f859d1ee42e08": [ + "src/client/common.ts" + ], + "m_c1fee7c8e96d332c": [ + "src/client/common.ts" + ], + "m_04bf37d3b91172bc": [ + "src/client/common.ts" + ], + "m_06864158538ff797": [ + "src/client/common.ts" + ], + "m_10f31f3c85ee150f": [ + "src/client/diff.ts", + "src/client/edit/cheatsheet.ts" + ], + "m_c8084b4d279d80e4": [ + "src/client/diff.ts", + "src/client/edit/cheatsheet.ts", + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_072e68b79d9bae6d": [ + "src/client/diff.ts" + ], + "m_b17999ff6941b1b9": [ + "src/client/diff.ts" + ], + "m_abc1e7cf135be69e": [ + "src/client/diff.ts" + ], + "m_08f914b5b8fc4ad9": [ + "src/client/diff.ts" + ], + "m_16e9e630232b0f54": [ + "src/client/diff.ts", + "src/client/edit/conflict.ts" + ], + "m_28933254868ff727": [ + "src/client/diff.ts" + ], + "m_348d96f189dbad3e": [ + "src/client/diff.ts" + ], + "m_0f6519606ca9a78a": [ + "src/client/diff.ts" + ], + "m_e81f18f2ccfa0ec4": [ + "src/client/diff.ts" + ], + "m_2e352b418c280276": [ + "src/client/diff.ts" + ], + "m_4031d8d14f0a6741": [ + "src/client/diff.ts" + ], + "m_ac1fc253bac86a56": [ + "src/client/diff.ts" + ], + "m_ec377483a303fde2": [ + "src/client/diff.ts" + ], + "m_cc34e063fa6085b3": [ + "src/client/discussion-edit/editor.ts" + ], + "m_56e88bd031eefcae": [ + "src/client/discussion-edit/editor.ts" + ], + "m_258ad4b095a1841b": [ + "src/client/discussion-edit/editor.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_fba83d218eea748c": [ + "src/client/discussion-edit/editor.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_dd933ae8c2d8fac8": [ + "src/client/discussion-edit/editor.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_a862dac745e78146": [ + "src/client/discussion-edit/editor.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_4a02004ab78c6f58": [ + "src/client/discussion-edit/editor.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_f07b32009d77b4f6": [ + "src/client/discussion-edit/editor.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_8d79ff34d4f67a6e": [ + "src/client/discussion-edit/editor.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_af4eb87c4024e6a8": [ + "src/client/discussion-edit/editor.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_3d54da9c8367da77": [ + "src/client/discussion-edit/editor.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_db894ea81546a74d": [ + "src/client/discussion-edit/editor.ts" + ], + "m_1ab5c248fcaeb392": [ + "src/client/discussion-edit/editor.ts" + ], + "m_0d720eeea26466dd": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/main.ts", + "public/admin.html", + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_6a7339bb759788f3": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/main.ts", + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_a567bdaa11367f26": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/main.ts", + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_62ebda24c90ca0a5": [ + "src/client/edit/autocomplete.ts", + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_381cbc5a80cdd675": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_9d89cdc64edf175d": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_6d2b296c1cd03af4": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "public/admin.html" + ], + "m_04b9d4d0d299bc60": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_8268412b046258a5": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_6b28ff42c3bd1e53": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_563d700698b2e153": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_e8e55f63b04c532c": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_39434f4dbd6aa9ad": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_57b8d86c7074f30c": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_b9a2602b5dd2c5b7": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_2fe5356cb0530f05": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_6bbd4af8328c9ba6": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_2810cd41e255386b": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_0af5878da3772fe3": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_22866179d06cfcf3": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_57ff1b60f5b9be4b": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_e24f8f799a09913f": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_605632038f49400b": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_30c765b107c5eb5a": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_588be0deb770b095": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_c738b61460f613ac": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_f076669f17b53f92": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_6e5c1fafcd87247d": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_d7cafcbd87c399b7": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_b750a273eb0c992a": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_d26e710e43dbf1d0": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_1987e477de299aaa": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_d1641961d67e5ef0": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_368117f5be6dee60": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_932dba77309c6041": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_005648e5b43bb97a": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_62b41b5aaec6fef4": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_155774e65ecb6263": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_14a173232a613b6e": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/autocomplete.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_818bcff7e71931a4": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_4a6a4508513a1deb": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_6eee93bfecdb267d": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_004150139f94ab3a": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_fe525c37167d2e2c": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_bc18fb606d1cd4a5": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_993f9d86db97f941": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_8864f426cc18342d": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_cf92ecdc8c488285": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_328263b28ff57998": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_8223173395e0f378": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_5430ebf3366f2ff9": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_98658eb5d2388d8a": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_18d0e6bc2a7f45bd": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_c82e34fcdb9baac1": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_5cd4cd76699a6fd0": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_7619e9a7dfa77df6": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_4da85c65f840aa80": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_2a1a5d18bb46c4ec": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_28badb093c233e15": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_5ae3a1514ad2f6dd": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_9a076cf23c023e1a": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_9fc6dbe4b783be99": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_a096cdeecea40a9d": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_376fd5ff710fc52b": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_d22e12c683a74d09": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_963dbba2a659b1ff": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_745bc68d37465f9d": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_0b159c50aac67173": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_128b0dfe35235930": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_573ca43f917ffb30": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_b8cf07ac906c8124": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/modals.ts", + "src/client/render.ts", + "src/utils/aiParser.ts", + "packages/wiki-shared/src/editor/autocomplete.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_28fe61bef75af3d5": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_d9fcd43cf85293f6": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/modals.ts", + "src/client/render.ts", + "src/utils/aiParser.ts", + "packages/wiki-shared/src/editor/autocomplete.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_4fa4e2ac36cd09f1": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_053461ce86d26572": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/modals.ts", + "src/client/pages/discussions.ts", + "src/client/pages/index.ts", + "src/client/pages/revisions.ts", + "src/client/pages/tickets.ts" + ], + "m_261ff49b524384f1": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_acc90fbf66686d20": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/modals.ts", + "src/client/render.ts", + "src/utils/aiParser.ts", + "packages/wiki-shared/src/editor/autocomplete.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_833a2943e99a7d7f": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_baaff05e434f85e3": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/modals.ts", + "src/client/render.ts", + "src/utils/aiParser.ts", + "packages/wiki-shared/src/editor/autocomplete.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_d9fc0886a0acb827": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_a34b4d0aafc9ecfd": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/modals.ts", + "src/client/render.ts", + "src/utils/aiParser.ts", + "packages/wiki-shared/src/editor/autocomplete.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_88530cabd97e47c4": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/cheatsheet.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_72cca7f7d985c021": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_d0d72f97f1cef99e": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_db0613f318fbce1d": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_abcb334ca28cba23": [ + "src/client/edit/autocomplete.ts" + ], + "m_60fad9caf3faed31": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_ec40140f5eba9621": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_73c1974526a832fb": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_0bf7e5778c32d7a4": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_a8cf1d2334124a36": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_95048bb4f8debef2": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_df159f47a890ff65": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_78f6af44ca5c8ef9": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_4ec242e30c0f7971": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_3e8889e56aec25a2": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_f1f8b2018b071cb7": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_4fe4705ef5532abd": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_844b8cc8dff7c1d8": [ + "src/client/edit/autocomplete.ts", + "src/client/pages/admin.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_4be0c73b19663c54": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_d734129fabaa146b": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_bf8508933cb57822": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/main.ts", + "src/client/pages/all.ts", + "src/client/pages/index.ts", + "src/client/permissions/category-acl-modal.ts", + "src/client/permissions/permissions-modal.ts", + "src/utils/mapDocument.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_1067d4563021de5a": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/main.ts", + "src/client/pages/all.ts", + "src/client/pages/index.ts" + ], + "m_16e8ef1a632a2464": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/main.ts", + "src/client/pages/all.ts", + "src/client/pages/index.ts" + ], + "m_7f0dd12bee0266d4": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/main.ts", + "src/client/pages/admin.ts", + "src/client/pages/all.ts", + "src/client/pages/index.ts", + "public/admin.html" + ], + "m_96df792915787246": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/main.ts", + "src/client/permissions/category-acl-modal.ts", + "src/client/permissions/permissions-modal.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_f0851d614a88a2d4": [ + "src/client/edit/autocomplete.ts" + ], + "m_135e365a1ae7ac65": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_63c73c4730f4473e": [ + "src/client/edit/autocomplete.ts", + "src/client/pages/user-profile.ts", + "public/blog-edit.html", + "public/components-json-builder.html", + "public/edit.html" + ], + "m_2dcf57eb172a504d": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_a12b6dbd16de6888": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_19823ed7547a358d": [ + "src/client/edit/autocomplete.ts", + "src/client/edit/bulk-category.ts", + "src/client/permissions/permissions-modal.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_70199ad768c9c1ba": [ + "src/client/edit/autocomplete.ts" + ], + "m_31429406550ed617": [ + "src/client/edit/autocomplete.ts", + "src/routes/admin-mcp.ts", + "src/routes/wiki.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_1b91634007da0f71": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_07ad18c84a8945ca": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_d938160683e35283": [ + "src/client/edit/autocomplete.ts" + ], + "m_b868014175376f4d": [ + "src/client/edit/autocomplete.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_f887c5441fa72e31": [ + "src/client/edit/bulk-category.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_217f3927ada2d495": [ + "src/client/edit/bulk-category.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_da4b78a039d7ecf1": [ + "src/client/edit/bulk-category.ts" + ], + "m_7f64fa2837b5a993": [ + "src/client/edit/bulk-category.ts" + ], + "m_7c29f4abd8717ff2": [ + "src/client/edit/bulk-category.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_93e382fd871dcc17": [ + "src/client/edit/bulk-category.ts" + ], + "m_2f9daa828907b93f": [ + "src/client/edit/bulk-category.ts", + "src/client/pages/admin-bulk-manage.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/blog.ts", + "src/client/pages/discussions.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts", + "src/client/pages/revisions.ts", + "src/client/pages/tickets.ts", + "public/admin-bulk-manage.html", + "public/blog.html" + ], + "m_c228558cf257fc49": [ + "src/client/edit/bulk-category.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/blog.ts", + "src/client/pages/discussions.ts", + "src/client/pages/index.ts", + "src/client/pages/tickets.ts" + ], + "m_8fad38bd78865ed0": [ + "src/client/edit/bulk-category.ts" + ], + "m_132826fa46e65b5f": [ + "src/client/edit/bulk-category.ts" + ], + "m_22d4a168003098be": [ + "src/client/edit/bulk-category.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_61e2fbeb63b40304": [ + "src/client/edit/bulk-category.ts" + ], + "m_15f2c0b076847d0c": [ + "src/client/edit/bulk-category.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_88e05cab0c0583b9": [ + "src/client/edit/bulk-category.ts" + ], + "m_ebaf4022cf1aed6d": [ + "src/client/edit/bulk-category.ts", + "src/client/pages/mypage.ts", + "src/client/pages/user-profile.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_b64a912c7cdc706f": [ + "src/client/edit/bulk-category.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_0f8085b7bde2b753": [ + "src/client/edit/bulk-category.ts" + ], + "m_92e1fdf8beae6d63": [ + "src/client/edit/bulk-category.ts" + ], + "m_ac2a58826d92e6ae": [ + "src/client/edit/bulk-category.ts" + ], + "m_b4b1f2a564d854b5": [ + "src/client/edit/bulk-category.ts", + "src/routes/admin.ts" + ], + "m_343252396d4d401c": [ + "src/client/edit/bulk-category.ts" + ], + "m_ca3e5733b920c6d7": [ + "src/client/edit/bulk-category.ts" + ], + "m_2743911f83e1da69": [ + "src/client/edit/bulk-category.ts", + "src/client/pages/components-json-builder.ts", + "src/client/permissions/category-acl-modal.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_4f2ed8c604fc2f30": [ + "src/client/edit/bulk-category.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_4f42e9c473808f1e": [ + "src/client/edit/bulk-category.ts" + ], + "m_060465fa16bfecec": [ + "src/client/edit/bulk-category.ts" + ], + "m_95d3fea17c6818a9": [ + "src/client/edit/bulk-category.ts" + ], + "m_f3b31700b077585d": [ + "src/client/edit/bulk-category.ts" + ], + "m_0dd9df5c73a87e5c": [ + "src/client/edit/bulk-category.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts", + "src/client/permissions/permissions-modal.ts" + ], + "m_5ad40d10dec739e9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_5e70b93f06c4552a": [ + "src/client/edit/cheatsheet.ts" + ], + "m_87b0c4285bb1641a": [ + "src/client/edit/cheatsheet.ts" + ], + "m_7c27f0abb0e69ed7": [ + "src/client/edit/cheatsheet.ts" + ], + "m_6b81a8b6ee0375d9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_45641a8e2826ec3f": [ + "src/client/edit/cheatsheet.ts" + ], + "m_e0143d2608b062f4": [ + "src/client/edit/cheatsheet.ts" + ], + "m_f88f8ea2b7099d9d": [ + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_79a9e92a9823d2d8": [ + "src/client/edit/cheatsheet.ts" + ], + "m_28ee3b434f7fbc8a": [ + "src/client/edit/cheatsheet.ts" + ], + "m_9605541606a51a5d": [ + "src/client/edit/cheatsheet.ts" + ], + "m_164ece50125e1e53": [ + "src/client/edit/cheatsheet.ts" + ], + "m_425c77dfa9261c85": [ + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_b7426c44e328feab": [ + "src/client/edit/cheatsheet.ts" + ], + "m_60941b9372553b49": [ + "src/client/edit/cheatsheet.ts" + ], + "m_e5ebe60e52d4d291": [ + "src/client/edit/cheatsheet.ts" + ], + "m_ecdfb1788e6e5c75": [ + "src/client/edit/cheatsheet.ts" + ], + "m_c3405f8c7d9d392a": [ + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "src/client/edit/modals.ts", + "public/admin.html", + "public/blog-edit.html", + "public/edit.html" + ], + "m_7c7c786c576b8eb3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_7a5a6074fcb22b40": [ + "src/client/edit/cheatsheet.ts" + ], + "m_6ab7acb2deb94bde": [ + "src/client/edit/cheatsheet.ts" + ], + "m_0ce0c96ab3059495": [ + "src/client/edit/cheatsheet.ts" + ], + "m_24eb627b33e92123": [ + "src/client/edit/cheatsheet.ts" + ], + "m_195f9d1a2608f871": [ + "src/client/edit/cheatsheet.ts" + ], + "m_02c2cc5f07593701": [ + "src/client/edit/cheatsheet.ts" + ], + "m_722dbffc4414f098": [ + "src/client/edit/cheatsheet.ts" + ], + "m_788ad98034524474": [ + "src/client/edit/cheatsheet.ts" + ], + "m_7381a56fb257da46": [ + "src/client/edit/cheatsheet.ts" + ], + "m_63fe65fbe46155a9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4d7af31a1fd5bfce": [ + "src/client/edit/cheatsheet.ts" + ], + "m_a799735f3ebb03cb": [ + "src/client/edit/cheatsheet.ts" + ], + "m_3c40a3091a0e1668": [ + "src/client/edit/cheatsheet.ts" + ], + "m_560b02f2ba31d1f5": [ + "src/client/edit/cheatsheet.ts" + ], + "m_8fd7bf321f4cb142": [ + "src/client/edit/cheatsheet.ts" + ], + "m_0749a92d98df30a3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_ca9845d3588058b3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4bad4a16e714cbee": [ + "src/client/edit/cheatsheet.ts" + ], + "m_b53aac0c18c9b535": [ + "src/client/edit/cheatsheet.ts" + ], + "m_ba2e24e6750375d5": [ + "src/client/edit/cheatsheet.ts" + ], + "m_1d1a784d512f3d57": [ + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_4e03ec5334e74e4c": [ + "src/client/edit/cheatsheet.ts" + ], + "m_30ccd27a372b1e49": [ + "src/client/edit/cheatsheet.ts" + ], + "m_1f038fec36e3ef39": [ + "src/client/edit/cheatsheet.ts", + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_59252e6364e70887": [ + "src/client/edit/cheatsheet.ts" + ], + "m_37e5baccbef61206": [ + "src/client/edit/cheatsheet.ts" + ], + "m_cfb78faa23dd4a6f": [ + "src/client/edit/cheatsheet.ts" + ], + "m_bdbe40566cd2f81d": [ + "src/client/edit/cheatsheet.ts" + ], + "m_e1119c65933c92d1": [ + "src/client/edit/cheatsheet.ts" + ], + "m_8b037fd8c5402754": [ + "src/client/edit/cheatsheet.ts" + ], + "m_542ba3c621b8a37e": [ + "src/client/edit/cheatsheet.ts" + ], + "m_aadeffbf7c926876": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d35505adc98ef0c0": [ + "src/client/edit/cheatsheet.ts" + ], + "m_a168d5a58c13ccf4": [ + "src/client/edit/cheatsheet.ts" + ], + "m_98d83eb186555ae4": [ + "src/client/edit/cheatsheet.ts" + ], + "m_1e8943dde4c14dbe": [ + "src/client/edit/cheatsheet.ts" + ], + "m_84ecd62d6ae48287": [ + "src/client/edit/cheatsheet.ts" + ], + "m_90f74d94326bae42": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d8feb24858e3b649": [ + "src/client/edit/cheatsheet.ts" + ], + "m_20d2f907b69fe58e": [ + "src/client/edit/cheatsheet.ts" + ], + "m_54257d4a537853ff": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d7847edfc4e1daf9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_8d24e901ebb500be": [ + "src/client/edit/cheatsheet.ts" + ], + "m_fa7d9bcdb08c890f": [ + "src/client/edit/cheatsheet.ts" + ], + "m_77fb16dee5514e18": [ + "src/client/edit/cheatsheet.ts" + ], + "m_482456fb5ca84f27": [ + "src/client/edit/cheatsheet.ts" + ], + "m_6dafcb53f03855a1": [ + "src/client/edit/cheatsheet.ts" + ], + "m_07c8d2eaeda97ec9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_ec3a11cca7c57eeb": [ + "src/client/edit/cheatsheet.ts" + ], + "m_282b19bc77204d16": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4f228ede45ed04d8": [ + "src/client/edit/cheatsheet.ts" + ], + "m_442639c8443f627b": [ + "src/client/edit/cheatsheet.ts" + ], + "m_457114ee2acc1c24": [ + "src/client/edit/cheatsheet.ts" + ], + "m_78ca2b93ff924626": [ + "src/client/edit/cheatsheet.ts" + ], + "m_986eddf472ab6404": [ + "src/client/edit/cheatsheet.ts" + ], + "m_e317d2501c3cc784": [ + "src/client/edit/cheatsheet.ts" + ], + "m_34e72d21069043d5": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d72cd75279d7b329": [ + "src/client/edit/cheatsheet.ts" + ], + "m_bd6cc888c6ab9ecd": [ + "src/client/edit/cheatsheet.ts" + ], + "m_bfdf9c84a40c551c": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d6d03ba9e7cdc40e": [ + "src/client/edit/cheatsheet.ts" + ], + "m_1c4b0effa5ee1b68": [ + "src/client/edit/cheatsheet.ts" + ], + "m_37c27f988750a4d2": [ + "src/client/edit/cheatsheet.ts" + ], + "m_cec0f2d90e9c7ea9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_f1da77da10bea126": [ + "src/client/edit/cheatsheet.ts" + ], + "m_fee80b881568c844": [ + "src/client/edit/cheatsheet.ts" + ], + "m_2da25cc1311428c9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_20b90f10d2bc1a07": [ + "src/client/edit/cheatsheet.ts" + ], + "m_5faada11476c7ca3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_f261f375b763025b": [ + "src/client/edit/cheatsheet.ts" + ], + "m_857a13037ceeb267": [ + "src/client/edit/cheatsheet.ts" + ], + "m_804af85d7bed565b": [ + "src/client/edit/cheatsheet.ts" + ], + "m_af615ff3c5ed19de": [ + "src/client/edit/cheatsheet.ts" + ], + "m_ae3750a1f5f51449": [ + "src/client/edit/cheatsheet.ts" + ], + "m_330f2dcca9e6ca91": [ + "src/client/edit/cheatsheet.ts" + ], + "m_77a8a5d48e0ec576": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d24c10d37db0feea": [ + "src/client/edit/cheatsheet.ts", + "public/all.html", + "public/search.html" + ], + "m_b2fd5e226f6b38d1": [ + "src/client/edit/cheatsheet.ts" + ], + "m_be55173c7e7eb5a4": [ + "src/client/edit/cheatsheet.ts" + ], + "m_acf497c8753ad9b9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_abc73f4524e8c1ae": [ + "src/client/edit/cheatsheet.ts" + ], + "m_fdbbd1b98a5312fc": [ + "src/client/edit/cheatsheet.ts" + ], + "m_bc36ee263d186ae6": [ + "src/client/edit/cheatsheet.ts" + ], + "m_c9420abd33d772ed": [ + "src/client/edit/cheatsheet.ts" + ], + "m_5fdba67640e01bbf": [ + "src/client/edit/cheatsheet.ts" + ], + "m_473ec399206fecdb": [ + "src/client/edit/cheatsheet.ts" + ], + "m_7dfe175110f64f08": [ + "src/client/edit/cheatsheet.ts" + ], + "m_b1eb718abc171730": [ + "src/client/edit/cheatsheet.ts" + ], + "m_3cd8a2a6e594de28": [ + "src/client/edit/cheatsheet.ts" + ], + "m_626df1ec399ef16e": [ + "src/client/edit/cheatsheet.ts" + ], + "m_1685c0c8b5916d94": [ + "src/client/edit/cheatsheet.ts" + ], + "m_3f121d5b04e38b63": [ + "src/client/edit/cheatsheet.ts" + ], + "m_055eb7ff930783f3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_eab19781a95f8ba4": [ + "src/client/edit/cheatsheet.ts" + ], + "m_5dfac4d259681910": [ + "src/client/edit/cheatsheet.ts" + ], + "m_1967cf4ff8d3e05a": [ + "src/client/edit/cheatsheet.ts" + ], + "m_cae9028f5ba8b3a3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_710178eac8c6c859": [ + "src/client/edit/cheatsheet.ts" + ], + "m_3aceb5cf2a6b4af9": [ + "src/client/edit/cheatsheet.ts" + ], + "m_50a94e45fa19f96f": [ + "src/client/edit/cheatsheet.ts" + ], + "m_acb79305cdb79a39": [ + "src/client/edit/cheatsheet.ts" + ], + "m_f2b718b14c7ea3fe": [ + "src/client/edit/cheatsheet.ts" + ], + "m_2ab6f421dabfe446": [ + "src/client/edit/cheatsheet.ts" + ], + "m_a38b0a754df466ae": [ + "src/client/edit/cheatsheet.ts" + ], + "m_ad58615453d6b0b1": [ + "src/client/edit/cheatsheet.ts" + ], + "m_abaf6d2bf557ed75": [ + "src/client/edit/cheatsheet.ts" + ], + "m_5cde908049d1520b": [ + "src/client/edit/cheatsheet.ts" + ], + "m_33660b9f2ee02506": [ + "src/client/edit/cheatsheet.ts" + ], + "m_70e4ac9277083c00": [ + "src/client/edit/cheatsheet.ts" + ], + "m_995cce3fccaa251b": [ + "src/client/edit/cheatsheet.ts" + ], + "m_63ea5efb0ef87398": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4b72e6a48983f4bf": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4692cef5ac69eb37": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4389adee0f33fa83": [ + "src/client/edit/cheatsheet.ts", + "src/client/edit/modals.ts" + ], + "m_1405cf22ddb2f9a2": [ + "src/client/edit/cheatsheet.ts" + ], + "m_906e695a9dd195d4": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4021494af219130b": [ + "src/client/edit/cheatsheet.ts" + ], + "m_b2a3929e82f566cf": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d6fbe7b84eaa393f": [ + "src/client/edit/cheatsheet.ts" + ], + "m_32bec01b8725cfd4": [ + "src/client/edit/cheatsheet.ts" + ], + "m_7d01647a9637b258": [ + "src/client/edit/cheatsheet.ts" + ], + "m_0d59048a5e3146e0": [ + "src/client/edit/cheatsheet.ts" + ], + "m_cf168b44190eb3cc": [ + "src/client/edit/cheatsheet.ts" + ], + "m_986794778c6f6fc3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_b3f4e8fc2790045f": [ + "src/client/edit/cheatsheet.ts" + ], + "m_03d0d662f6417857": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4f5ec595721386a2": [ + "src/client/edit/cheatsheet.ts" + ], + "m_5511e6819e5f7622": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d55c4e8d8a03ccb0": [ + "src/client/edit/cheatsheet.ts" + ], + "m_426a72d1fe03a6ca": [ + "src/client/edit/cheatsheet.ts" + ], + "m_89aa7d3181af6159": [ + "src/client/edit/cheatsheet.ts" + ], + "m_58432bbf1955743f": [ + "src/client/edit/cheatsheet.ts" + ], + "m_17e105d42bc57a79": [ + "src/client/edit/cheatsheet.ts" + ], + "m_5591bfd19eb12134": [ + "src/client/edit/cheatsheet.ts" + ], + "m_88c22b4254856d07": [ + "src/client/edit/cheatsheet.ts" + ], + "m_96fc4cbfbbb4a68b": [ + "src/client/edit/cheatsheet.ts" + ], + "m_d77ec0c5d65354a6": [ + "src/client/edit/cheatsheet.ts" + ], + "m_729d61eb72abd520": [ + "src/client/edit/cheatsheet.ts" + ], + "m_3c8db42388fda965": [ + "src/client/edit/cheatsheet.ts" + ], + "m_b2e85d62c21ea26c": [ + "src/client/edit/cheatsheet.ts" + ], + "m_ae717844f311cab8": [ + "src/client/edit/cheatsheet.ts" + ], + "m_44b0836ae9501f74": [ + "src/client/edit/cheatsheet.ts" + ], + "m_db3b5555c19bee61": [ + "src/client/edit/cheatsheet.ts" + ], + "m_879aa0b087e1fb3a": [ + "src/client/edit/cheatsheet.ts" + ], + "m_6eaaaff58dad3cc3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_23249fcbb4541ae0": [ + "src/client/edit/cheatsheet.ts" + ], + "m_03ef46a22b868a2c": [ + "src/client/edit/cheatsheet.ts" + ], + "m_79847f774c9abf5a": [ + "src/client/edit/cheatsheet.ts" + ], + "m_e4aa9f3cc7f52ddd": [ + "src/client/edit/cheatsheet.ts" + ], + "m_959f447cf8bdc114": [ + "src/client/edit/cheatsheet.ts" + ], + "m_5876fdcab265e1f3": [ + "src/client/edit/cheatsheet.ts" + ], + "m_8b2b237e6910529a": [ + "src/client/edit/cheatsheet.ts" + ], + "m_07a947f26ac6ae13": [ + "src/client/edit/cheatsheet.ts" + ], + "m_e907c60ac4bad13f": [ + "src/client/edit/cheatsheet.ts" + ], + "m_f231c50e8d5e879c": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4a609a79cafc842c": [ + "src/client/edit/cheatsheet.ts" + ], + "m_3a337dba478e1b62": [ + "src/client/edit/cheatsheet.ts" + ], + "m_bbca38e930cbff68": [ + "src/client/edit/cheatsheet.ts" + ], + "m_473ec26f3b031ee0": [ + "src/client/edit/cheatsheet.ts" + ], + "m_8486ba3807e58e90": [ + "src/client/edit/cheatsheet.ts" + ], + "m_9cb03ca06ba3b0e7": [ + "src/client/edit/cheatsheet.ts" + ], + "m_9b460cad5e7cae7e": [ + "src/client/edit/cheatsheet.ts" + ], + "m_cb0c12f7fe7188a5": [ + "src/client/edit/cheatsheet.ts" + ], + "m_86ab151104bb5f57": [ + "src/client/edit/cheatsheet.ts" + ], + "m_f93695c7580de589": [ + "src/client/edit/cheatsheet.ts" + ], + "m_f777f1fd9661c4ac": [ + "src/client/edit/cheatsheet.ts" + ], + "m_3963bd77a691fad5": [ + "src/client/edit/cheatsheet.ts" + ], + "m_4e005affa741cdd5": [ + "src/client/edit/cheatsheet.ts" + ], + "m_f4b700906190aaae": [ + "src/client/edit/cheatsheet.ts" + ], + "m_b49df9362b9fc04c": [ + "src/client/edit/cheatsheet.ts", + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_39f01b610b764d12": [ + "src/client/edit/cheatsheet.ts" + ], + "m_7411923f3565f219": [ + "src/client/edit/cheatsheet.ts" + ], + "m_adfbc5b5031b3785": [ + "src/client/edit/cheatsheet.ts" + ], + "m_6fa21481d0463d65": [ + "src/client/edit/cheatsheet.ts" + ], + "m_353196e2f209db14": [ + "src/client/edit/cheatsheet.ts" + ], + "m_01f3562e8937f940": [ + "src/client/edit/cheatsheet.ts" + ], + "m_0c8ad43d75788277": [ + "src/client/edit/cheatsheet.ts" + ], + "m_48cec4d8d32e8c6f": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_d9488fcb2def80e5": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_aedd6814ff8c516c": [ + "src/client/edit/cm-shared.ts", + "public/discussions.html", + "public/tickets.html" + ], + "m_f09a17e1297a71b2": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_c1ccf498b9d46c70": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_03084381746f9d3f": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_40ec1a2864faf2b4": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_89c93f8d51cb6b27": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_b0b29ad61c3a4dbd": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_63a835c695516cf2": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_6d7d3b4a3fb130a5": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_2fd9854b72b78403": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_7d564631b75f58ca": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_90f5c358f338ef2c": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_eeb99d66983b2d76": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_6754eb453d1381b3": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_59f567500d74d9da": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_aca561ad6616b9c6": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_678e6857dbfa791e": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_418dde62ead8a731": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_ce7f3924e442da20": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_e43408e86524c8cc": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_a08b29f109b398dc": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_e2cd97fd2dde76e7": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_cead00a863df4d5d": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/cm-shared.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_bb515988d3b48720": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_9f4eb7d3aa1c1688": [ + "src/client/edit/cm-shared.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_a94d3f1bd1a8f869": [ + "src/client/edit/cm-shared.ts" + ], + "m_373dafd051f6edfe": [ + "src/client/edit/cm-shared.ts" + ], + "m_e641c71c0d190e8a": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/main.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_aa91acdd84951b8f": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/main.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_41b56eb1bf8a1682": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/main.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_70112194ffe3dda1": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/main.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_868dabeaade8d9d4": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/main.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_e07317efd9062e52": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/main.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_d294c765583f8080": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/main.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_636e9d2eec6f82bc": [ + "src/client/edit/cm-shared.ts", + "src/client/edit/main.ts", + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_a3e580ba52097ae4": [ + "src/client/edit/conflict.ts" + ], + "m_63ec8a8f4103f19c": [ + "src/client/edit/conflict.ts" + ], + "m_04d0db5ba27ace52": [ + "src/client/edit/conflict.ts" + ], + "m_5166221d7a1f19c9": [ + "src/client/edit/conflict.ts" + ], + "m_7d585c3842de4e43": [ + "src/client/edit/conflict.ts" + ], + "m_9b1cea26e7804e7e": [ + "src/client/edit/conflict.ts" + ], + "m_d5d8a5afccfbb8bc": [ + "src/client/edit/conflict.ts" + ], + "m_139fe8d49d51be54": [ + "src/client/edit/conflict.ts" + ], + "m_65b269a7314db913": [ + "src/client/edit/conflict.ts" + ], + "m_bd2774867f861fb4": [ + "src/client/edit/conflict.ts" + ], + "m_eef9de215a79fa02": [ + "src/client/edit/conflict.ts" + ], + "m_ce244feffda50d66": [ + "src/client/edit/conflict.ts" + ], + "m_efc453685382dc16": [ + "src/client/edit/conflict.ts" + ], + "m_7c7d8ee9e062abf5": [ + "src/client/edit/conflict.ts" + ], + "m_84bdfed82c8302b4": [ + "src/client/edit/conflict.ts" + ], + "m_da85dc4c03a7a712": [ + "src/client/edit/conflict.ts" + ], + "m_d68d6e631dfb7e11": [ + "src/client/edit/conflict.ts" + ], + "m_a37429a8e9ba6ccf": [ + "src/client/edit/conflict.ts" + ], + "m_8483e00a1e730d91": [ + "src/client/edit/conflict.ts" + ], + "m_cc8f6131f8abc5a9": [ + "src/client/edit/conflict.ts" + ], + "m_682c7c5de9a7fcf4": [ + "src/client/edit/conflict.ts" + ], + "m_c321ac68cb45a57e": [ + "src/client/edit/conflict.ts" + ], + "m_90fe1c95a048d422": [ + "src/client/edit/conflict.ts" + ], + "m_3bcaa2698d5dfd4b": [ + "src/client/edit/conflict.ts" + ], + "m_20c483bdda9706e4": [ + "src/client/edit/conflict.ts" + ], + "m_560bcd460b579488": [ + "src/client/edit/conflict.ts" + ], + "m_2f51d54eda85311e": [ + "src/client/edit/conflict.ts" + ], + "m_fa9e02a7a346f67d": [ + "src/client/edit/conflict.ts" + ], + "m_660725a93b610493": [ + "src/client/edit/conflict.ts" + ], + "m_6a349ddf665850dd": [ + "src/client/edit/conflict.ts" + ], + "m_5fde3e55d19cb3a5": [ + "src/client/edit/conflict.ts" + ], + "m_a0262d19200d9050": [ + "src/client/edit/conflict.ts" + ], + "m_7e318ba57944486a": [ + "src/client/edit/conflict.ts" + ], + "m_c71ac4a126955661": [ + "src/client/edit/conflict.ts" + ], + "m_e6d419c14ea93de9": [ + "src/client/edit/conflict.ts" + ], + "m_acf595c34948293d": [ + "src/client/edit/conflict.ts" + ], + "m_f7fa9aa6649f15e9": [ + "src/client/edit/conflict.ts" + ], + "m_13ef923140bdadfe": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_28eb97fae6405a87": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_4e4aa3dda3ff54ae": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_6b5dde6e3a599a71": [ + "src/client/edit/image.ts", + "src/client/pages/admin-bulk-manage.ts", + "src/client/pages/admin-media.ts" + ], + "m_2d0270718450107d": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_7ec78a5826a6fbcf": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_4e35e2915449a848": [ + "src/client/edit/image.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/all.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_bb909f283a1fc5c9": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_b1ebd39a6e828143": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_54198fe2800b9896": [ + "src/client/edit/image.ts" + ], + "m_0d635eda295a08c8": [ + "src/client/edit/image.ts", + "src/client/edit/modals.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_a55030239d03452b": [ + "src/client/edit/image.ts", + "src/routes/media.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_ab2e0b9772ce93a3": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_c9c598c90e74c0b2": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_b338a7efc6ad1e66": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_eba914ae07bfbadf": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_16a254e99098adf0": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_5d704cd6c4bfa10f": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_a1f6b16b2c3b2a38": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_ba18fae2953eebf1": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_0a1ac7eec7b927f7": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_e6481000e178501b": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_f302c6e835b3628e": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_e5e83fc9c45875c4": [ + "src/client/edit/image.ts" + ], + "m_1ef78e7f5b9a3e71": [ + "src/client/edit/image.ts", + "packages/wiki-shared/src/editor/image.ts" + ], + "m_8f7caa3335f974ff": [ + "src/client/edit/main.ts" + ], + "m_4ec8d1c56721efad": [ + "src/client/edit/main.ts" + ], + "m_a8e3497b8f82e395": [ + "src/client/edit/main.ts" + ], + "m_a3ecb95a4c5084e8": [ + "src/client/edit/main.ts" + ], + "m_daa5a5069c80d9a9": [ + "src/client/edit/main.ts" + ], + "m_59402595c3c3b2ea": [ + "src/client/edit/main.ts" + ], + "m_86fb214a51cdf2f7": [ + "src/client/edit/main.ts" + ], + "m_777bde40a9ff7e81": [ + "src/client/edit/main.ts" + ], + "m_6eb1b64e260a2dd3": [ + "src/client/edit/main.ts", + "src/client/pages/discussions.ts", + "src/client/pages/index.ts", + "src/client/pages/revisions.ts", + "src/client/pages/tickets.ts" + ], + "m_0aee075de8329869": [ + "src/client/edit/main.ts" + ], + "m_1e2df9c3075ae9e4": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_71bf59f4724ed8c3": [ + "src/client/edit/main.ts" + ], + "m_cb487221f2198b88": [ + "src/client/edit/main.ts", + "src/routes/wiki.ts" + ], + "m_d81753fb3236ed05": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts" + ], + "m_4416e10c79b8fcf2": [ + "src/client/edit/main.ts" + ], + "m_3e16c452d266f638": [ + "src/client/edit/main.ts" + ], + "m_9105b84b4bd95493": [ + "src/client/edit/main.ts" + ], + "m_af0a9046ea4987d7": [ + "src/client/edit/main.ts" + ], + "m_0d16e7454b329be5": [ + "src/client/edit/main.ts", + "src/routes/wiki.ts" + ], + "m_1de4bab6f40b6bb7": [ + "src/client/edit/main.ts" + ], + "m_12313c8c625cf809": [ + "src/client/edit/main.ts" + ], + "m_6b59bacbccb7d095": [ + "src/client/edit/main.ts" + ], + "m_5c9e81967192dcbf": [ + "src/client/edit/main.ts" + ], + "m_4a0c69945a24e95a": [ + "src/client/edit/main.ts" + ], + "m_078038d646a5bcf5": [ + "src/client/edit/main.ts" + ], + "m_1aacb54c49924296": [ + "src/client/edit/main.ts", + "src/client/pages/admin-bulk-manage.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/setup-profile-form.ts" + ], + "m_228d34a44aa2df08": [ + "src/client/edit/main.ts" + ], + "m_32ab57e6d9aa8e69": [ + "src/client/edit/main.ts" + ], + "m_f4cd50ffad94e9c4": [ + "src/client/edit/main.ts" + ], + "m_7d4ca7f48effd602": [ + "src/client/edit/main.ts" + ], + "m_dc0103c11a2b107b": [ + "src/client/edit/main.ts" + ], + "m_d41ad4fcb417e884": [ + "src/client/edit/main.ts" + ], + "m_f594aa6a15b9381c": [ + "src/client/edit/main.ts" + ], + "m_106487d2bc2d660e": [ + "src/client/edit/main.ts" + ], + "m_eec44d1a5d65b9a3": [ + "src/client/edit/main.ts", + "src/client/pages/memo.ts" + ], + "m_8138e088b975061f": [ + "src/client/edit/main.ts" + ], + "m_1dd3e0d08015576b": [ + "src/client/edit/main.ts", + "src/client/pages/memo.ts" + ], + "m_47f25a8a6f1ad0f0": [ + "src/client/edit/main.ts" + ], + "m_3d275876e9d3790b": [ + "src/client/edit/main.ts" + ], + "m_5cc6bc297d72cde3": [ + "src/client/edit/main.ts" + ], + "m_0279a13372258c79": [ + "src/client/edit/main.ts" + ], + "m_d90f7cd5f542d770": [ + "src/client/edit/main.ts" + ], + "m_7599ad1f191ef2e6": [ + "src/client/edit/main.ts" + ], + "m_3d49bb2e1d4be61b": [ + "src/client/edit/main.ts" + ], + "m_57e78dc7f8e63622": [ + "src/client/edit/main.ts" + ], + "m_f1dc7031a246f3de": [ + "src/client/edit/main.ts" + ], + "m_587d35dab87367a2": [ + "src/client/edit/main.ts" + ], + "m_bd0beaf1d5900673": [ + "src/client/edit/main.ts" + ], + "m_d9d443198a541fbf": [ + "src/client/edit/main.ts" + ], + "m_f26649c1ec5369df": [ + "src/client/edit/main.ts" + ], + "m_ac1724aa71d0fbe4": [ + "src/client/edit/main.ts" + ], + "m_ec96a006c6d2ae0f": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts" + ], + "m_b208f22ff669d5d9": [ + "src/client/edit/main.ts" + ], + "m_e07d5909c2cc9b7f": [ + "src/client/edit/main.ts" + ], + "m_4ded05e76ade6420": [ + "src/client/edit/main.ts" + ], + "m_a2c620001e3e7c20": [ + "src/client/edit/main.ts" + ], + "m_7c5e12da007b64cd": [ + "src/client/edit/main.ts" + ], + "m_d2201ebe07f4e5d1": [ + "src/client/edit/main.ts" + ], + "m_0eb8c95b69e10444": [ + "src/client/edit/main.ts" + ], + "m_0ccf1841c2e0bc91": [ + "src/client/edit/main.ts" + ], + "m_2b86743ed259dd90": [ + "src/client/edit/main.ts" + ], + "m_3f50f2f92321f051": [ + "src/client/edit/main.ts" + ], + "m_29de34a5db6cd39b": [ + "src/client/edit/main.ts" + ], + "m_d4986e193451f103": [ + "src/client/edit/main.ts" + ], + "m_9159f61dacd42488": [ + "src/client/edit/main.ts" + ], + "m_a71068bef839a413": [ + "src/client/edit/main.ts" + ], + "m_61225cca4a4c7bd1": [ + "src/client/edit/main.ts" + ], + "m_9997a5faaa88e5d5": [ + "src/client/edit/main.ts" + ], + "m_7ea99d6dde0b4b92": [ + "src/client/edit/main.ts" + ], + "m_d7a7ab5dd04f5dc9": [ + "src/client/edit/main.ts" + ], + "m_7bbf0318ee8af6f0": [ + "src/client/edit/main.ts" + ], + "m_0911555b8a35600c": [ + "src/client/edit/main.ts" + ], + "m_b7b66bc469094b86": [ + "src/client/edit/main.ts" + ], + "m_1bc5210d145a3c23": [ + "src/client/edit/main.ts" + ], + "m_bfba8460901deca3": [ + "src/client/edit/main.ts" + ], + "m_d30060e4403b8eb9": [ + "src/client/edit/main.ts" + ], + "m_f39f6a885c587b81": [ + "src/client/edit/main.ts" + ], + "m_2b0655772f08d9b1": [ + "src/client/edit/main.ts" + ], + "m_d2e4384df45b9b4f": [ + "src/client/edit/main.ts" + ], + "m_088ab35000074718": [ + "src/client/edit/main.ts" + ], + "m_1dce7601c57d6ab5": [ + "src/client/edit/main.ts" + ], + "m_987d3b2d984ab715": [ + "src/client/edit/main.ts" + ], + "m_4def3dd2fad11187": [ + "src/client/edit/main.ts" + ], + "m_126ca21a144835c7": [ + "src/client/edit/main.ts" + ], + "m_8cd214f180d806b2": [ + "src/client/edit/main.ts" + ], + "m_c0dc12316cd1f6c2": [ + "src/client/edit/main.ts" + ], + "m_02423492453f1807": [ + "src/client/edit/main.ts" + ], + "m_a1b887de60f7c266": [ + "src/client/edit/main.ts" + ], + "m_550903972ff086fa": [ + "src/client/edit/main.ts" + ], + "m_d3209956264f62e3": [ + "src/client/edit/main.ts" + ], + "m_0b341923955c839f": [ + "src/client/edit/main.ts" + ], + "m_55cb4ca7516ee2e8": [ + "src/client/edit/main.ts" + ], + "m_12801cdf15ea11e9": [ + "src/client/edit/main.ts" + ], + "m_c1134648c2104c23": [ + "src/client/edit/main.ts" + ], + "m_d2f01605b3cde985": [ + "src/client/edit/main.ts" + ], + "m_bcde4f6d56f9c359": [ + "src/client/edit/main.ts" + ], + "m_619d1e30ff390627": [ + "src/client/edit/main.ts" + ], + "m_5018d44a41d5eeb4": [ + "src/client/edit/main.ts" + ], + "m_a21df18dbb6dce0c": [ + "src/client/edit/main.ts", + "src/routes/wiki.ts" + ], + "m_ab8e2f89966c4faa": [ + "src/client/edit/main.ts" + ], + "m_cf1487e7aa8947c2": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts", + "src/client/pages/setup-profile-form.ts" + ], + "m_6309a3bb5ba4c714": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts" + ], + "m_e5d4d87fc2fbde73": [ + "src/client/edit/main.ts" + ], + "m_8856aac2057bf097": [ + "src/client/edit/main.ts" + ], + "m_046f49a813cb38ec": [ + "src/client/edit/main.ts" + ], + "m_50f541096bae2050": [ + "src/client/edit/main.ts" + ], + "m_c3f405538e609ea8": [ + "src/client/edit/main.ts" + ], + "m_d47eb575afb8b2de": [ + "src/client/edit/main.ts" + ], + "m_b9cb3b7f38f0b29d": [ + "src/client/edit/main.ts" + ], + "m_2d74d57ce2bd8d9d": [ + "src/client/edit/main.ts" + ], + "m_e82a76527a5b9199": [ + "src/client/edit/main.ts" + ], + "m_dfeeb8fa2d7cef70": [ + "src/client/edit/main.ts" + ], + "m_ebda4623f6052fe2": [ + "src/client/edit/main.ts" + ], + "m_2a397554c1b76f42": [ + "src/client/edit/main.ts" + ], + "m_2ac931bcbefcca32": [ + "src/client/edit/main.ts" + ], + "m_e32c8a6ddd7bcef3": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts" + ], + "m_a295fe5c5da8d97e": [ + "src/client/edit/main.ts" + ], + "m_005c43cba2f22464": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts" + ], + "m_52079e3d89b7f5ed": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts", + "src/client/pages/qr-login-approve.ts" + ], + "m_137b95d21b3645b6": [ + "src/client/edit/main.ts" + ], + "m_cd3a4b02c8c8791f": [ + "src/client/edit/main.ts" + ], + "m_47c387cf256f410a": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts" + ], + "m_5ee2c8bb13ee1350": [ + "src/client/edit/main.ts", + "src/client/pages/index.ts" + ], + "m_97bc23a9b6bcad89": [ + "src/client/edit/main.ts" + ], + "m_9753745bab72a39b": [ + "src/client/edit/main.ts" + ], + "m_deac7c7652570a2f": [ + "src/client/edit/main.ts" + ], + "m_ab2117fba2ece592": [ + "src/client/edit/main.ts" + ], + "m_611b619761284845": [ + "src/client/edit/main.ts" + ], + "m_8c6b814d22d4c220": [ + "src/client/edit/main.ts" + ], + "m_df18fdfe5cdeb2fd": [ + "src/client/edit/main.ts" + ], + "m_cf57f32bf33ad37b": [ + "src/client/edit/main.ts" + ], + "m_d9f1cf3269b58ea1": [ + "src/client/edit/main.ts" + ], + "m_4e6946551ccdf3fe": [ + "src/client/edit/main.ts" + ], + "m_d947ad1f21ddcc20": [ + "src/client/edit/main.ts" + ], + "m_1d1afe44d0161452": [ + "src/client/edit/main.ts" + ], + "m_ba1fba90f72fd53c": [ + "src/client/edit/main.ts" + ], + "m_9d6ccf8be686e292": [ + "src/client/edit/main.ts" + ], + "m_22bfa6072aee5d1e": [ + "src/client/edit/main.ts" + ], + "m_0120b5eb9a8d6f42": [ + "src/client/edit/main.ts" + ], + "m_398adf981018d45c": [ + "src/client/edit/main.ts" + ], + "m_c5348ab5543850dd": [ + "src/client/edit/main.ts", + "src/client/edit/modals.ts", + "src/routes/blog.ts" + ], + "m_ae7385e23546887a": [ + "src/client/edit/main.ts" + ], + "m_6d8adad124d0987f": [ + "src/client/edit/modals.ts", + "public/admin.html", + "public/blog-edit.html", + "public/blog.html", + "public/components-json-builder.html", + "public/edit.html", + "public/memo.html" + ], + "m_9c6c669c47481aa1": [ + "src/client/edit/modals.ts", + "src/client/iconPicker.ts" + ], + "m_36bdb068c44b81a8": [ + "src/client/edit/modals.ts", + "src/client/iconPicker.ts" + ], + "m_0ca868255f76b256": [ + "src/client/edit/modals.ts" + ], + "m_b2c53b9650b29f9d": [ + "src/client/edit/modals.ts" + ], + "m_c3951dc60bf96486": [ + "src/client/edit/modals.ts" + ], + "m_49b37c4e3f471e7d": [ + "src/client/edit/modals.ts" + ], + "m_ffcc35339312833b": [ + "src/client/edit/modals.ts" + ], + "m_ccc8d833af3fed83": [ + "src/client/edit/modals.ts" + ], + "m_2785ce58df740e52": [ + "src/client/edit/modals.ts" + ], + "m_1566f907a6cafa98": [ + "src/client/edit/modals.ts" + ], + "m_7ac690f892035c00": [ + "src/client/edit/modals.ts" + ], + "m_39c739b867eef4ab": [ + "src/client/edit/modals.ts" + ], + "m_2a1ab0fc433fe4a3": [ + "src/client/edit/modals.ts" + ], + "m_ce91402873043528": [ + "src/client/edit/modals.ts" + ], + "m_ad2a021727ba5006": [ + "src/client/edit/modals.ts" + ], + "m_1272d20262a7297f": [ + "src/client/edit/modals.ts" + ], + "m_995d13c173849c77": [ + "src/client/edit/modals.ts" + ], + "m_74b26fc4e214ba84": [ + "src/client/edit/modals.ts" + ], + "m_1649005aa08afe3f": [ + "src/client/edit/modals.ts" + ], + "m_139e9bf69e8e8a27": [ + "src/client/edit/modals.ts" + ], + "m_1d03cb185f79e003": [ + "src/client/edit/modals.ts" + ], + "m_95d1a4bc0f3a1f4e": [ + "src/client/edit/modals.ts" + ], + "m_f7ea9e331f809359": [ + "src/client/edit/modals.ts" + ], + "m_09f76a1b7a6712ee": [ + "src/client/edit/modals.ts" + ], + "m_b6306b0c0739bba6": [ + "src/client/edit/modals.ts" + ], + "m_1441cf3cc6d86041": [ + "src/client/edit/modals.ts" + ], + "m_1f8b9e640386d7ad": [ + "src/client/edit/modals.ts" + ], + "m_56f38475c09e90ed": [ + "src/client/edit/modals.ts" + ], + "m_95f164c4fa1c981a": [ + "src/client/edit/modals.ts" + ], + "m_b3e62163fc465b9d": [ + "src/client/edit/modals.ts" + ], + "m_a03bcaac1008e846": [ + "src/client/edit/modals.ts" + ], + "m_6d63e624c20eba5c": [ + "src/client/edit/modals.ts" + ], + "m_487739cecc25e679": [ + "src/client/edit/modals.ts" + ], + "m_9a45d8beac2b662c": [ + "src/client/edit/modals.ts" + ], + "m_70bd191952fc71c7": [ + "src/client/edit/modals.ts" + ], + "m_c8de9972319654a0": [ + "src/client/edit/modals.ts" + ], + "m_7ba89c363a3a76a9": [ + "src/client/edit/modals.ts" + ], + "m_0ab884b9ab2c7a09": [ + "src/client/edit/modals.ts" + ], + "m_4f39790bfd22c8c0": [ + "src/client/edit/modals.ts" + ], + "m_7f697abbf2047c77": [ + "src/client/edit/modals.ts" + ], + "m_dcddd4797bbccfca": [ + "src/client/edit/modals.ts" + ], + "m_d39f7108d58e7acd": [ + "src/client/edit/modals.ts" + ], + "m_392832a675bf3e47": [ + "src/client/edit/modals.ts" + ], + "m_fdf04f03e0b2c942": [ + "src/client/edit/modals.ts" + ], + "m_7d683b4d01ff4ada": [ + "src/client/edit/modals.ts" + ], + "m_8abb941adbc7997a": [ + "src/client/edit/modals.ts" + ], + "m_6a72b554a7c28caf": [ + "src/client/edit/modals.ts", + "src/client/pages/admin-bulk-manage.ts" + ], + "m_894d2755019c74bc": [ + "src/client/edit/modals.ts" + ], + "m_ffbbd93f310f6250": [ + "src/client/edit/modals.ts" + ], + "m_8c1df1d5a0dfba80": [ + "src/client/edit/modals.ts" + ], + "m_82ff6e1e38dd2f4c": [ + "src/client/edit/modals.ts" + ], + "m_480b6590ee92d485": [ + "src/client/edit/modals.ts" + ], + "m_4ac094a75c8ed4f0": [ + "src/client/edit/modals.ts" + ], + "m_e46f9e192d1f7d11": [ + "src/client/edit/modals.ts" + ], + "m_7647e729130059dc": [ + "src/client/edit/modals.ts" + ], + "m_a983c6b83bb1ecf8": [ + "src/client/edit/modals.ts" + ], + "m_2246fddc05d573ac": [ + "src/client/edit/modals.ts" + ], + "m_7df2e1f129e0c26b": [ + "src/client/edit/modals.ts" + ], + "m_7c9d19d16fab0f77": [ + "src/client/edit/modals.ts" + ], + "m_47af9e15b60b97a5": [ + "src/client/edit/modals.ts" + ], + "m_80d5305b067475b9": [ + "src/client/edit/modals.ts" + ], + "m_5fdab11e30cecaea": [ + "src/client/edit/modals.ts" + ], + "m_f457a2ac27592fb5": [ + "src/client/edit/modals.ts" + ], + "m_f6ebefaf89ab40e4": [ + "src/client/edit/modals.ts" + ], + "m_01ac2b0c6f4e158f": [ + "src/client/edit/modals.ts" + ], + "m_92ab0fddb7f04da5": [ + "src/client/edit/modals.ts" + ], + "m_4cdf202c9558f2c5": [ + "src/client/edit/modals.ts" + ], + "m_7a688306423bec17": [ + "src/client/edit/modals.ts", + "public/admin.html", + "public/blog-edit.html", + "public/edit.html" + ], + "m_494d6529da346053": [ + "src/client/edit/modals.ts" + ], + "m_fa106cabdda26e90": [ + "src/client/edit/modals.ts" + ], + "m_6146c4ffc51735d5": [ + "src/client/edit/modals.ts" + ], + "m_ca905f2e8dad44e5": [ + "src/client/edit/modals.ts" + ], + "m_c9f511c1c9221959": [ + "src/client/edit/modals.ts" + ], + "m_03a581e6686dde00": [ + "src/client/edit/modals.ts" + ], + "m_43879d12b6623841": [ + "src/client/edit/modals.ts" + ], + "m_30ec4d8c6534a85a": [ + "src/client/edit/modals.ts" + ], + "m_1b8575f36b9b08c7": [ + "src/client/edit/modals.ts" + ], + "m_16f64fe47b163b81": [ + "src/client/edit/modals.ts" + ], + "m_8d1a750c9351d1b8": [ + "src/client/edit/modals.ts" + ], + "m_88cdc26b4350f44b": [ + "src/client/edit/modals.ts" + ], + "m_ba152dbc0c19e004": [ + "src/client/edit/modals.ts" + ], + "m_7217405d546156e8": [ + "src/client/edit/modals.ts" + ], + "m_95bd08c478861f89": [ + "src/client/edit/modals.ts" + ], + "m_2c48e443bb1d8825": [ + "src/client/edit/modals.ts" + ], + "m_97c94ee5e5a838e6": [ + "src/client/edit/modals.ts" + ], + "m_dafe247453aa7693": [ + "src/client/edit/modals.ts" + ], + "m_e035a3de4da7d35c": [ + "src/client/edit/modals.ts" + ], + "m_6b9a6d3b336e2d71": [ + "src/client/edit/modals.ts" + ], + "m_003ab5d5618f9c91": [ + "src/client/edit/modals.ts" + ], + "m_9f3e59080fdd2350": [ + "src/client/edit/modals.ts" + ], + "m_94581cc7585ca7f4": [ + "src/client/edit/modals.ts" + ], + "m_daab054698e34b49": [ + "src/client/edit/modals.ts" + ], + "m_c6cee464c464112c": [ + "src/client/edit/modals.ts" + ], + "m_c20801f40b7d2560": [ + "src/client/edit/modals.ts" + ], + "m_c48c43adb05aebfd": [ + "src/client/edit/modals.ts" + ], + "m_caf6dd4efb1f43e7": [ + "src/client/edit/modals.ts" + ], + "m_7961a83384d35efe": [ + "src/client/edit/modals.ts" + ], + "m_f090ebd527130a04": [ + "src/client/edit/modals.ts" + ], + "m_699cde60d54b4dc9": [ + "src/client/edit/modals.ts" + ], + "m_4ef3cdd6efbba5c3": [ + "src/client/edit/modals.ts" + ], + "m_1194ddd41eefe131": [ + "src/client/edit/modals.ts" + ], + "m_8e1cef6dc6337762": [ + "src/client/edit/modals.ts" + ], + "m_123bd246e01133e0": [ + "src/client/edit/modals.ts" + ], + "m_aa0589ba34de4380": [ + "src/client/edit/modals.ts" + ], + "m_c00e6c626e710688": [ + "src/client/edit/modals.ts" + ], + "m_7a62c8ac8f4eada2": [ + "src/client/edit/modals.ts" + ], + "m_31d2191b2eb19131": [ + "src/client/edit/modals.ts" + ], + "m_56d861199a9955aa": [ + "src/client/edit/modals.ts" + ], + "m_7ecb1aab70dc86ae": [ + "src/client/edit/modals.ts" + ], + "m_dfd24654e5de4b83": [ + "src/client/edit/modals.ts" + ], + "m_9408082561e0727e": [ + "src/client/edit/modals.ts" + ], + "m_4c490f1ca1d756f8": [ + "src/client/edit/modals.ts", + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_bb0ef12c864f932d": [ + "src/client/edit/modals.ts" + ], + "m_6d920f20af1fbb93": [ + "src/client/edit/modals.ts" + ], + "m_92dd5ec930a5f047": [ + "src/client/edit/modals.ts" + ], + "m_ffcc8ccfea24a0bc": [ + "src/client/edit/modals.ts" + ], + "m_21084b6c308bfc4c": [ + "src/client/edit/modals.ts" + ], + "m_41ba8a4a77de8ea9": [ + "src/client/edit/modals.ts" + ], + "m_18af8e11855e7194": [ + "src/client/edit/modals.ts" + ], + "m_a1a80a460199fb2e": [ + "src/client/edit/modals.ts" + ], + "m_a3888c0ffc458644": [ + "src/client/edit/modals.ts" + ], + "m_70ddbabf318bc9f4": [ + "src/client/edit/modals.ts" + ], + "m_808bca7b24c1ef11": [ + "src/client/edit/modals.ts" + ], + "m_02e46a21c00368ef": [ + "src/client/edit/modals.ts" + ], + "m_e5b4ba4c5b5849b5": [ + "src/client/edit/modals.ts" + ], + "m_81b5029b153b5b67": [ + "src/client/edit/modals.ts" + ], + "m_f508b82ec73b32de": [ + "src/client/edit/modals.ts" + ], + "m_8fbd5bc575ef6641": [ + "src/client/edit/modals.ts" + ], + "m_2a73ed53178ab6fe": [ + "src/client/edit/modals.ts" + ], + "m_52e94db6f68c7bdf": [ + "src/client/edit/modals.ts" + ], + "m_727333ab0740d7d8": [ + "src/client/edit/modals.ts", + "src/client/permissions/category-acl-modal.ts" + ], + "m_f8f8aa0ea86fa2cb": [ + "src/client/edit/modals.ts" + ], + "m_7af33c647f3fa845": [ + "src/client/edit/modals.ts" + ], + "m_fc96c86388ff353c": [ + "src/client/edit/modals.ts" + ], + "m_e998dd3e6ab1ea90": [ + "src/client/edit/modals.ts" + ], + "m_67422b9f36e16f6f": [ + "src/client/edit/modals.ts" + ], + "m_c604372f2450c30e": [ + "src/client/edit/modals.ts" + ], + "m_5ee122a59e94bed2": [ + "src/client/edit/modals.ts" + ], + "m_75602484d2d2d49b": [ + "src/client/edit/modals.ts" + ], + "m_b000bfeac043e63a": [ + "src/client/edit/modals.ts" + ], + "m_cc35839126f937d2": [ + "src/client/edit/modals.ts" + ], + "m_706815de4845ba5c": [ + "src/client/edit/modals.ts" + ], + "m_f98ff92c3b517d9d": [ + "src/client/edit/modals.ts" + ], + "m_ae85ebe729883ed1": [ + "src/client/edit/modals.ts" + ], + "m_d063e7dfecfefbcc": [ + "src/client/edit/modals.ts" + ], + "m_254f1c310d7371ef": [ + "src/client/edit/modals.ts" + ], + "m_26a24b7e0ea8a922": [ + "src/client/edit/modals.ts" + ], + "m_2f8cf5a7c5ccd681": [ + "src/client/edit/modals.ts" + ], + "m_5c2a8f867bc8be99": [ + "src/client/edit/modals.ts", + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_7128e1015a8dd3dc": [ + "src/client/edit/modals.ts", + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_977c0c00c8ebaa5e": [ + "src/client/edit/modals.ts", + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_37a35f695d13de6a": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_6d3d57e31f94600e": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_e31c881e16db95c5": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_e7a8a42e031bf6ea": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_2f18f2b811bf77a0": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_f5adc7cae0cf6975": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_aef0755c90fc2f17": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_0ce908153b8c4723": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_28f4885ee4cc6f4d": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_4a3f2ae942af04cc": [ + "src/client/edit/summary.ts", + "src/routes/admin-mcp.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_c10e2eaa0268650c": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_f359d66813daa42f": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_e1f660558dd31528": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_985a5f979ef19c05": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_cc11371b5a1dcf37": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_8a12bc762ca4fdd5": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_3ce84c749766490c": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_ba5f59098d850c32": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_ae5e8a60a5e184d7": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_2edd189025428bf6": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_8c7c679e495c64d0": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_6c44f3d4ed564acf": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_5a040009152a8117": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_23a212a1e65a49ad": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_f6fbe6e758da10c3": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_4622a0ae2316d86b": [ + "src/client/edit/summary.ts" + ], + "m_6cd2a24fc06cb39b": [ + "src/client/edit/summary.ts" + ], + "m_8dcd11aee6f0dbb9": [ + "src/client/edit/summary.ts" + ], + "m_8029674526ac2912": [ + "src/client/edit/summary.ts", + "packages/wiki-shared/src/editor/summary.ts" + ], + "m_731818359bf928c3": [ + "src/client/edit/table-toolbar.ts", + "packages/wiki-shared/src/editor/table-toolbar.ts" + ], + "m_90261fcce39fc898": [ + "src/client/edit/utils.ts" + ], + "m_411b2c6b766399b8": [ + "src/client/edit/utils.ts" + ], + "m_3f461b232fc684b2": [ + "src/client/edit/utils.ts", + "src/client/render.ts", + "packages/wiki-shared/src/editor/utils.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_1838d440c8d73857": [ + "src/client/edit/utils.ts" + ], + "m_f5c3734f1842d175": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_ffe73dd0b9913359": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_4a0c4ffb632258ff": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_0fdee520a75bf81b": [ + "src/client/edit/utils.ts" + ], + "m_0d3fa0fb13f01944": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_02d29b4444c4bc35": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_8c6275b0525f518a": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_8673367aa168346a": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_644e6e73401bc4b5": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_81d70d3ce436e08d": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_3debe2c26e180005": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_4615af86275a1ed2": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_ca8ae38121505dba": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_4b6e64b01208ec5b": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_dd15748fb340ff41": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_dbfe8bc53f299dac": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_bb23db5abfb5746e": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_8857aa2850c69203": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_15a73ae33375c3b1": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_a12252500035668f": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_9ec3652c9d614929": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_6506287817248afd": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_a1a6f7bd639bc549": [ + "src/client/edit/utils.ts", + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_75315ee45ec4712a": [ + "src/client/edit/wiki-lint.ts" + ], + "m_c80a6dcbf6960a9f": [ + "src/client/edit/wiki-lint.ts" + ], + "m_41c6f48afae8edc4": [ + "src/client/edit/wiki-lint.ts" + ], + "m_fe956171e5a0b99d": [ + "src/client/edit/wiki-lint.ts" + ], + "m_39230b204bd49873": [ + "src/client/edit/wiki-lint.ts" + ], + "m_d6f5e3691cc6008b": [ + "src/client/pages/admin-bulk-manage.ts", + "src/client/pages/admin-media.ts", + "src/client/pages/admin.ts" + ], + "m_81c940c801e0ec7f": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_0e196333719d862c": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_b4adc72395479a89": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_a0ef6c9fa2bd275d": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_faf001b7100460ec": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_e591663c20e8b8b7": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_2d3c90871a22aed2": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_222e45adc7dbf99f": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_7574c10174114a52": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_17347648a5c751ee": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_5a956bebe2ca288c": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_2f7c5b2dedf710e2": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_05ad218b2ac1779d": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_79c234a547f281f2": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_da9295df13296758": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_154745f0cb57b53e": [ + "src/client/pages/admin-bulk-manage.ts", + "src/routes/adminJobs.ts" + ], + "m_8ad4371e3ea4adf5": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_65d6068e556b1cac": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_7544d023fa852dbd": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_e92dbc8971ca237a": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_4e01a4d26a03423b": [ + "src/client/pages/admin-bulk-manage.ts", + "src/client/pages/blog.ts", + "src/client/pages/index.ts" + ], + "m_73c02260be022109": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_27ab0c6f71896fa2": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_e4f69e236d51ed95": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_891598d221db1571": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_83dc9a22a33d0895": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_a5e69871d2934498": [ + "src/client/pages/admin-bulk-manage.ts", + "src/durable/adminJob.ts" + ], + "m_e3a2ddb8e52349a1": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_547c96cbe08c4ad6": [ + "src/client/pages/admin-bulk-manage.ts", + "src/client/pages/admin.ts" + ], + "m_61560166d5d4eabd": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_327563a465cf538b": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_bd77cc3b242f9d7b": [ + "src/client/pages/admin-bulk-manage.ts", + "src/routes/adminJobs.ts" + ], + "m_5e14d1c058efae1e": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_0bdc92c1b6798d08": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_827597193b7f7d53": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_66daf03ffc0fac65": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_c8e0d126500c7350": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_1022c9304cc114df": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_8cc99a47224784a9": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_e636bda8ebcf0cc1": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_1aa576d666714a04": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_73b2738ac4b74fd2": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_e33ef078b7cf5037": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_24566fe78189441f": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_3a16ff06f051eb49": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_b1be2efca8e7b129": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_f80dec7cd41af1b0": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_b663ddf9f8baa973": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_22a363c2bacabe70": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_8dcac6e9c804b4aa": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_142aa09bb01a7e39": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_19201c5bcc6bd7d5": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_2a245cdc2401ba0a": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_ac2fba8377d87700": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_22c4247c02491409": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_0615ca8b3271a36b": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_3dba0f2f82d951de": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_dc1e1c170a6005d0": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_b1168cb5088e809e": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_4e79d5330305f2b9": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_d9525c44539fb8c4": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_54578b0fc2f6382a": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_864f9e90a54aef3f": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_544d1a470b641ce0": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_0c90c9c7adbe4fe3": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_446e3defe7106496": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_cffe2423b754b83e": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_05bd56619e5960f8": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_e8a4dbe174cfde00": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_4f9a5073a0fd9162": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_8b6afd54317c5d9c": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_388f1f1d9874393b": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_3d6b38494e727a56": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_47a1fa6f0e1a0d32": [ + "src/client/pages/admin-bulk-manage.ts", + "public/search.html" + ], + "m_6e588599c725e484": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_1e17ef3b52568348": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_8877a6381e48058a": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_71ff102ea89b4e6e": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_7bbf8a6c8a63d18b": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_d0386e67dd1f4a6f": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_3ade1fed4df03c54": [ + "src/client/pages/admin-bulk-manage.ts" + ], + "m_25044a9beab77aac": [ + "src/client/pages/admin-media.ts", + "src/client/pages/admin.ts" + ], + "m_290aea65c3f16fa7": [ + "src/client/pages/admin-media.ts" + ], + "m_83382c601afc0ed6": [ + "src/client/pages/admin-media.ts" + ], + "m_e6c8a4e6ff6206e1": [ + "src/client/pages/admin-media.ts" + ], + "m_56faeea9d4279b1a": [ + "src/client/pages/admin-media.ts" + ], + "m_1ebf863315a6276d": [ + "src/client/pages/admin-media.ts" + ], + "m_18abceefc15fa773": [ + "src/client/pages/admin-media.ts" + ], + "m_89fa716c20d6975b": [ + "src/client/pages/admin-media.ts" + ], + "m_02121e9f89592303": [ + "src/client/pages/admin-media.ts" + ], + "m_4fb0bcdb64aa72c6": [ + "src/client/pages/admin-media.ts" + ], + "m_7fe8eb1fe4c3e8b2": [ + "src/client/pages/admin-media.ts" + ], + "m_077a6d37719a0e21": [ + "src/client/pages/admin-media.ts", + "src/client/pages/discussions.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts" + ], + "m_74c1a50ecff0bebf": [ + "src/client/pages/admin-media.ts" + ], + "m_ff106bdf32342a01": [ + "src/client/pages/admin-media.ts" + ], + "m_08e1c6d38e3fef61": [ + "src/client/pages/admin-media.ts" + ], + "m_4fab65f10314a98f": [ + "src/client/pages/admin-media.ts" + ], + "m_f9e39928a681db2a": [ + "src/client/pages/admin-media.ts" + ], + "m_f56c6c82203b33f6": [ + "src/client/pages/admin-media.ts", + "src/client/pages/discussions.ts", + "src/client/pages/index.ts", + "src/client/pages/tickets.ts" + ], + "m_6592941155924ffc": [ + "src/client/pages/admin-media.ts", + "src/routes/admin.ts" + ], + "m_517f80d5e802c50e": [ + "src/client/pages/admin-media.ts" + ], + "m_9505857337fbdb51": [ + "src/client/pages/admin-media.ts" + ], + "m_d37f24fb4e0d7b1d": [ + "src/client/pages/admin-media.ts" + ], + "m_c6c7a20bf9453422": [ + "src/client/pages/admin-media.ts" + ], + "m_6d235d1bf6051e40": [ + "src/client/pages/admin-media.ts" + ], + "m_a9734db6fb176602": [ + "src/client/pages/admin-media.ts" + ], + "m_ac1f587179b371a1": [ + "src/client/pages/admin-media.ts" + ], + "m_1157eee8b9283734": [ + "src/client/pages/admin-media.ts" + ], + "m_38372774e5415a6e": [ + "src/client/pages/admin-media.ts", + "src/client/pages/index.ts" + ], + "m_4291ef38489ca46a": [ + "src/client/pages/admin-media.ts" + ], + "m_1ce6d6664cb04530": [ + "src/client/pages/admin-media.ts" + ], + "m_990b4c1d7cad17e1": [ + "src/client/pages/admin-media.ts" + ], + "m_33cbb4602073fb78": [ + "src/client/pages/admin-media.ts" + ], + "m_f1e3e9ce7c1fb7dd": [ + "src/client/pages/admin-media.ts" + ], + "m_7f6ade650e10d379": [ + "src/client/pages/admin-media.ts" + ], + "m_fd33b1a4b07e2384": [ + "src/client/pages/admin-media.ts" + ], + "m_7ed12ac44a9887cb": [ + "src/client/pages/admin-media.ts" + ], + "m_09aa016c5f43372b": [ + "src/client/pages/admin.ts" + ], + "m_0ac696c929c4a7ed": [ + "src/client/pages/admin.ts" + ], + "m_f932426b3687e632": [ + "src/client/pages/admin.ts" + ], + "m_e5d47a576f5bcf8e": [ + "src/client/pages/admin.ts" + ], + "m_af258636a654f632": [ + "src/client/pages/admin.ts" + ], + "m_8199969ee24826d1": [ + "src/client/pages/admin.ts" + ], + "m_f7986512b3886a5c": [ + "src/client/pages/admin.ts" + ], + "m_293182ec397e6b89": [ + "src/client/pages/admin.ts" + ], + "m_4b785e68bbaeafb2": [ + "src/client/pages/admin.ts", + "src/client/pages/user-profile.ts" + ], + "m_f4e3ec810bc2950d": [ + "src/client/pages/admin.ts", + "src/client/pages/user-profile.ts" + ], + "m_a6e7c85021623cdb": [ + "src/client/pages/admin.ts" + ], + "m_9aa31a355c5f1c82": [ + "src/client/pages/admin.ts" + ], + "m_0e1d6e435d1d8866": [ + "src/client/pages/admin.ts" + ], + "m_eb23450bff80aeee": [ + "src/client/pages/admin.ts" + ], + "m_1b109fcd101882f3": [ + "src/client/pages/admin.ts" + ], + "m_fe57cc5642b72994": [ + "src/client/pages/admin.ts" + ], + "m_b88414a7c7371ad2": [ + "src/client/pages/admin.ts" + ], + "m_ea6a263186c95b72": [ + "src/client/pages/admin.ts" + ], + "m_bb8c8af377862bd1": [ + "src/client/pages/admin.ts" + ], + "m_0cca5a2971f119fa": [ + "src/client/pages/admin.ts" + ], + "m_3c45a98ec04e084c": [ + "src/client/pages/admin.ts" + ], + "m_f66e36e2558de90f": [ + "src/client/pages/admin.ts" + ], + "m_7240ba2c07574495": [ + "src/client/pages/admin.ts" + ], + "m_6e59915db6f900f2": [ + "src/client/pages/admin.ts" + ], + "m_c1f3de26a5f102c6": [ + "src/client/pages/admin.ts" + ], + "m_80a42fdc93a8b3a3": [ + "src/client/pages/admin.ts", + "src/client/pages/blog.ts", + "src/routes/admin.ts", + "src/routes/blog.ts" + ], + "m_c0fd9a542515c058": [ + "src/client/pages/admin.ts", + "src/client/pages/blog.ts" + ], + "m_da0dad56d4887e78": [ + "src/client/pages/admin.ts" + ], + "m_710cee6baf966ad9": [ + "src/client/pages/admin.ts" + ], + "m_4c84afb1ab910432": [ + "src/client/pages/admin.ts" + ], + "m_ed8b1ad5e3a58158": [ + "src/client/pages/admin.ts" + ], + "m_2ac5f029a8308b3b": [ + "src/client/pages/admin.ts", + "src/client/pages/index.ts", + "src/durable/adminJob.ts" + ], + "m_2b8e0177e794ff8b": [ + "src/client/pages/admin.ts" + ], + "m_9693e1eb3edb1291": [ + "src/client/pages/admin.ts", + "src/client/pages/mypage.ts" + ], + "m_7027c91cb33c8afe": [ + "src/client/pages/admin.ts" + ], + "m_6c700457992d1984": [ + "src/client/pages/admin.ts" + ], + "m_562d741f32937c7a": [ + "src/client/pages/admin.ts" + ], + "m_3552caa98eb436e3": [ + "src/client/pages/admin.ts" + ], + "m_4f16c308b26b0191": [ + "src/client/pages/admin.ts" + ], + "m_191697bdb0eece29": [ + "src/client/pages/admin.ts" + ], + "m_9d5d4fed551fb021": [ + "src/client/pages/admin.ts" + ], + "m_8e33ab759d3c49a0": [ + "src/client/pages/admin.ts" + ], + "m_f969cc6c70f1147d": [ + "src/client/pages/admin.ts" + ], + "m_917aa9acc9bd4f00": [ + "src/client/pages/admin.ts" + ], + "m_db21ba87d2bb268f": [ + "src/client/pages/admin.ts" + ], + "m_b88012495fd61b7f": [ + "src/client/pages/admin.ts" + ], + "m_87d48311da56e798": [ + "src/client/pages/admin.ts" + ], + "m_a77e673e33df301f": [ + "src/client/pages/admin.ts" + ], + "m_e7274914741b7904": [ + "src/client/pages/admin.ts", + "src/client/pages/index.ts" + ], + "m_c00baeeecffdda4b": [ + "src/client/pages/admin.ts" + ], + "m_1d358458933cf3d4": [ + "src/client/pages/admin.ts" + ], + "m_6f5d64ead92339db": [ + "src/client/pages/admin.ts" + ], + "m_1c6746a696b590ab": [ + "src/client/pages/admin.ts" + ], + "m_8cf990d20980a733": [ + "src/client/pages/admin.ts" + ], + "m_f71eb110c02ececf": [ + "src/client/pages/admin.ts" + ], + "m_ffdbb50e2aa475ec": [ + "src/client/pages/admin.ts", + "src/client/permissions/category-acl-modal.ts", + "src/client/permissions/permissions-modal.ts", + "src/routes/admin.ts" + ], + "m_a94c4ebca1afc288": [ + "src/client/pages/admin.ts" + ], + "m_a0e7ee7d62d7117e": [ + "src/client/pages/admin.ts" + ], + "m_a804540cad75651f": [ + "src/client/pages/admin.ts" + ], + "m_1c33d57d376671cb": [ + "src/client/pages/admin.ts" + ], + "m_375f2a17fd005d33": [ + "src/client/pages/admin.ts" + ], + "m_504ade90bc80e729": [ + "src/client/pages/admin.ts" + ], + "m_d038bc0ad25ed9f0": [ + "src/client/pages/admin.ts" + ], + "m_7cc01f11d9087f0a": [ + "src/client/pages/admin.ts" + ], + "m_2e1ae4c7b2dbdc8b": [ + "src/client/pages/admin.ts" + ], + "m_0245b23f2703421c": [ + "src/client/pages/admin.ts" + ], + "m_27aa10dd2ac8a04f": [ + "src/client/pages/admin.ts" + ], + "m_3d1af832228cb235": [ + "src/client/pages/all.ts" + ], + "m_ca766e440fd9a607": [ + "src/client/pages/all.ts" + ], + "m_8fad0c21df08b91f": [ + "src/client/pages/all.ts" + ], + "m_5c04d326f53bc0f1": [ + "src/client/pages/all.ts" + ], + "m_292bdb75f0011656": [ + "src/client/pages/all.ts" + ], + "m_8c7034ee0c0ebf93": [ + "src/client/pages/all.ts" + ], + "m_517ee39c282012b5": [ + "src/client/pages/all.ts", + "src/client/pages/explore.ts" + ], + "m_33cecb018bdc5163": [ + "src/client/pages/all.ts", + "src/client/pages/explore.ts" + ], + "m_6c23a6c802335620": [ + "src/client/pages/all.ts" + ], + "m_de907d10df98b498": [ + "src/client/pages/all.ts", + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts", + "public/tickets.html" + ], + "m_292f928b21f6601e": [ + "src/client/pages/all.ts" + ], + "m_585130be06e9802e": [ + "src/client/pages/all.ts" + ], + "m_48a68458c672c173": [ + "src/client/pages/all.ts" + ], + "m_ec1326ec231a3ecf": [ + "src/client/pages/all.ts" + ], + "m_1592909a32281f5b": [ + "src/client/pages/all.ts" + ], + "m_dc0c4db71c6b7727": [ + "src/client/pages/all.ts" + ], + "m_e7ef0e0d1cd3a561": [ + "src/client/pages/all.ts" + ], + "m_e77a27edad4afb56": [ + "src/client/pages/all.ts" + ], + "m_53e4f430e233f298": [ + "src/client/pages/all.ts" + ], + "m_437b0feecec97c38": [ + "src/client/pages/all.ts" + ], + "m_f79ea092eed5bb34": [ + "src/client/pages/all.ts" + ], + "m_d7c4353ccc36611a": [ + "src/client/pages/all.ts" + ], + "m_31173ef0f1720547": [ + "src/client/pages/blog.ts" + ], + "m_0d4c50e88af7eca4": [ + "src/client/pages/blog.ts" + ], + "m_4e808334eb8abe41": [ + "src/client/pages/blog.ts" + ], + "m_1c831e776367775a": [ + "src/client/pages/blog.ts" + ], + "m_85f202f2c81c4f82": [ + "src/client/pages/blog.ts" + ], + "m_6e474e08543a700e": [ + "src/client/pages/blog.ts" + ], + "m_1abe73e9bda9281a": [ + "src/client/pages/blog.ts" + ], + "m_c9bc06ff14db6aec": [ + "src/client/pages/blog.ts" + ], + "m_5056b04e6a6b824a": [ + "src/client/pages/blog.ts" + ], + "m_629e74af9de0752d": [ + "src/client/pages/blog.ts" + ], + "m_65224c8a54f4faa4": [ + "src/client/pages/blog.ts" + ], + "m_402dbf446ebd35a5": [ + "src/client/pages/blog.ts" + ], + "m_6f7e0546eb7f12ce": [ + "src/client/pages/blog.ts" + ], + "m_7b257d20332407ea": [ + "src/client/pages/blog.ts" + ], + "m_cdbf365d344f89c5": [ + "src/client/pages/blog.ts" + ], + "m_53b89a297e207095": [ + "src/client/pages/blog.ts" + ], + "m_45caf5a50992737e": [ + "src/client/pages/blog.ts" + ], + "m_977dfc49dbc7d8b2": [ + "src/client/pages/blog.ts" + ], + "m_f92ebe3bee085dd6": [ + "src/client/pages/blog.ts" + ], + "m_c4f1fd5120a38dbb": [ + "src/client/pages/blog.ts" + ], + "m_c83214923a9ca5d5": [ + "src/client/pages/blog.ts" + ], + "m_4755c64e5ec3dae6": [ + "src/client/pages/blog.ts" + ], + "m_92e825d2066bd126": [ + "src/client/pages/blog.ts" + ], + "m_42af8fb4ca133c97": [ + "src/client/pages/blog.ts" + ], + "m_ca858e82212f101b": [ + "src/client/pages/blog.ts" + ], + "m_c32dfb0ed75541d5": [ + "src/client/pages/blog.ts" + ], + "m_97a8fd2fa7331f34": [ + "src/client/pages/blog.ts" + ], + "m_38ed9f4ba6124ff7": [ + "src/client/pages/components-json-builder.ts" + ], + "m_50d31cce0e90b6f0": [ + "src/client/pages/components-json-builder.ts" + ], + "m_b96d7c3b45d30da9": [ + "src/client/pages/components-json-builder.ts" + ], + "m_ed6dbf8ac2b22530": [ + "src/client/pages/components-json-builder.ts" + ], + "m_505d97348549989a": [ + "src/client/pages/components-json-builder.ts" + ], + "m_602245ed4eaa4f92": [ + "src/client/pages/components-json-builder.ts" + ], + "m_b113aa5a6fb9a5cd": [ + "src/client/pages/components-json-builder.ts" + ], + "m_a7e04da8e43cf6ce": [ + "src/client/pages/components-json-builder.ts" + ], + "m_ee08022bc594ec0f": [ + "src/client/pages/components-json-builder.ts" + ], + "m_9ce10d6ab3c73bca": [ + "src/client/pages/components-json-builder.ts" + ], + "m_ca2c953402996b21": [ + "src/client/pages/components-json-builder.ts" + ], + "m_b5ba46e9a638e4d1": [ + "src/client/pages/components-json-builder.ts" + ], + "m_1abf0e0da64cca16": [ + "src/client/pages/components-json-builder.ts" + ], + "m_338d167f3755a272": [ + "src/client/pages/components-json-builder.ts" + ], + "m_270d377dea8d48d6": [ + "src/client/pages/components-json-builder.ts" + ], + "m_8917df7098c56ec2": [ + "src/client/pages/components-json-builder.ts" + ], + "m_20df662357441cfb": [ + "src/client/pages/components-json-builder.ts" + ], + "m_22897b499b8bab6e": [ + "src/client/pages/components-json-builder.ts" + ], + "m_2cfeb3c9d255eb1a": [ + "src/client/pages/components-json-builder.ts" + ], + "m_79a3d5f833e14e45": [ + "src/client/pages/components-json-builder.ts" + ], + "m_91211d8faac71c08": [ + "src/client/pages/components-json-builder.ts" + ], + "m_f24ee40fb98f74fb": [ + "src/client/pages/components-json-builder.ts" + ], + "m_321d3a69a12109cf": [ + "src/client/pages/components-json-builder.ts" + ], + "m_5414fc96c6e58627": [ + "src/client/pages/components-json-builder.ts" + ], + "m_0bddd4195710081a": [ + "src/client/pages/components-json-builder.ts" + ], + "m_e0a12b740b1aedad": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_5fc9b515e116cb41": [ + "src/client/pages/discussions.ts", + "src/client/pages/revisions.ts" + ], + "m_f1a9bc043acd56fb": [ + "src/client/pages/discussions.ts" + ], + "m_a55633de7a5bc19d": [ + "src/client/pages/discussions.ts" + ], + "m_ec35a93d8e9346f0": [ + "src/client/pages/discussions.ts" + ], + "m_9580dffa5369affc": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_e2d4b1508e527978": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_a9b779030ba406be": [ + "src/client/pages/discussions.ts" + ], + "m_18ed63153aead016": [ + "src/client/pages/discussions.ts" + ], + "m_5cebfd65259ac709": [ + "src/client/pages/discussions.ts" + ], + "m_01602da2a6cbb28a": [ + "src/client/pages/discussions.ts" + ], + "m_0db6b347ddb9e2ee": [ + "src/client/pages/discussions.ts" + ], + "m_1078e87a30b8b5ab": [ + "src/client/pages/discussions.ts" + ], + "m_c4a7070d6b95bf4d": [ + "src/client/pages/discussions.ts" + ], + "m_e7937f4eca684a0b": [ + "src/client/pages/discussions.ts" + ], + "m_6141dc48c34cb9ca": [ + "src/client/pages/discussions.ts" + ], + "m_5535377aef9a2853": [ + "src/client/pages/discussions.ts" + ], + "m_6354f809c0c6d6ed": [ + "src/client/pages/discussions.ts" + ], + "m_bbac86c33fa62ec5": [ + "src/client/pages/discussions.ts" + ], + "m_f2f337bc0796f89a": [ + "src/client/pages/discussions.ts" + ], + "m_473eec20aca9156f": [ + "src/client/pages/discussions.ts" + ], + "m_d833f7d3befdb938": [ + "src/client/pages/discussions.ts" + ], + "m_69d22d2cd30127df": [ + "src/client/pages/discussions.ts" + ], + "m_5f4c2a67212fa887": [ + "src/client/pages/discussions.ts" + ], + "m_88ab2e933294a15e": [ + "src/client/pages/discussions.ts" + ], + "m_d15600fe57d00775": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_572402f7759511c7": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_82e0fd924912502c": [ + "src/client/pages/discussions.ts" + ], + "m_fb5329841caa622f": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_ccf19617f6bcd97c": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_2b00c5e5001419da": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_f18368c5975d3952": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_3b36e01f4a720657": [ + "src/client/pages/discussions.ts" + ], + "m_570ffaa19c47fe77": [ + "src/client/pages/discussions.ts" + ], + "m_3d5ef5f99249355c": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_5397333d5562291a": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_9697a7e6c9418935": [ + "src/client/pages/discussions.ts" + ], + "m_e4650415394afb7b": [ + "src/client/pages/discussions.ts" + ], + "m_42c9bbf297ec0afd": [ + "src/client/pages/discussions.ts" + ], + "m_76e220caaef33b47": [ + "src/client/pages/discussions.ts" + ], + "m_a89f2d786c66d32b": [ + "src/client/pages/discussions.ts" + ], + "m_e9fcb2e837f4b23a": [ + "src/client/pages/discussions.ts" + ], + "m_41d62abcf8fafc00": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_ce7bd71253be4191": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_8b1416695c6437b4": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_1482b30a82762df1": [ + "src/client/pages/discussions.ts", + "src/client/pages/tickets.ts" + ], + "m_de0eb575bed307f0": [ + "src/client/pages/explore.ts" + ], + "m_d1d044826a45ef65": [ + "src/client/pages/explore.ts" + ], + "m_0d0e1a86b3aa7877": [ + "src/client/pages/explore.ts" + ], + "m_051836569928a9f9": [ + "src/client/pages/explore.ts", + "src/client/pages/index.ts", + "src/client/pages/mypage.ts", + "public/blog.html" + ], + "m_fa33e10009759859": [ + "src/client/pages/explore.ts" + ], + "m_d83a4ae92ee35421": [ + "src/client/pages/explore.ts" + ], + "m_4b5d12f9faf3d1db": [ + "src/client/pages/explore.ts" + ], + "m_af65e4f04d01eb81": [ + "src/client/pages/explore.ts" + ], + "m_e095dc68c73af754": [ + "src/client/pages/explore.ts" + ], + "m_bf97ecf1fd60c99b": [ + "src/client/pages/explore.ts" + ], + "m_be1e30363041209b": [ + "src/client/pages/explore.ts" + ], + "m_9b9b10704163d765": [ + "src/client/pages/explore.ts" + ], + "m_33c54070d7d8ecbb": [ + "src/client/pages/explore.ts" + ], + "m_4f5151dbe61f6c75": [ + "src/client/pages/explore.ts" + ], + "m_baaebc5af7766e90": [ + "src/client/pages/explore.ts" + ], + "m_67e25d7893673436": [ + "src/client/pages/explore.ts" + ], + "m_b576a13957871acf": [ + "src/client/pages/explore.ts", + "src/client/pages/revisions.ts" + ], + "m_75f7ca0ed6df405a": [ + "src/client/pages/explore.ts" + ], + "m_9ff9d47a358012ee": [ + "src/client/pages/explore.ts" + ], + "m_10434df2fdcb893a": [ + "src/client/pages/explore.ts" + ], + "m_742ddaa38e71f95f": [ + "src/client/pages/explore.ts" + ], + "m_ff9eb48d91acd452": [ + "src/client/pages/explore.ts" + ], + "m_6cba850e1617ad60": [ + "src/client/pages/explore.ts" + ], + "m_9f96d1f89b8d769d": [ + "src/client/pages/explore.ts" + ], + "m_cb821349c65b43f8": [ + "src/client/pages/explore.ts" + ], + "m_8f3c3623e2665cd2": [ + "src/client/pages/explore.ts" + ], + "m_09d77311b9c4a2f0": [ + "src/client/pages/explore.ts" + ], + "m_0733e8ad76af239f": [ + "src/client/pages/explore.ts" + ], + "m_992ae1142c720658": [ + "src/client/pages/explore.ts" + ], + "m_1bc8b774d178ed80": [ + "src/client/pages/explore.ts" + ], + "m_6b301628568971e6": [ + "src/client/pages/explore.ts" + ], + "m_f4a79e31438c90ca": [ + "src/client/pages/explore.ts" + ], + "m_de1bfae7a3a20278": [ + "src/client/pages/explore.ts" + ], + "m_44cc944cd32d0c20": [ + "src/client/pages/index.ts" + ], + "m_e67a58f956a86383": [ + "src/client/pages/index.ts" + ], + "m_d6db123c7db18e1b": [ + "src/client/pages/index.ts" + ], + "m_aeffceafa26a5176": [ + "src/client/pages/index.ts" + ], + "m_299da3c9a6d5fadc": [ + "src/client/pages/index.ts" + ], + "m_0efb11a90e69d743": [ + "src/client/pages/index.ts" + ], + "m_568a256d59d700ad": [ + "src/client/pages/index.ts" + ], + "m_801e9d830adbc27d": [ + "src/client/pages/index.ts" + ], + "m_fdf55bfdc69ff31d": [ + "src/client/pages/index.ts", + "src/client/pages/setup-profile-form.ts" + ], + "m_c21632531523344c": [ + "src/client/pages/index.ts" + ], + "m_c9b9ae7a61444ab7": [ + "src/client/pages/index.ts" + ], + "m_8a8542f6964852dc": [ + "src/client/pages/index.ts" + ], + "m_51728c7d8afaa26e": [ + "src/client/pages/index.ts" + ], + "m_42534303efa5e92d": [ + "src/client/pages/index.ts", + "public/index.html" + ], + "m_2d847479ffb481cd": [ + "src/client/pages/index.ts" + ], + "m_9303687a9ccf1358": [ + "src/client/pages/index.ts", + "src/client/pages/login.ts", + "public/login.html" + ], + "m_9fb41de3065c32ce": [ + "src/client/pages/index.ts" + ], + "m_e2a60cf868295c18": [ + "src/client/pages/index.ts" + ], + "m_6d0b032bc4d31ea2": [ + "src/client/pages/index.ts" + ], + "m_55bd49f630b15c51": [ + "src/client/pages/index.ts" + ], + "m_924705c0090332c0": [ + "src/client/pages/index.ts" + ], + "m_f62c2c02077abc70": [ + "src/client/pages/index.ts" + ], + "m_f00c38b0029bdb78": [ + "src/client/pages/index.ts" + ], + "m_6ccd1bbe3a380728": [ + "src/client/pages/index.ts" + ], + "m_d98c29f4f49a6a54": [ + "src/client/pages/index.ts" + ], + "m_12010170855732ae": [ + "src/client/pages/index.ts", + "src/index.ts" + ], + "m_cfa50627748d611e": [ + "src/client/pages/index.ts" + ], + "m_e58d520ca5ba10a0": [ + "src/client/pages/index.ts" + ], + "m_0ec435a2dc1da20b": [ + "src/client/pages/index.ts" + ], + "m_a9dd6a47b5cf911c": [ + "src/client/pages/index.ts" + ], + "m_b50763b54d6e0edc": [ + "src/client/pages/index.ts" + ], + "m_94309560093a9d1e": [ + "src/client/pages/index.ts" + ], + "m_15d996a558b12057": [ + "src/client/pages/index.ts" + ], + "m_51c6a0f3e80195c7": [ + "src/client/pages/index.ts" + ], + "m_948c5c16d8fec64d": [ + "src/client/pages/index.ts" + ], + "m_06f282495fe35ed1": [ + "src/client/pages/index.ts" + ], + "m_cc7f6f8711d3fb7f": [ + "src/client/pages/index.ts" + ], + "m_1942f102f4952cfd": [ + "src/client/pages/index.ts" + ], + "m_3c28e080cf62f37d": [ + "src/client/pages/index.ts" + ], + "m_49f0ce90f2d5814f": [ + "src/client/pages/index.ts" + ], + "m_ed51c6e6ac13fb50": [ + "src/client/pages/index.ts" + ], + "m_806118f709cbe8e2": [ + "src/client/pages/index.ts" + ], + "m_4a926e80faa91d9a": [ + "src/client/pages/index.ts" + ], + "m_6d209ac8e2b23236": [ + "src/client/pages/index.ts" + ], + "m_36c060161233f9b5": [ + "src/client/pages/index.ts" + ], + "m_05838fba19cd3545": [ + "src/client/pages/index.ts" + ], + "m_8fe5b03b9e5c164c": [ + "src/client/pages/index.ts" + ], + "m_1eee44365beb0add": [ + "src/client/pages/index.ts" + ], + "m_076e141db0fd7016": [ + "src/client/pages/index.ts" + ], + "m_730bb30b5f8342ee": [ + "src/client/pages/index.ts" + ], + "m_7d58d168c433f9dc": [ + "src/client/pages/index.ts" + ], + "m_5442d2ab364a3559": [ + "src/client/pages/index.ts" + ], + "m_d4d43d5aa05023fe": [ + "src/client/pages/index.ts" + ], + "m_63f8fd344484659e": [ + "src/client/pages/index.ts" + ], + "m_8f827503b320e3e5": [ + "src/client/pages/index.ts" + ], + "m_25a5a6e083da0d47": [ + "src/client/pages/index.ts" + ], + "m_847bcbbdd43760cd": [ + "src/client/pages/index.ts" + ], + "m_cbe88111c1219b42": [ + "src/client/pages/index.ts" + ], + "m_cde2cd071d25bbab": [ + "src/client/pages/index.ts" + ], + "m_fe7697de128f0799": [ + "src/client/pages/index.ts" + ], + "m_9721987d8acc1d00": [ + "src/client/pages/index.ts" + ], + "m_c80db245ef4e8553": [ + "src/client/pages/index.ts" + ], + "m_bd5f59c21308340d": [ + "src/client/pages/index.ts" + ], + "m_ed222ef443a962f8": [ + "src/client/pages/index.ts" + ], + "m_7041761bd79aa63f": [ + "src/client/pages/index.ts" + ], + "m_c13e02032495bf82": [ + "src/client/pages/index.ts" + ], + "m_8728c0c07e1f3170": [ + "src/client/pages/index.ts" + ], + "m_42d267f35954a241": [ + "src/client/pages/index.ts" + ], + "m_91132a14045d17bb": [ + "src/client/pages/index.ts" + ], + "m_abab3a81ecbf84ed": [ + "src/client/pages/index.ts" + ], + "m_65a29206226cfb7a": [ + "src/client/pages/index.ts" + ], + "m_20f80c8397e892b7": [ + "src/client/pages/index.ts" + ], + "m_80ee662ea06de6eb": [ + "src/client/pages/index.ts" + ], + "m_4bb7f3e186ba0c8e": [ + "src/client/pages/index.ts" + ], + "m_00bbefb0317222b2": [ + "src/client/pages/index.ts" + ], + "m_fcfc6676d4778b53": [ + "src/client/pages/index.ts" + ], + "m_a3030bf8f16dc63c": [ + "src/client/pages/index.ts", + "public/admin.html", + "public/blog-edit.html", + "public/edit.html", + "public/mypage.html" + ], + "m_cbadc087b51a5373": [ + "src/client/pages/index.ts" + ], + "m_193f229df3d99e3a": [ + "src/client/pages/index.ts" + ], + "m_ac66748e68a838f4": [ + "src/client/pages/index.ts" + ], + "m_58d547bd560c8cb9": [ + "src/client/pages/index.ts" + ], + "m_c5ce54fdf232a539": [ + "src/client/pages/index.ts" + ], + "m_7065774b223557c7": [ + "src/client/pages/index.ts" + ], + "m_1c94e98085ca28b6": [ + "src/client/pages/index.ts" + ], + "m_58ec18df305006af": [ + "src/client/pages/index.ts" + ], + "m_6c156a0dbc69c6cd": [ + "src/client/pages/index.ts" + ], + "m_d667d18ac1b4f630": [ + "src/client/pages/index.ts" + ], + "m_dab67bcad1d7ec80": [ + "src/client/pages/index.ts" + ], + "m_1717ee6c7d32ee5f": [ + "src/client/pages/index.ts", + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_f81c22694044547f": [ + "src/client/pages/index.ts" + ], + "m_755d75210c1a8cf8": [ + "src/client/pages/index.ts" + ], + "m_f7b0d8118bd8fcd7": [ + "src/client/pages/index.ts" + ], + "m_772d41709e0e6a5e": [ + "src/client/pages/index.ts" + ], + "m_a721f632f0cd4093": [ + "src/client/pages/index.ts" + ], + "m_83b651b85e13a225": [ + "src/client/pages/index.ts" + ], + "m_ffa1f678553ed2cd": [ + "src/client/pages/index.ts" + ], + "m_c88aed9e96e3b5c3": [ + "src/client/pages/index.ts" + ], + "m_3f6361670ddd949f": [ + "src/client/pages/index.ts", + "src/routes/wiki.ts" + ], + "m_6bd81cb9034a4898": [ + "src/client/pages/index.ts" + ], + "m_663740f900b91c4a": [ + "src/client/pages/index.ts" + ], + "m_c0d0cdb8aafea17f": [ + "src/client/pages/index.ts", + "src/routes/wiki.ts" + ], + "m_436586a5e540349c": [ + "src/client/pages/index.ts" + ], + "m_24ca3ea695272e04": [ + "src/client/pages/index.ts" + ], + "m_60b1df1b7c98934b": [ + "src/client/pages/index.ts" + ], + "m_00d2c824bff8c23e": [ + "src/client/pages/index.ts" + ], + "m_9bf3df6038672698": [ + "src/client/pages/index.ts" + ], + "m_69a97fbb7ae7e760": [ + "src/client/pages/index.ts" + ], + "m_24f91191a73ff292": [ + "src/client/pages/index.ts" + ], + "m_24a6ab1e7aaa8c16": [ + "src/client/pages/index.ts" + ], + "m_9dcc502d931602d3": [ + "src/client/pages/index.ts" + ], + "m_d4f7b79c78df0f8b": [ + "src/client/pages/index.ts" + ], + "m_e73ac5fb3a7570ad": [ + "src/client/pages/index.ts" + ], + "m_8dc55c94e80e88e3": [ + "src/client/pages/index.ts", + "public/admin.html" + ], + "m_fdce238dcf207ded": [ + "src/client/pages/index.ts" + ], + "m_4d4296b84bf28502": [ + "src/client/pages/index.ts" + ], + "m_639865d45485dba9": [ + "src/client/pages/index.ts" + ], + "m_ab26b524e5710b3a": [ + "src/client/pages/index.ts" + ], + "m_11c42073077c6ce8": [ + "src/client/pages/index.ts" + ], + "m_497ef5c9494904b6": [ + "src/client/pages/index.ts" + ], + "m_49d12a0080fe8007": [ + "src/client/pages/index.ts" + ], + "m_a50032b8fc491942": [ + "src/client/pages/index.ts" + ], + "m_160424a58ddb3055": [ + "src/client/pages/index.ts" + ], + "m_94554648086196ac": [ + "src/client/pages/index.ts" + ], + "m_93a5ffaade8c184b": [ + "src/client/pages/index.ts" + ], + "m_8ad9c602de119f31": [ + "src/client/pages/index.ts" + ], + "m_0a8e3be3dcd53341": [ + "src/client/pages/index.ts" + ], + "m_06d5d13b3f2a87f3": [ + "src/client/pages/index.ts" + ], + "m_66cc9f3cafa96710": [ + "src/client/pages/index.ts" + ], + "m_904672341b22091d": [ + "src/client/pages/index.ts" + ], + "m_cdd63e4548b20f72": [ + "src/client/pages/index.ts" + ], + "m_9d0d46a61fcdc42e": [ + "src/client/pages/index.ts" + ], + "m_68b37d974d8121a3": [ + "src/client/pages/index.ts" + ], + "m_5936edb93735be6c": [ + "src/client/pages/index.ts" + ], + "m_b789c2df269b13b5": [ + "src/client/pages/index.ts" + ], + "m_71f547ec08ee3427": [ + "src/client/pages/index.ts" + ], + "m_4c2efb4de008cf49": [ + "src/client/pages/index.ts" + ], + "m_a79d58f574651bbb": [ + "src/client/pages/index.ts" + ], + "m_278bc25474682887": [ + "src/client/pages/index.ts" + ], + "m_61a75bf2218fc90b": [ + "src/client/pages/index.ts" + ], + "m_68c2e4d96a251160": [ + "src/client/pages/index.ts" + ], + "m_6eacb71c29751f25": [ + "src/client/pages/index.ts" + ], + "m_c43d1adbb70e5ca2": [ + "src/client/pages/index.ts" + ], + "m_898b68316d1d64f0": [ + "src/client/pages/index.ts" + ], + "m_c9b18eeaff777b86": [ + "src/client/pages/index.ts" + ], + "m_7e80b056a83aac4f": [ + "src/client/pages/index.ts", + "src/routes/wiki.ts" + ], + "m_0da9a55031f01f72": [ + "src/client/pages/index.ts" + ], + "m_f1f3c971ef63729b": [ + "src/client/pages/index.ts" + ], + "m_113ce17492d363d2": [ + "src/client/pages/index.ts", + "src/client/pages/mypage.ts" + ], + "m_c06010c025b199cd": [ + "src/client/pages/index.ts" + ], + "m_d285a73fb16b8376": [ + "src/client/pages/index.ts" + ], + "m_7e0e212667f735a4": [ + "src/client/pages/index.ts" + ], + "m_de472f947fe05807": [ + "src/client/pages/index.ts" + ], + "m_cd4b5423d9376c98": [ + "src/client/pages/index.ts" + ], + "m_f50cf53fd7a1e633": [ + "src/client/pages/index.ts" + ], + "m_811a68c9153c6a44": [ + "src/client/pages/index.ts" + ], + "m_ceba897370c5c6e3": [ + "src/client/pages/index.ts" + ], + "m_60f3b3c3d4863b07": [ + "src/client/pages/index.ts" + ], + "m_ccb1dba7491cb89f": [ + "src/client/pages/index.ts" + ], + "m_197f464472fa5edf": [ + "src/client/pages/index.ts" + ], + "m_596d0d532cae7391": [ + "src/client/pages/index.ts" + ], + "m_e03bebb6b4516f77": [ + "src/client/pages/index.ts" + ], + "m_5fbb7e542ed772f7": [ + "src/client/pages/index.ts" + ], + "m_c883a0c289da7f60": [ + "src/client/pages/index.ts", + "src/routes/pending-edits.ts" + ], + "m_8047236e88b3a63c": [ + "src/client/pages/index.ts" + ], + "m_5cd3a268c6f43c56": [ + "src/client/pages/index.ts" + ], + "m_0b9b1dc8130ee7de": [ + "src/client/pages/index.ts", + "src/client/pages/mypage.ts" + ], + "m_a6beca80a935a971": [ + "src/client/pages/index.ts" + ], + "m_c25703c4a42f8218": [ + "src/client/pages/index.ts" + ], + "m_5ad8449fd4427987": [ + "src/client/pages/index.ts" + ], + "m_d283b7dbc864793f": [ + "src/client/pages/index.ts" + ], + "m_ef57831413ac356f": [ + "src/client/pages/index.ts" + ], + "m_ce41e9c306a0e2ae": [ + "src/client/pages/index.ts" + ], + "m_e8f4b69fab598cb7": [ + "src/client/pages/index.ts" + ], + "m_03ec74d793b2c07f": [ + "src/client/pages/login.ts" + ], + "m_9404977fe76e6108": [ + "src/client/pages/login.ts" + ], + "m_0951b499bd3e52d2": [ + "src/client/pages/login.ts" + ], + "m_bd1f1e945064d403": [ + "src/client/pages/login.ts" + ], + "m_e464b41fd5c45ba5": [ + "src/client/pages/login.ts", + "public/login.html" + ], + "m_a4171ef5082008bd": [ + "src/client/pages/login.ts" + ], + "m_1da451d950e67360": [ + "src/client/pages/memo.ts" + ], + "m_5e80b233136bd398": [ + "src/client/pages/memo.ts" + ], + "m_0642e2d15469a319": [ + "src/client/pages/memo.ts", + "src/client/pages/mypage.ts" + ], + "m_30afc383a79c4c03": [ + "src/client/pages/memo.ts" + ], + "m_55989464e0bdfe34": [ + "src/client/pages/memo.ts" + ], + "m_9984388a30009815": [ + "src/client/pages/memo.ts" + ], + "m_8a6da2bbb2f4d6d5": [ + "src/client/pages/memo.ts" + ], + "m_85ff8a415e01b187": [ + "src/client/pages/memo.ts" + ], + "m_3dda158061c728c1": [ + "src/client/pages/memo.ts" + ], + "m_609e74288eb6fdee": [ + "src/client/pages/memo.ts" + ], + "m_375dba0b531416a0": [ + "src/client/pages/memo.ts" + ], + "m_27527e27078055d3": [ + "src/client/pages/mypage.ts" + ], + "m_e1ba9897a57875e1": [ + "src/client/pages/mypage.ts" + ], + "m_cb2c8eb9d217e614": [ + "src/client/pages/mypage.ts" + ], + "m_92f4c2c45c2cecf5": [ + "src/client/pages/mypage.ts" + ], + "m_da6631fb6e9f5b28": [ + "src/client/pages/mypage.ts" + ], + "m_c4587d89237f1f7c": [ + "src/client/pages/mypage.ts" + ], + "m_f273cf8123a33e79": [ + "src/client/pages/mypage.ts" + ], + "m_1e80a9a0d34e0f17": [ + "src/client/pages/mypage.ts" + ], + "m_0c2d48014638d633": [ + "src/client/pages/mypage.ts" + ], + "m_7079d853cfb9f20e": [ + "src/client/pages/mypage.ts", + "src/index.ts" + ], + "m_8b2608ed69d8ea5b": [ + "src/client/pages/mypage.ts" + ], + "m_62fa0a0e12f24b6f": [ + "src/client/pages/mypage.ts" + ], + "m_a996ac181108fe08": [ + "src/client/pages/mypage.ts" + ], + "m_a127fef3c25093f2": [ + "src/client/pages/mypage.ts" + ], + "m_b4ee5ef4979b6492": [ + "src/client/pages/mypage.ts" + ], + "m_c7f888070d8663a4": [ + "src/client/pages/mypage.ts" + ], + "m_ecaa68da4df83496": [ + "src/client/pages/mypage.ts" + ], + "m_ca7edd9b33f4259e": [ + "src/client/pages/mypage.ts", + "src/client/pages/user-profile.ts" + ], + "m_f6e3ee80760f5dce": [ + "src/client/pages/mypage.ts" + ], + "m_2e19d5cf4fe6fa84": [ + "src/client/pages/mypage.ts" + ], + "m_b8462c884b380729": [ + "src/client/pages/mypage.ts", + "src/client/pages/user-profile.ts" + ], + "m_5770c3cfa9135fc2": [ + "src/client/pages/mypage.ts" + ], + "m_9a28db229cbd2a2b": [ + "src/client/pages/mypage.ts" + ], + "m_a07962ab43adb597": [ + "src/client/pages/mypage.ts" + ], + "m_d539c329fef1d5bf": [ + "src/client/pages/mypage.ts" + ], + "m_d6bd8f8ee6686b2f": [ + "src/client/pages/mypage.ts" + ], + "m_21032b76eecc4919": [ + "src/client/pages/mypage.ts" + ], + "m_e0a4e07542721ef4": [ + "src/client/pages/mypage.ts" + ], + "m_38faa1c32a2667e2": [ + "src/client/pages/mypage.ts" + ], + "m_3440317c4c2a5ed6": [ + "src/client/pages/mypage.ts" + ], + "m_b53a2c7425d91690": [ + "src/client/pages/mypage.ts" + ], + "m_e81f2b4849927a47": [ + "src/client/pages/mypage.ts" + ], + "m_53844de98b375b14": [ + "src/client/pages/mypage.ts" + ], + "m_06fa2caf0ba9dd0b": [ + "src/client/pages/mypage.ts" + ], + "m_3f8d0f59a303ce72": [ + "src/client/pages/mypage.ts" + ], + "m_4b589d20c184e3ee": [ + "src/client/pages/mypage.ts" + ], + "m_713e20aee3f5675b": [ + "src/client/pages/mypage.ts" + ], + "m_0f16f08ba66b3989": [ + "src/client/pages/mypage.ts" + ], + "m_f1f9331cfbe8cf01": [ + "src/client/pages/mypage.ts" + ], + "m_b82ac026ddfc7c58": [ + "src/client/pages/mypage.ts" + ], + "m_b4ad5e963ae1e64d": [ + "src/client/pages/mypage.ts" + ], + "m_3fd1d3d9c3c591d5": [ + "src/client/pages/mypage.ts" + ], + "m_56334feebefd2537": [ + "src/client/pages/mypage.ts" + ], + "m_0873e5ce68261ba4": [ + "src/client/pages/mypage.ts" + ], + "m_8882a651a6d49663": [ + "src/client/pages/mypage.ts" + ], + "m_a93f1bed839b31cb": [ + "src/client/pages/mypage.ts" + ], + "m_cfb90109c73a9311": [ + "src/client/pages/mypage.ts" + ], + "m_42301e79a8372937": [ + "src/client/pages/mypage.ts" + ], + "m_d3c771fe1631cf1b": [ + "src/client/pages/mypage.ts" + ], + "m_e8ed0feee864094d": [ + "src/client/pages/mypage.ts" + ], + "m_67fcb7d30055dcde": [ + "src/client/pages/mypage.ts" + ], + "m_8a1cc747cadace6e": [ + "src/client/pages/mypage.ts" + ], + "m_ac1576c5439edba3": [ + "src/client/pages/mypage.ts" + ], + "m_5813fcb389c06a44": [ + "src/client/pages/mypage.ts" + ], + "m_9b032ce01b0808b9": [ + "src/client/pages/mypage.ts" + ], + "m_6d593e06013994c1": [ + "src/client/pages/mypage.ts" + ], + "m_ab36cd5ee239f175": [ + "src/client/pages/mypage.ts" + ], + "m_bbc536913a14a61f": [ + "src/client/pages/mypage.ts" + ], + "m_264ea9502c77e770": [ + "src/client/pages/mypage.ts" + ], + "m_e3ecc00b93afe368": [ + "src/client/pages/mypage.ts" + ], + "m_f391645de813e345": [ + "src/client/pages/mypage.ts" + ], + "m_917ad64954223a05": [ + "src/client/pages/mypage.ts" + ], + "m_404a4c8ee516dfa1": [ + "src/client/pages/mypage.ts", + "src/client/pages/setup-profile-form.ts", + "src/routes/auth/index.ts" + ], + "m_055bf1362f032041": [ + "src/client/pages/mypage.ts" + ], + "m_c5be42bbabe606e9": [ + "src/client/pages/mypage.ts" + ], + "m_469d5cd4d84d77a3": [ + "src/client/pages/mypage.ts" + ], + "m_8b0b4eb495c40277": [ + "src/client/pages/mypage.ts" + ], + "m_1a7e1616e9df4ae3": [ + "src/client/pages/mypage.ts" + ], + "m_c89bc3f1b9ffced1": [ + "src/client/pages/mypage.ts" + ], + "m_33efeadc734eb293": [ + "src/client/pages/mypage.ts" + ], + "m_35180a50cfb0bb39": [ + "src/client/pages/mypage.ts" + ], + "m_7ec6dc05f7203e73": [ + "src/client/pages/mypage.ts" + ], + "m_a9497d89783fa535": [ + "src/client/pages/mypage.ts" + ], + "m_56e9d4367bc59f2e": [ + "src/client/pages/mypage.ts" + ], + "m_565173fe1c3d528e": [ + "src/client/pages/mypage.ts" + ], + "m_2147f510237d8c4c": [ + "src/client/pages/mypage.ts" + ], + "m_8db08afcb1258696": [ + "src/client/pages/mypage.ts" + ], + "m_72acf585a2071c4a": [ + "src/client/pages/mypage.ts" + ], + "m_ecb7473079d9fd5c": [ + "src/client/pages/mypage.ts" + ], + "m_bd8278edb6ef160b": [ + "src/client/pages/mypage.ts" + ], + "m_c3598be33bfa98e2": [ + "src/client/pages/mypage.ts" + ], + "m_e30cf08f01887d26": [ + "src/client/pages/mypage.ts" + ], + "m_3142225dcaaaeeaf": [ + "src/client/pages/mypage.ts" + ], + "m_9641023ed5efef93": [ + "src/client/pages/mypage.ts" + ], + "m_b186ecaf2c743610": [ + "src/client/pages/mypage.ts" + ], + "m_29fdb31b1e452aa6": [ + "src/client/pages/mypage.ts" + ], + "m_c2118b28d5065c33": [ + "src/client/pages/mypage.ts" + ], + "m_83f84bccf8d92120": [ + "src/client/pages/mypage.ts" + ], + "m_9dfd8a5de2861a42": [ + "src/client/pages/mypage.ts" + ], + "m_202deb88e53c152b": [ + "src/client/pages/mypage.ts" + ], + "m_60b41aea9afe9c82": [ + "src/client/pages/mypage.ts" + ], + "m_8ec2cbebcc9cc4f6": [ + "src/client/pages/mypage.ts" + ], + "m_1de7a3190bf39881": [ + "src/client/pages/mypage.ts" + ], + "m_086bb5335d174a9a": [ + "src/client/pages/mypage.ts" + ], + "m_ad5dc76c902c2b3f": [ + "src/client/pages/mypage.ts" + ], + "m_13fd3a417559e343": [ + "src/client/pages/mypage.ts" + ], + "m_6149b21806576267": [ + "src/client/pages/mypage.ts" + ], + "m_2ed8bd42b9302cc0": [ + "src/client/pages/mypage.ts" + ], + "m_25f4a04d23374c3e": [ + "src/client/pages/mypage.ts" + ], + "m_94349b07c0c4fa72": [ + "src/client/pages/mypage.ts" + ], + "m_72ea3d64ace5bc94": [ + "src/client/pages/mypage.ts" + ], + "m_aecc81aff22fb659": [ + "src/client/pages/mypage.ts" + ], + "m_06fa809366390ebd": [ + "src/client/pages/mypage.ts" + ], + "m_28fcfd44062c4b23": [ + "src/client/pages/mypage.ts" + ], + "m_6890bda750171370": [ + "src/client/pages/mypage.ts" + ], + "m_f54a75428c8c17df": [ + "src/client/pages/mypage.ts" + ], + "m_5bc4519c664e15cc": [ + "src/client/pages/mypage.ts" + ], + "m_120954a7eb16049f": [ + "src/client/pages/mypage.ts" + ], + "m_f9807363ea95980a": [ + "src/client/pages/mypage.ts" + ], + "m_246750384dc87eb1": [ + "src/client/pages/mypage.ts" + ], + "m_532eaa910b0a036e": [ + "src/client/pages/mypage.ts" + ], + "m_8acf0d63f4ee22b7": [ + "src/client/pages/mypage.ts" + ], + "m_085132af55f23f84": [ + "src/client/pages/mypage.ts" + ], + "m_421f1d9fd7c7d721": [ + "src/client/pages/mypage.ts" + ], + "m_b4afd2a1e5683593": [ + "src/client/pages/mypage.ts" + ], + "m_67a27833741f508b": [ + "src/client/pages/mypage.ts" + ], + "m_d50dcdc0f072e26d": [ + "src/client/pages/mypage.ts" + ], + "m_f3a7c846a6aa057d": [ + "src/client/pages/mypage.ts" + ], + "m_141c46cf1ef286aa": [ + "src/client/pages/mypage.ts" + ], + "m_0ac2f0a3bf1b8405": [ + "src/client/pages/mypage.ts" + ], + "m_928aa141bfcd12cf": [ + "src/client/pages/mypage.ts" + ], + "m_bf18c1f4ba92956d": [ + "src/client/pages/mypage.ts" + ], + "m_538bad51ad98c047": [ + "src/client/pages/mypage.ts" + ], + "m_f0fbbf11a8dc2a99": [ + "src/client/pages/mypage.ts" + ], + "m_fc0aec8efc9cf743": [ + "src/client/pages/mypage.ts" + ], + "m_f3cf0ac2b18602e3": [ + "src/client/pages/mypage.ts" + ], + "m_89413a4acf981a61": [ + "src/client/pages/mypage.ts" + ], + "m_53772e874af1ee0c": [ + "src/client/pages/mypage.ts" + ], + "m_893ad42623329e42": [ + "src/client/pages/mypage.ts" + ], + "m_b56016d872713ccf": [ + "src/client/pages/mypage.ts" + ], + "m_493258fb8b412f6b": [ + "src/client/pages/mypage.ts" + ], + "m_6b80155c7299cd4e": [ + "src/client/pages/mypage.ts" + ], + "m_7b1448a5c7c6c56d": [ + "src/client/pages/mypage.ts" + ], + "m_1c148ed1dcc6243e": [ + "src/client/pages/mypage.ts" + ], + "m_86041d952f56428c": [ + "src/client/pages/mypage.ts" + ], + "m_26f560cba82df77e": [ + "src/client/pages/mypage.ts" + ], + "m_af33709404ad7fea": [ + "src/client/pages/mypage.ts" + ], + "m_b5b2f5ac52b90edb": [ + "src/client/pages/mypage.ts" + ], + "m_33ec19976faab2af": [ + "src/client/pages/mypage.ts" + ], + "m_4fe14a71cc020847": [ + "src/client/pages/mypage.ts" + ], + "m_2b31bd535fde6c1e": [ + "src/client/pages/mypage.ts" + ], + "m_90c4c19e61f4d198": [ + "src/client/pages/mypage.ts" + ], + "m_5f7ca95661ec202e": [ + "src/client/pages/mypage.ts" + ], + "m_ebe206ebca2d2538": [ + "src/client/pages/mypage.ts" + ], + "m_ac9d1feaa6f2c2bf": [ + "src/client/pages/mypage.ts" + ], + "m_64e0cea2b5b3d497": [ + "src/client/pages/mypage.ts" + ], + "m_6a599d422eb8cd96": [ + "src/client/pages/mypage.ts" + ], + "m_75014dab18ae7bd9": [ + "src/client/pages/mypage.ts" + ], + "m_6667a8cd66f25800": [ + "src/client/pages/mypage.ts" + ], + "m_1164e3f65c948f93": [ + "src/client/pages/mypage.ts" + ], + "m_abd5f58e92d55980": [ + "src/client/pages/mypage.ts" + ], + "m_e70ce6ed3505d412": [ + "src/client/pages/mypage.ts" + ], + "m_979faa03ef1263ac": [ + "src/client/pages/mypage.ts" + ], + "m_b81de0ce01802810": [ + "src/client/pages/mypage.ts" + ], + "m_c5c7bbba883e6f86": [ + "src/client/pages/mypage.ts" + ], + "m_fb8fff7a33b98612": [ + "src/client/pages/mypage.ts" + ], + "m_ce98a29d178f27ea": [ + "src/client/pages/mypage.ts" + ], + "m_f0a1f93064d8493b": [ + "src/client/pages/mypage.ts" + ], + "m_5c03c21fd037173c": [ + "src/client/pages/mypage.ts" + ], + "m_3cef912ce8819fff": [ + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts", + "public/discussions.html", + "public/tickets.html" + ], + "m_311bb313fdeca6aa": [ + "src/client/pages/mypage.ts", + "src/client/pages/tickets.ts", + "public/tickets.html" + ], + "m_bb05b8e0fa4f2424": [ + "src/client/pages/mypage.ts" + ], + "m_f099c821b6c85a06": [ + "src/client/pages/mypage.ts" + ], + "m_bb7f163622726846": [ + "src/client/pages/mypage.ts" + ], + "m_59196cb466701f5a": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_b1965e9a33b60544": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_21c695ae62258237": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_ad74275ac6289357": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_6978544ed97b044f": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_2d2fcd9b1096be89": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_8308e7dd479f58bf": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_144d55618c028435": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_0fb1ab813a38f51b": [ + "src/client/pages/qr-login-approve.ts", + "src/routes/qr-login.ts" + ], + "m_930e28e0c8f2cb2f": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_e909abefcc215f82": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_faa2bb59f1d2a8f9": [ + "src/client/pages/qr-login-approve.ts", + "src/routes/qr-login.ts" + ], + "m_8b732305fddaa400": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_09c584944f0898d0": [ + "src/client/pages/qr-login-approve.ts" + ], + "m_dec763746e2bf83b": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_c430706bebcd4c60": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_52ad5a1cb43fd593": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_12bcdee453c023ec": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_d137adaabd16ba07": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_99d69a7ccfd6fc10": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_9b13c60f73a97c95": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_b9824cfb644211bf": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_3fbf5ab6fb7856f2": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_2276c50e0e3b1fdd": [ + "src/client/pages/qr-login-guest.ts", + "src/routes/qr-login.ts" + ], + "m_de7c3d878f5e82c9": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_d58aaf028427dd8d": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_c5e408a98fcff5ee": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_b962efbd7193f3fb": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_f9426ed57766679c": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_6284f4d1f05c1e1f": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_abd39a7fc1d21fb6": [ + "src/client/pages/qr-login-guest.ts" + ], + "m_2fecb165bb5e2c79": [ + "src/client/pages/revisions.ts" + ], + "m_12cd2366a144c4bc": [ + "src/client/pages/revisions.ts" + ], + "m_5f8cd507c35be5e2": [ + "src/client/pages/revisions.ts" + ], + "m_75631a179257570c": [ + "src/client/pages/revisions.ts" + ], + "m_9c6fedbdcbd93d71": [ + "src/client/pages/revisions.ts" + ], + "m_8417a8327be8a0b2": [ + "src/client/pages/revisions.ts" + ], + "m_5a3266c7401f9c07": [ + "src/client/pages/revisions.ts" + ], + "m_59996aa9da2fcee4": [ + "src/client/pages/revisions.ts" + ], + "m_530ec947a64b994f": [ + "src/client/pages/revisions.ts" + ], + "m_9c7b5cbed1608f79": [ + "src/client/pages/revisions.ts" + ], + "m_2e551aad272bfe89": [ + "src/client/pages/revisions.ts" + ], + "m_abfdb6f736d91271": [ + "src/client/pages/revisions.ts" + ], + "m_aa3d7dbed5907267": [ + "src/client/pages/revisions.ts" + ], + "m_14b625d6b5e536af": [ + "src/client/pages/revisions.ts" + ], + "m_cc28b79029d81593": [ + "src/client/pages/revisions.ts" + ], + "m_20d4643331204a2d": [ + "src/client/pages/revisions.ts" + ], + "m_25db76446465c291": [ + "src/client/pages/revisions.ts" + ], + "m_79595cf49718118a": [ + "src/client/pages/revisions.ts" + ], + "m_cc27f871f0b91b41": [ + "src/client/pages/revisions.ts" + ], + "m_be3b5b4c8d0028be": [ + "src/client/pages/revisions.ts" + ], + "m_4277bb42bcd386b3": [ + "src/client/pages/revisions.ts" + ], + "m_3285dcf09c69c118": [ + "src/client/pages/revisions.ts" + ], + "m_8be14893d1a02f0c": [ + "src/client/pages/revisions.ts" + ], + "m_7435828d7975a663": [ + "src/client/pages/revisions.ts" + ], + "m_10d8c31eec746ea2": [ + "src/client/pages/revisions.ts" + ], + "m_c67c60204c72929f": [ + "src/client/pages/revisions.ts" + ], + "m_2f755050b2d93e2a": [ + "src/client/pages/revisions.ts" + ], + "m_ddee5a9983add2f7": [ + "src/client/pages/revisions.ts" + ], + "m_a7d43339f973d3a9": [ + "src/client/pages/revisions.ts" + ], + "m_7252784bdc29188c": [ + "src/client/pages/revisions.ts" + ], + "m_538efa2ab274d60f": [ + "src/client/pages/revisions.ts" + ], + "m_b35001374ea98a40": [ + "src/client/pages/revisions.ts" + ], + "m_87437c094c143c8d": [ + "src/client/pages/revisions.ts" + ], + "m_2c5539adbf825ee1": [ + "src/client/pages/revisions.ts", + "src/routes/admin-mcp.ts" + ], + "m_b41a35f15207ce89": [ + "src/client/pages/revisions.ts" + ], + "m_7d8260058fe422ef": [ + "src/client/pages/revisions.ts" + ], + "m_65828fbcc4245176": [ + "src/client/pages/revisions.ts" + ], + "m_1143ee108cac84cf": [ + "src/client/pages/revisions.ts" + ], + "m_cb77b522c19dc9dd": [ + "src/client/pages/revisions.ts" + ], + "m_c6a774ece1e50ac1": [ + "src/client/pages/revisions.ts" + ], + "m_cb3bf62049f4192e": [ + "src/client/pages/revisions.ts" + ], + "m_e8a424dc07a20f51": [ + "src/client/pages/revisions.ts" + ], + "m_3f9fe32f92fc75a5": [ + "src/client/pages/revisions.ts" + ], + "m_26f0a091ed320540": [ + "src/client/pages/revisions.ts" + ], + "m_5ecf5b24e4da4a1b": [ + "src/client/pages/revisions.ts" + ], + "m_049824d2b61335cf": [ + "src/client/pages/revisions.ts" + ], + "m_5be274f64b8150aa": [ + "src/client/pages/revisions.ts" + ], + "m_dc17614c67ea2f96": [ + "src/client/pages/revisions.ts" + ], + "m_e5bc8d0f4f3faad1": [ + "src/client/pages/revisions.ts" + ], + "m_e9ca8fb1341f434a": [ + "src/client/pages/revisions.ts" + ], + "m_8771e3682df14b36": [ + "src/client/pages/revisions.ts" + ], + "m_b1f4f14b8a91dba1": [ + "src/client/pages/revisions.ts" + ], + "m_76f59c47a3a322dd": [ + "src/client/pages/revisions.ts", + "src/routes/wiki.ts" + ], + "m_fa5e72001a30fe24": [ + "src/client/pages/search.ts" + ], + "m_2a43d31482d591ec": [ + "src/client/pages/search.ts" + ], + "m_c08f6d4c32ac6f78": [ + "src/client/pages/search.ts" + ], + "m_5ddbb7be6b11cc08": [ + "src/client/pages/search.ts", + "src/client/pages/user-profile.ts" + ], + "m_3643bc2159ea4122": [ + "src/client/pages/search.ts" + ], + "m_e574f453798cd394": [ + "src/client/pages/search.ts" + ], + "m_6a46fc7816cdc1c5": [ + "src/client/pages/search.ts" + ], + "m_aea08df6a31783ad": [ + "src/client/pages/search.ts" + ], + "m_5db58d79fbd69b98": [ + "src/client/pages/search.ts" + ], + "m_ceb9802a06cd52ee": [ + "src/client/pages/search.ts" + ], + "m_4e90152337531b53": [ + "src/client/pages/search.ts", + "public/search.html" + ], + "m_04a3a3bc62a960ae": [ + "src/client/pages/search.ts", + "public/search.html" + ], + "m_50f691453ce7bd0b": [ + "src/client/pages/search.ts" + ], + "m_ec8b36f71bd8f29f": [ + "src/client/pages/search.ts" + ], + "m_57b34b3c9db06fa1": [ + "src/client/pages/search.ts" + ], + "m_9c0a7ae3f49a776b": [ + "src/client/pages/search.ts" + ], + "m_06060c524b20bea1": [ + "src/client/pages/search.ts" + ], + "m_eccd5743fbcc6b50": [ + "src/client/pages/search.ts" + ], + "m_c2756648fbeb37b2": [ + "src/client/pages/search.ts" + ], + "m_1f3e64f7c9c18646": [ + "src/client/pages/search.ts" + ], + "m_790a9445c5493326": [ + "src/client/pages/search.ts" + ], + "m_a165ae23c8508921": [ + "src/client/pages/search.ts" + ], + "m_f3ce0493f33b7b60": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_de79ecfecb0bfc08": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_2b990c6bf55d045b": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_a57481d90afceb54": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_af2f7c326c0a90b0": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_37a791b69f49734e": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_4933053f220d5ba7": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_e0b2956c2c8e803e": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_616392c3a59e008d": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_9fffd5f717ca3c8e": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_8779a905898386e4": [ + "src/client/pages/setup-profile-form.ts" + ], + "m_dbaf3b099102c841": [ + "src/client/pages/tickets.ts" + ], + "m_1866992c52eb8579": [ + "src/client/pages/tickets.ts" + ], + "m_b257f900207ec26d": [ + "src/client/pages/tickets.ts" + ], + "m_cea9945ef5953a8d": [ + "src/client/pages/tickets.ts" + ], + "m_843692c38e7b788c": [ + "src/client/pages/tickets.ts" + ], + "m_89534d5a6bfce955": [ + "src/client/pages/tickets.ts" + ], + "m_60e4d8abb7c5c4a3": [ + "src/client/pages/tickets.ts" + ], + "m_52a053ce0e3303b0": [ + "src/client/pages/tickets.ts" + ], + "m_121ab217667e95a2": [ + "src/client/pages/tickets.ts" + ], + "m_67645a3be732fd7d": [ + "src/client/pages/tickets.ts" + ], + "m_0b5f9634cd06ca6b": [ + "src/client/pages/tickets.ts" + ], + "m_ad2ccc6b1b3052a6": [ + "src/client/pages/tickets.ts" + ], + "m_bdbd94b98af94d96": [ + "src/client/pages/tickets.ts" + ], + "m_54759ef1a345b86b": [ + "src/client/pages/tickets.ts" + ], + "m_dd2528a0f01ceed8": [ + "src/client/pages/tickets.ts" + ], + "m_aa71249b21df11aa": [ + "src/client/pages/tickets.ts" + ], + "m_2e04391a97ad5042": [ + "src/client/pages/tickets.ts" + ], + "m_04ed61484dcc0f47": [ + "src/client/pages/tickets.ts" + ], + "m_5146d051b6b731b8": [ + "src/client/pages/tickets.ts" + ], + "m_84df5ba53c2aae6f": [ + "src/client/pages/tickets.ts" + ], + "m_2cf0a89e778a05e9": [ + "src/client/pages/tickets.ts" + ], + "m_0595e20c83cbcbe0": [ + "src/client/pages/tickets.ts" + ], + "m_db90d465089098d6": [ + "src/client/pages/tickets.ts" + ], + "m_b7fa5351ba888cb8": [ + "src/client/pages/tickets.ts" + ], + "m_2d3eef885bbbb868": [ + "src/client/pages/tickets.ts" + ], + "m_1dbb06603c3f640a": [ + "src/client/pages/user-profile.ts" + ], + "m_5e480fde00b98d8b": [ + "src/client/pages/user-profile.ts", + "src/routes/auth/index.ts" + ], + "m_ceb1572e3656864c": [ + "src/client/pages/user-profile.ts" + ], + "m_bbea705fd7043e15": [ + "src/client/pages/user-profile.ts" + ], + "m_31940b1a15c1746b": [ + "src/client/pages/user-profile.ts" + ], + "m_593c6c3e3a530a79": [ + "src/client/pages/user-profile.ts" + ], + "m_d6ff3dc0f8832748": [ + "src/client/pages/user-profile.ts" + ], + "m_3f12acfd4e196e1e": [ + "src/client/pages/user-profile.ts" + ], + "m_4289645737356723": [ + "src/client/pages/user-profile.ts" + ], + "m_70893e3a01dea663": [ + "src/client/pages/user-profile.ts" + ], + "m_d4d5dd0f4e88cfdf": [ + "src/client/pages/user-profile.ts" + ], + "m_0bd20e10ce10219e": [ + "src/client/pages/user-profile.ts" + ], + "m_34c1cc53cb025244": [ + "src/client/pages/user-profile.ts" + ], + "m_b5cff10605f8765f": [ + "src/client/pages/user-profile.ts" + ], + "m_ce49766856ea5ccc": [ + "src/client/pages/user-profile.ts" + ], + "m_e15101c3bcd95685": [ + "src/client/pages/user-profile.ts" + ], + "m_2758a88ab03cb3f7": [ + "src/client/pages/user-profile.ts" + ], + "m_398351989ec50691": [ + "src/client/pages/user-profile.ts" + ], + "m_6c0fb654ae359b4f": [ + "src/client/pages/user-profile.ts" + ], + "m_c8b6761d4b749cdb": [ + "src/client/pages/user-profile.ts" + ], + "m_e18398471f8e2d1a": [ + "src/client/pages/user-profile.ts" + ], + "m_dd1ad9208422091e": [ + "src/client/pages/user-profile.ts" + ], + "m_6e8b991fd801742e": [ + "src/client/permissions/category-acl-modal.ts", + "src/client/permissions/permissions-modal.ts", + "src/utils/mapDocument.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_33a7ab7ce21a4ef0": [ + "src/client/permissions/category-acl-modal.ts", + "src/client/permissions/permissions-modal.ts", + "src/utils/mapDocument.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_593efa9a64e89c3f": [ + "src/client/permissions/category-acl-modal.ts", + "src/client/permissions/permissions-modal.ts", + "src/utils/mapDocument.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_08c4c1c28368326a": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_32bc3a35ff2af116": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_9dd06df2c1659f2a": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_3b72b1d7d0bf92b2": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_39df27dd6a8e691f": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_6fb4a203b25cd6ed": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_3eb9ef27079c224d": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_07c4e39e57b57e3a": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_61b67c1d6c0398be": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_bed1b7ec8d28399c": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_11111f0787d39696": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_bbf060308e9397a4": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_ae94ec51b2c23b4f": [ + "src/client/permissions/category-acl-modal.ts", + "src/routes/blog.ts" + ], + "m_f3a8c0c950d108e9": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_112e62b837e922bc": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_f58e16c31a678661": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_cf5e45edcbdef181": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_6a1c963d5bc5e2e5": [ + "src/client/permissions/category-acl-modal.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_5b184d53be313f58": [ + "src/client/permissions/category-acl-modal.ts" + ], + "m_15f4f9a5c6e140e5": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_3cb0ef453b7ddab2": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_04493f83d34189ef": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_473159f674ff67ca": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_0a7103cfc0743130": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_8270da95811fe10f": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_41e7be2dde07e3b9": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_8edcb1517374d55f": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_c5ac0714fceb948d": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_0c53e3964dd0d9de": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_e549e8950801ce52": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_93b58fbaf5e77126": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_88daaeedfe4c69c6": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_6c0f44e353829285": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_f700b8ce7c8002d7": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_bcb2dd464c283b8b": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_8678a8c0ff001570": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_61f429d04adf9133": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_eec2407187e26eff": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_154d878a1e5a9b5c": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_b90c889e61a85b91": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_2e98257ab2ed913a": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_cb9865d6f0415fb3": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_1e8c10206f5b35bd": [ + "src/client/permissions/permissions-modal.ts", + "packages/wiki-shared/src/editor/image.ts", + "public/index.html", + "public/ext/freq/freq.js" + ], + "m_4907df8dbe60e7cc": [ + "src/client/permissions/permissions-modal.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_452730bf876c22f5": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_f4ed3622226140c2": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_35926634b2949979": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_5883deb01ff006e3": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_4ae0f2688cbcd728": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_816a9963ad2fb3a3": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_24fdc521ee0a8f67": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_dfa4cd979d3624f4": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_af46859340851645": [ + "src/client/permissions/permissions-modal.ts" + ], + "m_8f09d45f580a7dc8": [ + "src/client/push.ts" + ], + "m_8ffe88ed5f7f189a": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_665c358abceedf94": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_99f6f81a8aa5b77d": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_18d5c859522a679e": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_2656e8b39e17148b": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_0d17e8f2f3b4b01b": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_f3555cb4161683af": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_99fe9a1adeedd774": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_08dc5eb1c11ebf43": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_c2cd9cfee65451aa": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_bc8405d47500e07c": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_e28ae288f825c900": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_dfda0f129346a004": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_31fcc45938eda752": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_f777d92481925194": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_a17ac6d1dceeb395": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_089832cdf853a5a7": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_56858b992eccdad0": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_06ced4f71513d64c": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_62fd567d662ad0cb": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_437d685c16379e87": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_f6d4a77dd09ea3ff": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_2aaabf1589c3491c": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_63e09b6ec1e9d6f7": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_326c02a5cb9ae742": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_61ebde6ce0278343": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_b4f76a33b89bb947": [ + "src/client/render.ts", + "src/utils/aiParser.ts", + "packages/wiki-shared/src/editor/autocomplete.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_37f9f3b4dae3a0c2": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_bd5fc8d9d63144b5": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_660be8dc05756f29": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_b2a75ffc664cfb3e": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_24c9da1e988be3bc": [ + "src/client/render.ts", + "src/utils/webhook/events/user.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_e4ed44191d2c228b": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_8ef0c1f1977d2540": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_f16a85a9e93a8699": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_79e1a55bcaec418e": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_cd887be638763115": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_111ec068b7c8a9e8": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_c716bb70a4231be0": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_36a083a833558006": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_d1f9295e8d370952": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_811d5d8a6b790167": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_310010d93f058b83": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_9d74e6caa95d1e81": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_3bfa4068589f0a55": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_b12d17822d583bf0": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_add36baea45c759b": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_5f0127f701deadad": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_b16a827d17339118": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_e0583d626b98ba7c": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_5e12e956c42b0eb6": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_c1ea3f913a36afc5": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_1094b7d96a9a4109": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_6c95540e90f1a668": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_94e234f76b8eab7e": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_4ee1e5308220dcf1": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_42d1a6367432ff8e": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_a594e9b583050ec4": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_9f4eef79554b65d0": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_e09647e56f8b7b25": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_2ab2d25416cb9437": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_586d87d9a8dd8005": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_2eb73fba696e2fe4": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_1bd9c7624573e401": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_9de1e8f20f53773d": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_998f8bc6d96891d4": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_f686e06a1e3e59ab": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_2fd5fe4b1f06d612": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_45b2dba76f782b4a": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_a9a082320a57a6aa": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_75a4500c1bfe7e1f": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_fd9385f42fbeb3bb": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_58fd747e504105e2": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_0587feed32dce2b1": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_6d483574d6f62c82": [ + "src/client/render.ts", + "packages/wiki-shared/src/editor/utils.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_6677dacfda7bd1cf": [ + "src/client/render.ts", + "packages/wiki-shared/src/editor/utils.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_6f884f72025f6d53": [ + "src/client/render.ts", + "packages/wiki-shared/src/editor/utils.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_bba2df43bd36317f": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_04e6a6c23261a095": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_7330c8d77372b51b": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_816717780d53b2bf": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_e2e16c57161e128a": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_221ffcbb2b08b016": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_a2af293eb559a854": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_5270ec565b3f59aa": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_61b165a8c8808951": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_98b3a605c4dfcab1": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_3ca3edc2a96a0b58": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_895ed39975f12244": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_5a34b417191ccfc4": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_834519cb468392f6": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_05c591378dcc57d4": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_d2433aabb003afe2": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_c2930c6fbd88cc61": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_d5c2dee002704944": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_ab81ac6483934fb3": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_0e36ab1fef14b593": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_ed77553468de39f6": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_30bbebfd650e1342": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_825f2c4976ebc036": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_b47794ae85254045": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_8d2ec125e902f5db": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_1674c85d9fa4ee82": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_1b47559afb653720": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_19c8b1eaaa5b3232": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_3a92f0945a5ebe34": [ + "src/client/render.ts", + "packages/wiki-shared/src/render/render.ts" + ], + "m_12ddd6ca69068faa": [ + "src/client/sw.ts" + ], + "m_a44caa375edfe9f9": [ + "src/client/utils/api.ts" + ], + "m_7545b39503978718": [ + "src/client/utils/ui-state.ts", + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_3c3b850c761f6668": [ + "src/durable/adminJob.ts" + ], + "m_d7b5091b60eaed7f": [ + "src/durable/adminJob.ts" + ], + "m_f4afd431e04afffc": [ + "src/durable/adminJob.ts", + "src/routes/admin.ts", + "src/routes/discussion.ts", + "src/routes/wiki.ts" + ], + "m_30df89932df3ca90": [ + "src/durable/adminJob.ts" + ], + "m_b9f524a9254f2af5": [ + "src/durable/adminJob.ts" + ], + "m_3ad19aa46150f9af": [ + "src/durable/adminJob.ts" + ], + "m_a735020dc7ef9e76": [ + "src/durable/adminJob.ts" + ], + "m_f46d2d3743a134e5": [ + "src/durable/adminJob.ts" + ], + "m_8ec8a2a90281dd1a": [ + "src/durable/adminJob.ts" + ], + "m_ee82e0133f22362e": [ + "src/index.ts" + ], + "m_2fe63954c7e53a1f": [ + "src/index.ts" + ], + "m_c29f0b4587dbd455": [ + "src/index.ts" + ], + "m_e9703a579f6c5c8a": [ + "src/index.ts", + "src/utils/mapDocument.ts" + ], + "m_4a950e6b1646cff5": [ + "src/index.ts" + ], + "m_7989c08e00f0b922": [ + "src/index.ts" + ], + "m_dc9fd0bad4a7d8cd": [ + "src/index.ts" + ], + "m_efc7fd6310f63f50": [ + "src/index.ts" + ], + "m_a74a21bde371f2f4": [ + "src/index.ts" + ], + "m_3bd5e09f1ab5982e": [ + "src/index.ts" + ], + "m_02e62ff866abfe12": [ + "src/index.ts" + ], + "m_7c2e54f55fcd9508": [ + "src/index.ts" + ], + "m_5ead5c155e8ba57a": [ + "src/index.ts" + ], + "m_cbe47a2bb2290296": [ + "src/index.ts" + ], + "m_e2890670069386c9": [ + "src/index.ts" + ], + "m_1f5f895990dac9d7": [ + "src/index.ts" + ], + "m_84653322e3417259": [ + "src/index.ts" + ], + "m_e838fb0ab17bfa72": [ + "src/index.ts" + ], + "m_04a65b6a61a9796c": [ + "src/index.ts" + ], + "m_7eb1fefb7784f741": [ + "src/index.ts" + ], + "m_6518ddaaddaaf1ac": [ + "src/index.ts" + ], + "m_28b76f58ad108f42": [ + "src/index.ts" + ], + "m_86c491782b0043ca": [ + "src/index.ts" + ], + "m_a2aca12bc7570ba7": [ + "src/index.ts" + ], + "m_d190756ad4548f50": [ + "src/index.ts" + ], + "m_65543806151d7d94": [ + "src/index.ts" + ], + "m_e9357bc267260587": [ + "src/index.ts" + ], + "m_0019dfc4b32d63c1": [ + "src/index.ts", + "src/routes/blog.ts" + ], + "m_f462be0e990eb8f7": [ + "src/index.ts" + ], + "m_59e63825df4dc0f7": [ + "src/index.ts" + ], + "m_e41656eb2ba6c629": [ + "src/index.ts" + ], + "m_2c8f25af0a2db3fa": [ + "src/index.ts" + ], + "m_02903fc13e99bba0": [ + "src/middleware/session.ts", + "src/routes/auth/index.ts" + ], + "m_640f50ae9c6b8e41": [ + "src/middleware/session.ts", + "src/routes/auth/index.ts", + "src/routes/blog.ts", + "src/routes/explore.ts", + "src/routes/media.ts", + "src/routes/search.ts", + "src/routes/wiki.ts" + ], + "m_6c866390a85ff79c": [ + "src/middleware/session.ts", + "src/routes/auth/index.ts" + ], + "m_b432a12aeaf2ac59": [ + "src/middleware/session.ts" + ], + "m_294eb6cfe8b5a1ea": [ + "src/middleware/session.ts" + ], + "m_a5ea4bcf95180105": [ + "src/middleware/ssr.ts" + ], + "m_718e2147e1a2bdab": [ + "src/routes/admin-mcp.ts", + "src/routes/wiki.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_b38aea24dea3b95b": [ + "src/routes/admin-mcp.ts" + ], + "m_40db2d51a7822a45": [ + "src/routes/admin-mcp.ts", + "src/routes/wiki.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_d5aa081f3614ef8a": [ + "src/routes/admin-mcp.ts" + ], + "m_35463423c1da3db2": [ + "src/routes/admin-mcp.ts" + ], + "m_eab54d7e6d46ef2e": [ + "src/routes/admin-mcp.ts" + ], + "m_ab40a49df486a2a4": [ + "src/routes/admin-mcp.ts" + ], + "m_e8f6e0fc69c68cce": [ + "src/routes/admin-mcp.ts" + ], + "m_066f30f8e937ee89": [ + "src/routes/admin-mcp.ts" + ], + "m_5a07ed31a58feb5f": [ + "src/routes/admin-mcp.ts" + ], + "m_be0bef7757373462": [ + "src/routes/admin-mcp.ts" + ], + "m_d97ab144879ae08b": [ + "src/routes/admin-mcp.ts" + ], + "m_6892a3de2fc8f445": [ + "src/routes/admin-mcp.ts" + ], + "m_9affaa695800932b": [ + "src/routes/admin-mcp.ts" + ], + "m_924ee1d025cc7457": [ + "src/routes/admin-mcp.ts" + ], + "m_2912b9d4b8cdae72": [ + "src/routes/admin-mcp.ts" + ], + "m_7db2629871eda279": [ + "src/routes/admin-mcp.ts" + ], + "m_1912bfdf15320f6f": [ + "src/routes/admin-mcp.ts" + ], + "m_3f40303960c3dd7a": [ + "src/routes/admin-mcp.ts" + ], + "m_9184a0a02e3537fe": [ + "src/routes/admin-mcp.ts" + ], + "m_a73ce1e5ea4e4eab": [ + "src/routes/admin-mcp.ts" + ], + "m_f225f4981b80626a": [ + "src/routes/admin-mcp.ts" + ], + "m_73238162a48c3cf3": [ + "src/routes/admin-mcp.ts" + ], + "m_3d7c2b7994b3115d": [ + "src/routes/admin-mcp.ts" + ], + "m_b311de5bec1786ff": [ + "src/routes/admin-mcp.ts" + ], + "m_34cb2b870cc0091f": [ + "src/routes/admin-mcp.ts" + ], + "m_9f0f47181df49afa": [ + "src/routes/admin-mcp.ts" + ], + "m_680108655cd6e15c": [ + "src/routes/admin-mcp.ts" + ], + "m_a4d5650e98914ad7": [ + "src/routes/admin-mcp.ts" + ], + "m_2e7d5e478b0f50f9": [ + "src/routes/admin-mcp.ts" + ], + "m_08853e15284006c1": [ + "src/routes/admin-mcp.ts" + ], + "m_1733ff031c83966b": [ + "src/routes/admin-mcp.ts" + ], + "m_99c040ac74eb7f5a": [ + "src/routes/admin-mcp.ts" + ], + "m_d94deba089b9cc19": [ + "src/routes/admin-mcp.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_2511d64529f77c69": [ + "src/routes/admin-mcp.ts" + ], + "m_df9da3b97a3d932c": [ + "src/routes/admin-mcp.ts" + ], + "m_8331d117bc307c22": [ + "src/routes/admin-mcp.ts" + ], + "m_954004d370420e93": [ + "src/routes/admin-mcp.ts" + ], + "m_0f6bbfd4bfc70d40": [ + "src/routes/admin-mcp.ts" + ], + "m_1a534a0c2d48c342": [ + "src/routes/admin-mcp.ts" + ], + "m_a8319bc306b93ca0": [ + "src/routes/admin-mcp.ts" + ], + "m_cba875e322a3b362": [ + "src/routes/admin-mcp.ts" + ], + "m_77cd1dca513b92bf": [ + "src/routes/admin-mcp.ts" + ], + "m_8aa291a2b51c5649": [ + "src/routes/admin-mcp.ts" + ], + "m_9443783ff1f6e7f3": [ + "src/routes/admin-mcp.ts" + ], + "m_4782d7c3ddde2cb5": [ + "src/routes/admin-mcp.ts" + ], + "m_b7efb4c7aa9167ef": [ + "src/routes/admin-mcp.ts" + ], + "m_24cae5596547e34d": [ + "src/routes/admin-mcp.ts" + ], + "m_3d539028bf57ada4": [ + "src/routes/admin-mcp.ts" + ], + "m_86493ccf3dd29124": [ + "src/routes/admin-mcp.ts" + ], + "m_ea1ece85c0fd0b4b": [ + "src/routes/admin-mcp.ts" + ], + "m_4f67d9921b617e0e": [ + "src/routes/admin-mcp.ts" + ], + "m_6f4b4056a4874cdc": [ + "src/routes/admin-mcp.ts" + ], + "m_963c381e30c73ad2": [ + "src/routes/admin-mcp.ts" + ], + "m_3a5e8e05f681f266": [ + "src/routes/admin-mcp.ts" + ], + "m_ecad3ddd01b1cc4b": [ + "src/routes/admin-mcp.ts" + ], + "m_8ed5a0ca38c32806": [ + "src/routes/admin-mcp.ts" + ], + "m_59b8dd468f3c0bd5": [ + "src/routes/admin-mcp.ts" + ], + "m_4e5af2aae9a06ee2": [ + "src/routes/admin-mcp.ts" + ], + "m_cf198c4727854a63": [ + "src/routes/admin-mcp.ts" + ], + "m_636f29ef3dd55f9b": [ + "src/routes/admin-mcp.ts" + ], + "m_11f69bd32d428f14": [ + "src/routes/admin-mcp.ts" + ], + "m_d5112ef535b0ce5b": [ + "src/routes/admin-mcp.ts" + ], + "m_9615f12f15f8e6f7": [ + "src/routes/admin-mcp.ts" + ], + "m_eaf5dbfe425cfa3f": [ + "src/routes/admin-mcp.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_8ab6728713ad8858": [ + "src/routes/admin-mcp.ts" + ], + "m_aa2df5e3971b60e7": [ + "src/routes/admin-mcp.ts" + ], + "m_b525ffd5499fc86d": [ + "src/routes/admin-mcp.ts" + ], + "m_35456c06c2ad2c05": [ + "src/routes/admin-mcp.ts", + "src/utils/mcpDispatch.ts" + ], + "m_342d2c21b9f70059": [ + "src/routes/admin-mcp.ts" + ], + "m_36f26fa461c07fd6": [ + "src/routes/admin-mcp.ts" + ], + "m_1c0d1ec937005f23": [ + "src/routes/admin-mcp.ts" + ], + "m_79a074aac12f4b03": [ + "src/routes/admin-mcp.ts" + ], + "m_0c08d9cc7b013e9a": [ + "src/routes/admin-mcp.ts" + ], + "m_bb6e8cdce042d5d9": [ + "src/routes/admin-mcp.ts" + ], + "m_f1b2a0a0ce744f91": [ + "src/routes/admin-mcp.ts" + ], + "m_5fdebda560bdaf13": [ + "src/routes/admin-mcp.ts" + ], + "m_96af99f246616c9a": [ + "src/routes/admin-mcp.ts" + ], + "m_14633f93c811369e": [ + "src/routes/admin-mcp.ts" + ], + "m_c6df720ffe5dbfaf": [ + "src/routes/admin-mcp.ts" + ], + "m_c5653e410b295271": [ + "src/routes/admin-mcp.ts" + ], + "m_2dc8566bc0bc2a8b": [ + "src/routes/admin-mcp.ts" + ], + "m_89fa221ff4b12753": [ + "src/routes/admin-mcp.ts" + ], + "m_b984971f61ea5da3": [ + "src/routes/admin-mcp.ts" + ], + "m_e085d4d2b72069cf": [ + "src/routes/admin-mcp.ts" + ], + "m_d562855ceec48d54": [ + "src/routes/admin-mcp.ts" + ], + "m_e02821f6bffe9ca0": [ + "src/routes/admin-mcp.ts" + ], + "m_51f6566a2dc68dac": [ + "src/routes/admin-mcp.ts" + ], + "m_b3104adc425b92b3": [ + "src/routes/admin-mcp.ts" + ], + "m_ecc6b4ed43d3fa11": [ + "src/routes/admin-mcp.ts" + ], + "m_66f6e8ed248c75ed": [ + "src/routes/admin-mcp.ts" + ], + "m_c79c864cbdc920ad": [ + "src/routes/admin-mcp.ts" + ], + "m_1ef45f2dd443d3e9": [ + "src/routes/admin-mcp.ts" + ], + "m_ecd14a0b47bd02cf": [ + "src/routes/admin-mcp.ts" + ], + "m_06ab29e11e5de033": [ + "src/routes/admin-mcp.ts" + ], + "m_d37ce58985a8c6fb": [ + "src/routes/admin-mcp.ts" + ], + "m_498cdf7a4578a46f": [ + "src/routes/admin-mcp.ts", + "src/routes/wiki.ts" + ], + "m_8d49255bd1e6c534": [ + "src/routes/admin-mcp.ts" + ], + "m_0be79ab877efcff9": [ + "src/routes/admin-mcp.ts" + ], + "m_1305aec62a88f8a3": [ + "src/routes/admin-mcp.ts" + ], + "m_d71e674e7fab6572": [ + "src/routes/admin-mcp.ts" + ], + "m_da391d05579986b7": [ + "src/routes/admin-mcp.ts" + ], + "m_b553e7b7164d38ae": [ + "src/routes/admin-mcp.ts" + ], + "m_1892d082de75f76e": [ + "src/routes/admin-mcp.ts" + ], + "m_59ce8f7fb9a9d57d": [ + "src/routes/admin-mcp.ts" + ], + "m_06adfdb126ca2f2d": [ + "src/routes/admin-mcp.ts" + ], + "m_5215b013ba9c5c3e": [ + "src/routes/admin-mcp.ts" + ], + "m_c87c37f4896b20b5": [ + "src/routes/admin-mcp.ts" + ], + "m_84109eed126cc204": [ + "src/routes/admin-mcp.ts" + ], + "m_bf29c154ae523703": [ + "src/routes/admin-mcp.ts" + ], + "m_1be69df5082dfc07": [ + "src/routes/admin-mcp.ts" + ], + "m_6c36b8c1eeb7f782": [ + "src/routes/admin-mcp.ts" + ], + "m_d6939b8ab743c3cb": [ + "src/routes/admin-mcp.ts" + ], + "m_5ee1357c836e3265": [ + "src/routes/admin-mcp.ts" + ], + "m_b61bfa2e7e9f6307": [ + "src/routes/admin-mcp.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_1e2db7eab1f0eda0": [ + "src/routes/admin-mcp.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_06ef274dccd56546": [ + "src/routes/admin-mcp.ts" + ], + "m_0c9d736ef7c1be1c": [ + "src/routes/admin-mcp.ts" + ], + "m_96a6516836c03caf": [ + "src/routes/admin-mcp.ts" + ], + "m_90150790f9c7a71e": [ + "src/routes/admin-mcp.ts" + ], + "m_90b56fb3e80e056e": [ + "src/routes/admin-mcp.ts" + ], + "m_9eeaa6a50cf56682": [ + "src/routes/admin-mcp.ts" + ], + "m_f2a2c84b1393640d": [ + "src/routes/admin-mcp.ts" + ], + "m_4f58ec5b5e4730aa": [ + "src/routes/admin-mcp.ts" + ], + "m_87e7f7a96beea8fb": [ + "src/routes/admin-mcp.ts" + ], + "m_f5ce6ee4e62e8de6": [ + "src/routes/admin-mcp.ts" + ], + "m_45e2704a9530e5f8": [ + "src/routes/admin-mcp.ts" + ], + "m_5797a6d9c5ecfc15": [ + "src/routes/admin-mcp.ts" + ], + "m_2a061c6193cd4033": [ + "src/routes/admin-mcp.ts" + ], + "m_d43fc755953e8e89": [ + "src/routes/admin-mcp.ts" + ], + "m_d8488b87a42a88f5": [ + "src/routes/admin-mcp.ts" + ], + "m_71a4c23be8db3690": [ + "src/routes/admin-mcp.ts" + ], + "m_a5438b3b7fb76bf4": [ + "src/routes/admin-mcp.ts" + ], + "m_d023ab691dff7bd9": [ + "src/routes/admin-mcp.ts" + ], + "m_d365748ab682796b": [ + "src/routes/admin-mcp.ts" + ], + "m_59a499ddfeccdc0d": [ + "src/routes/admin-mcp.ts" + ], + "m_55c56ac0928877ec": [ + "src/routes/admin-mcp.ts" + ], + "m_694af6f9095a9def": [ + "src/routes/admin-mcp.ts" + ], + "m_aa3a49af02c77e8c": [ + "src/routes/admin-mcp.ts" + ], + "m_f4ec1684e2260eeb": [ + "src/routes/admin-mcp.ts" + ], + "m_a1dbee63d898ee47": [ + "src/routes/admin-mcp.ts" + ], + "m_c8a7907ff37ab3c3": [ + "src/routes/admin-mcp.ts" + ], + "m_67fc323a30e1f44d": [ + "src/routes/admin-mcp.ts" + ], + "m_b80e25642871183c": [ + "src/routes/admin-mcp.ts" + ], + "m_e71689f947fff666": [ + "src/routes/admin-mcp.ts" + ], + "m_c0cae7a74ebe04c8": [ + "src/routes/admin-mcp.ts" + ], + "m_0c5192f5f86de2aa": [ + "src/routes/admin-mcp.ts" + ], + "m_f3cd5840152553ef": [ + "src/routes/admin-mcp.ts" + ], + "m_2f067521b8876bdb": [ + "src/routes/admin-mcp.ts" + ], + "m_14e60317e5fae82c": [ + "src/routes/admin-mcp.ts" + ], + "m_cb1a1e273aea7b04": [ + "src/routes/admin-mcp.ts" + ], + "m_856dd2df08c4246a": [ + "src/routes/admin-mcp.ts" + ], + "m_cc9846e90f9e828a": [ + "src/routes/admin-mcp.ts" + ], + "m_1cc7261dc2df7fdf": [ + "src/routes/admin-mcp.ts" + ], + "m_0146467f26ec73c6": [ + "src/routes/admin-mcp.ts" + ], + "m_0b5af618752913e3": [ + "src/routes/admin-mcp.ts" + ], + "m_fdfa5a2d5f78e542": [ + "src/routes/admin-mcp.ts" + ], + "m_5c8f76d6c556ba92": [ + "src/routes/admin-mcp.ts" + ], + "m_f9b2c39ea47d991a": [ + "src/routes/admin-mcp.ts", + "src/routes/wiki.ts" + ], + "m_8f525ba61830ea2f": [ + "src/routes/admin-mcp.ts" + ], + "m_ff744d061f41f00f": [ + "src/routes/admin-mcp.ts" + ], + "m_dd24a86b62797590": [ + "src/routes/admin-mcp.ts" + ], + "m_2f1b7032fa67d995": [ + "src/routes/admin-mcp.ts" + ], + "m_9952e26982704b4f": [ + "src/routes/admin-mcp.ts" + ], + "m_e602bd6e22f66637": [ + "src/routes/admin-mcp.ts" + ], + "m_455e32fcc4e8b0c4": [ + "src/routes/admin-mcp.ts" + ], + "m_9e203cd85a24d16a": [ + "src/routes/admin-mcp.ts" + ], + "m_6dcf73d828a63cfe": [ + "src/routes/admin-mcp.ts", + "src/routes/mcp.ts" + ], + "m_a2251307d59448a7": [ + "src/routes/admin-mcp.ts" + ], + "m_6eec2c670cd0b15c": [ + "src/routes/admin-mcp.ts" + ], + "m_c0149a7404a737ca": [ + "src/routes/admin-mcp.ts" + ], + "m_2387e771a93389a0": [ + "src/routes/admin-mcp.ts" + ], + "m_a92db503150b6878": [ + "src/routes/admin-mcp.ts" + ], + "m_f0f10112368b9417": [ + "src/routes/admin-mcp.ts" + ], + "m_a27088cdebc322b3": [ + "src/routes/admin-mcp.ts" + ], + "m_43d079b80e1d56b8": [ + "src/routes/admin-mcp.ts" + ], + "m_f16fe8e4ae090a74": [ + "src/routes/admin-mcp.ts" + ], + "m_f0c82c07ff59de9e": [ + "src/routes/admin-mcp.ts" + ], + "m_42d48256ecd34d50": [ + "src/routes/admin-mcp.ts" + ], + "m_78742118a5af3c36": [ + "src/routes/admin-mcp.ts" + ], + "m_83c94bc5f7b7e6de": [ + "src/routes/admin-mcp.ts" + ], + "m_d1d6083885279cd5": [ + "src/routes/admin-mcp.ts" + ], + "m_52ab88f8136b6083": [ + "src/routes/admin-mcp.ts" + ], + "m_52daaee07eb4aa72": [ + "src/routes/admin-mcp.ts" + ], + "m_a995ff0df25d25e8": [ + "src/routes/admin-mcp.ts" + ], + "m_eaecb784ae99da46": [ + "src/routes/admin-mcp.ts" + ], + "m_784c7704a3a2f0ae": [ + "src/routes/admin-mcp.ts" + ], + "m_1e1c4a998b7b2f1c": [ + "src/routes/admin-mcp.ts" + ], + "m_da4c2b335f807689": [ + "src/routes/admin-mcp.ts" + ], + "m_dde3f09c6f760e12": [ + "src/routes/admin-mcp.ts" + ], + "m_a1d93a929874828a": [ + "src/routes/admin-mcp.ts" + ], + "m_df9d818634c94050": [ + "src/routes/admin-mcp.ts" + ], + "m_edb211a446241a10": [ + "src/routes/admin-mcp.ts" + ], + "m_2364117719f3a8b3": [ + "src/routes/admin-mcp.ts" + ], + "m_6bd1943582da2fb4": [ + "src/routes/admin-mcp.ts" + ], + "m_3018916d76962e2b": [ + "src/routes/admin-mcp.ts" + ], + "m_6bb8551b26be9ae0": [ + "src/routes/admin-mcp.ts" + ], + "m_7434f1ab7d74a574": [ + "src/routes/admin-mcp.ts" + ], + "m_ea679e2e44dc658c": [ + "src/routes/admin.ts" + ], + "m_e380992be8c63526": [ + "src/routes/admin.ts" + ], + "m_df76d4b07bcc4ab1": [ + "src/routes/admin.ts" + ], + "m_134929c0476fe5be": [ + "src/routes/admin.ts" + ], + "m_f8876d2c7b783ca4": [ + "src/routes/admin.ts" + ], + "m_645f32deb057bd92": [ + "src/routes/admin.ts" + ], + "m_1f541562fd01c78c": [ + "src/routes/admin.ts" + ], + "m_3ed6d4e354c838b3": [ + "src/routes/admin.ts" + ], + "m_abb4a8d8ac94c992": [ + "src/routes/admin.ts" + ], + "m_a9565509464e86d1": [ + "src/routes/admin.ts" + ], + "m_069ae175a607723e": [ + "src/routes/admin.ts" + ], + "m_5db36d624bb88e41": [ + "src/routes/admin.ts" + ], + "m_6065324cc601db46": [ + "src/routes/admin.ts", + "src/routes/blog.ts" + ], + "m_721e85fe55a6dfc1": [ + "src/routes/admin.ts" + ], + "m_cd6ca34f9c9274eb": [ + "src/routes/admin.ts" + ], + "m_0a9a88e363952e3f": [ + "src/routes/admin.ts" + ], + "m_fb575a3d25163990": [ + "src/routes/admin.ts", + "src/routes/blog.ts" + ], + "m_8faf5b2e2a4160c8": [ + "src/routes/admin.ts" + ], + "m_dd77fc076afa8ac6": [ + "src/routes/admin.ts" + ], + "m_4ca9f71978de0cc6": [ + "src/routes/admin.ts" + ], + "m_8941843751b73156": [ + "src/routes/admin.ts" + ], + "m_159b9a7741b2361c": [ + "src/routes/admin.ts" + ], + "m_1f2acd38d1fdb703": [ + "src/routes/admin.ts" + ], + "m_279a839056ee1c30": [ + "src/routes/admin.ts" + ], + "m_414eef8d5089d64b": [ + "src/routes/admin.ts" + ], + "m_ce643349a6112764": [ + "src/routes/admin.ts" + ], + "m_7b2942f9fc5aa0db": [ + "src/routes/admin.ts" + ], + "m_8c9c3d9c42be0512": [ + "src/routes/admin.ts" + ], + "m_e547850637ba3ade": [ + "src/routes/admin.ts" + ], + "m_4e9dad53d17ad6f9": [ + "src/routes/admin.ts" + ], + "m_c3f42c4127677ace": [ + "src/routes/admin.ts" + ], + "m_3926d37021dd5bac": [ + "src/routes/admin.ts" + ], + "m_dd73227944f3b24e": [ + "src/routes/admin.ts" + ], + "m_f95cea1cbd17aed8": [ + "src/routes/admin.ts" + ], + "m_3b95ca231fd78ac9": [ + "src/routes/admin.ts" + ], + "m_cb74b7f1f6aa5aba": [ + "src/routes/admin.ts" + ], + "m_3aefa99fa362ec14": [ + "src/routes/admin.ts" + ], + "m_26bf3a5c77a1d6e8": [ + "src/routes/admin.ts" + ], + "m_3207e71f669e7d66": [ + "src/routes/admin.ts" + ], + "m_fe7c2184c6281693": [ + "src/routes/admin.ts" + ], + "m_f3b0e304fe72ea17": [ + "src/routes/admin.ts" + ], + "m_807b32fb748e5ea0": [ + "src/routes/admin.ts" + ], + "m_4ac9e18d389472c1": [ + "src/routes/admin.ts" + ], + "m_6b2aba4efe8db65a": [ + "src/routes/admin.ts" + ], + "m_82b589a40a35bb0b": [ + "src/routes/admin.ts" + ], + "m_b961ccd0211a154b": [ + "src/routes/admin.ts" + ], + "m_128abb2d38023dfd": [ + "src/routes/admin.ts" + ], + "m_57304c35b2c1ae2b": [ + "src/routes/admin.ts" + ], + "m_ba456591ad3e7df7": [ + "src/routes/admin.ts" + ], + "m_780a4f6da8ad2e1a": [ + "src/routes/admin.ts" + ], + "m_d29e8f3e8ffd04bb": [ + "src/routes/admin.ts" + ], + "m_8baac37faa1da152": [ + "src/routes/admin.ts" + ], + "m_c464bf2bb778ec11": [ + "src/routes/admin.ts" + ], + "m_fd04e6fd149684a1": [ + "src/routes/admin.ts" + ], + "m_592c3fe662fb1c68": [ + "src/routes/admin.ts" + ], + "m_a5312718c2987eb0": [ + "src/routes/admin.ts" + ], + "m_0c200cb9ffbed5e8": [ + "src/routes/admin.ts" + ], + "m_4bc80e3d2f3e6ed7": [ + "src/routes/admin.ts" + ], + "m_0c643c63a7d091cb": [ + "src/routes/admin.ts" + ], + "m_b3caf5b30c7fbe72": [ + "src/routes/admin.ts", + "src/routes/adminJobs.ts" + ], + "m_74ae499212b6752f": [ + "src/routes/admin.ts" + ], + "m_3e3bc59fe5cbacc5": [ + "src/routes/admin.ts" + ], + "m_18d2ef3481b14747": [ + "src/routes/admin.ts" + ], + "m_1276de4f2ff69f84": [ + "src/routes/admin.ts", + "src/routes/adminJobs.ts" + ], + "m_85e145de59c5d3f3": [ + "src/routes/admin.ts" + ], + "m_ce322b2939e689ee": [ + "src/routes/admin.ts" + ], + "m_3ef3cc43b593206d": [ + "src/routes/admin.ts" + ], + "m_5f125601b256554e": [ + "src/routes/admin.ts" + ], + "m_19f204595de41ff1": [ + "src/routes/admin.ts" + ], + "m_d1f4b10ae2b81356": [ + "src/routes/admin.ts" + ], + "m_b0f36928bf289681": [ + "src/routes/admin.ts" + ], + "m_9c0935a851d6062d": [ + "src/routes/admin.ts", + "src/routes/media.ts" + ], + "m_4ffa12c344dee170": [ + "src/routes/admin.ts" + ], + "m_c0be3b1a827e4c76": [ + "src/routes/admin.ts" + ], + "m_5a85f5d54b42fdd3": [ + "src/routes/admin.ts" + ], + "m_496b6b1ade3a4e6a": [ + "src/routes/admin.ts" + ], + "m_1aee0ae203eabd47": [ + "src/routes/admin.ts" + ], + "m_6246136884f91732": [ + "src/routes/admin.ts" + ], + "m_bc7101092992ca04": [ + "src/routes/admin.ts" + ], + "m_b9e3e99701625ec3": [ + "src/routes/admin.ts" + ], + "m_865de98deb7295d1": [ + "src/routes/admin.ts" + ], + "m_a7cfdc8a772d1f56": [ + "src/routes/admin.ts" + ], + "m_ddbda3182182b4aa": [ + "src/routes/admin.ts" + ], + "m_1fba32a0382881be": [ + "src/routes/admin.ts" + ], + "m_d34070e2c5d7788f": [ + "src/routes/admin.ts" + ], + "m_d8c31374d308ba44": [ + "src/routes/admin.ts" + ], + "m_e71b631ca9300163": [ + "src/routes/admin.ts" + ], + "m_129ad77a88ffe229": [ + "src/routes/admin.ts" + ], + "m_d54c013d31143bba": [ + "src/routes/admin.ts" + ], + "m_9d02d96d16f78ae8": [ + "src/routes/admin.ts" + ], + "m_ead44cdfaef58eda": [ + "src/routes/admin.ts" + ], + "m_85b9bf60faf26a87": [ + "src/routes/admin.ts" + ], + "m_3068682e59372c1d": [ + "src/routes/admin.ts" + ], + "m_d572c78b8583fa19": [ + "src/routes/admin.ts" + ], + "m_fb140132c244fc1e": [ + "src/routes/admin.ts" + ], + "m_7deba0b2c89d4723": [ + "src/routes/admin.ts" + ], + "m_39da805aa28f9199": [ + "src/routes/admin.ts" + ], + "m_9d34ec7de65bd465": [ + "src/routes/admin.ts" + ], + "m_cbcbb3a4f3b94b1d": [ + "src/routes/admin.ts" + ], + "m_26d991ce5ab3d99d": [ + "src/routes/admin.ts" + ], + "m_167335d1fe4b72af": [ + "src/routes/admin.ts" + ], + "m_9ee87e5f6318909d": [ + "src/routes/admin.ts" + ], + "m_191a136b0fb06b11": [ + "src/routes/admin.ts" + ], + "m_d8487cf70ba43a40": [ + "src/routes/admin.ts" + ], + "m_08a6adb370b3919b": [ + "src/routes/admin.ts" + ], + "m_9c15cffdb22483bf": [ + "src/routes/admin.ts" + ], + "m_9c95023c39a049f1": [ + "src/routes/admin.ts" + ], + "m_32b4508fa9dae6fe": [ + "src/routes/admin.ts" + ], + "m_c43cbd277bab8e60": [ + "src/routes/admin.ts" + ], + "m_f8a8daac0ad531d0": [ + "src/routes/admin.ts" + ], + "m_a3529e228f5f66d5": [ + "src/routes/admin.ts" + ], + "m_de6063acba84ba4a": [ + "src/routes/admin.ts" + ], + "m_41a6a0a71ad6255d": [ + "src/routes/adminJobs.ts" + ], + "m_3a0a5279aa52b485": [ + "src/routes/adminJobs.ts" + ], + "m_de2dcb8236fb280d": [ + "src/routes/adminJobs.ts" + ], + "m_e6a33083a9e9c7ac": [ + "src/routes/adminJobs.ts" + ], + "m_9ff821ce3db62627": [ + "src/routes/adminJobs.ts" + ], + "m_51ddd7ceb38ce1db": [ + "src/routes/adminJobs.ts" + ], + "m_38dafb8bfccdd2b3": [ + "src/routes/adminJobs.ts" + ], + "m_9f9ae346568f9372": [ + "src/routes/adminJobs.ts" + ], + "m_562eb6e6e08ecf12": [ + "src/routes/adminJobs.ts" + ], + "m_a6d38c860b371436": [ + "src/routes/analytics.ts" + ], + "m_69ce7e22c1a4418a": [ + "src/routes/auth/common.ts" + ], + "m_91056188b8bd82f5": [ + "src/routes/auth/index.ts" + ], + "m_0b0a009c6e0d2392": [ + "src/routes/auth/index.ts", + "src/routes/media.ts", + "src/routes/qr-login.ts" + ], + "m_2d794ec3450db6d9": [ + "src/routes/auth/index.ts" + ], + "m_7643eee1fec028c1": [ + "src/routes/auth/index.ts" + ], + "m_56f965926b7480df": [ + "src/routes/auth/index.ts" + ], + "m_5826cddf7a82ad72": [ + "src/routes/auth/index.ts" + ], + "m_327c9350ca756d45": [ + "src/routes/auth/index.ts" + ], + "m_6f19362b18609eca": [ + "src/routes/auth/index.ts" + ], + "m_4526bb77acb750ca": [ + "src/routes/auth/index.ts" + ], + "m_fb2a59509c237625": [ + "src/routes/auth/index.ts" + ], + "m_09a7d1a34a1a0499": [ + "src/routes/auth/index.ts" + ], + "m_6e6081e97b258993": [ + "src/routes/auth/index.ts" + ], + "m_cb3f916fc4494942": [ + "src/routes/auth/index.ts" + ], + "m_62d177927d381e8b": [ + "src/routes/auth/index.ts" + ], + "m_38aeb838f7210142": [ + "src/routes/auth/index.ts" + ], + "m_dde0a1dfc274b96c": [ + "src/routes/auth/index.ts" + ], + "m_20063338c854c210": [ + "src/routes/auth/index.ts" + ], + "m_dfbe4914812f5eb8": [ + "src/routes/auth/index.ts" + ], + "m_c57d23e2227455dd": [ + "src/routes/auth/index.ts" + ], + "m_c856fd84454cb427": [ + "src/routes/auth/index.ts" + ], + "m_8b3ea246b148f1d8": [ + "src/routes/auth/index.ts" + ], + "m_39417eb13711a600": [ + "src/routes/auth/index.ts" + ], + "m_0bef21ce8365a5b6": [ + "src/routes/auth/index.ts" + ], + "m_94242844807e13bd": [ + "src/routes/auth/index.ts" + ], + "m_2f9af3198cc3cfde": [ + "src/routes/auth/index.ts" + ], + "m_548d9d62ca02ac46": [ + "src/routes/auth/index.ts" + ], + "m_2a3589cc660fb19f": [ + "src/routes/auth/index.ts" + ], + "m_77ad3d250f06060c": [ + "src/routes/auth/index.ts" + ], + "m_82cfd7aded4a3df1": [ + "src/routes/auth/index.ts" + ], + "m_60e2e82e72e9ebde": [ + "src/routes/auth/index.ts" + ], + "m_b5d6bd814801c17d": [ + "src/routes/auth/index.ts" + ], + "m_7302886fb9864551": [ + "src/routes/auth/index.ts" + ], + "m_74c05839d304bdfe": [ + "src/routes/auth/index.ts" + ], + "m_e7ef0b5a2cfcf48a": [ + "src/routes/auth/index.ts" + ], + "m_b41bd74a953f9f20": [ + "src/routes/auth/index.ts" + ], + "m_b0ab1fe7e298522d": [ + "src/routes/auth/index.ts" + ], + "m_e79216fda2e57c4b": [ + "src/routes/auth/index.ts" + ], + "m_72d84e45143f4230": [ + "src/routes/auth/index.ts" + ], + "m_6bd046e4ebef3a3b": [ + "src/routes/auth/index.ts" + ], + "m_053bc65874ad6098": [ + "src/routes/auth/providers/discord.ts" + ], + "m_c19f90377ab6e2c9": [ + "src/routes/auth/providers/discord.ts", + "src/routes/auth/providers/google.ts" + ], + "m_bbb52cca8cca84f1": [ + "src/routes/auth/providers/discord.ts", + "src/routes/auth/providers/google.ts" + ], + "m_fbfc48924eda24a4": [ + "src/routes/auth/providers/discord.ts", + "src/routes/auth/providers/google.ts" + ], + "m_dd3940b67e5e416c": [ + "src/routes/auth/providers/discord.ts", + "src/routes/auth/providers/google.ts" + ], + "m_ce770667e5f9b0d8": [ + "src/routes/auth/providers/google.ts" + ], + "m_d2b0e22ce6848f49": [ + "src/routes/auth/providers/nodeloc.ts" + ], + "m_f60c824125e6408e": [ + "src/routes/blog.ts" + ], + "m_877f03b47ea6c52b": [ + "src/routes/blog.ts" + ], + "m_8dd4e38868d9e2ba": [ + "src/routes/blog.ts", + "src/routes/wiki.ts" + ], + "m_c9a7bb5bfc3daffd": [ + "src/routes/blog.ts" + ], + "m_589c6079fe4fd614": [ + "src/routes/blog.ts" + ], + "m_dfe13dc6a95de8ac": [ + "src/routes/blog.ts" + ], + "m_43389606b46c0865": [ + "src/routes/blog.ts", + "src/routes/wiki.ts" + ], + "m_3d13a68580ebd7d4": [ + "src/routes/blog.ts" + ], + "m_5ae1150363fc7430": [ + "src/routes/blog.ts" + ], + "m_e18dca82ed4affb8": [ + "src/routes/blog.ts" + ], + "m_99fd6c450b6f66ea": [ + "src/routes/blog.ts" + ], + "m_122b952526e327eb": [ + "src/routes/blog.ts" + ], + "m_30646c645d38dae7": [ + "src/routes/blog.ts" + ], + "m_4a56a9fd9cd50e72": [ + "src/routes/blog.ts" + ], + "m_5269372cce84ab59": [ + "src/routes/blog.ts" + ], + "m_43f6b5f54afb6f6e": [ + "src/routes/discussion.ts" + ], + "m_589412d24ed3a617": [ + "src/routes/discussion.ts" + ], + "m_60167e66b99afbb1": [ + "src/routes/discussion.ts" + ], + "m_262938999161fa7c": [ + "src/routes/discussion.ts" + ], + "m_dff9cab3adad9f5f": [ + "src/routes/discussion.ts" + ], + "m_223fe5dd823bd69d": [ + "src/routes/discussion.ts", + "src/routes/ticket.ts" + ], + "m_1c01e15935816b50": [ + "src/routes/discussion.ts" + ], + "m_887a3d6748f61f1b": [ + "src/routes/discussion.ts", + "src/routes/ticket.ts" + ], + "m_417980f272a6a783": [ + "src/routes/discussion.ts" + ], + "m_21e074f59c6a9b9b": [ + "src/routes/discussion.ts", + "src/routes/ticket.ts" + ], + "m_c6ab4ba1441ff48f": [ + "src/routes/discussion.ts" + ], + "m_5a8f94f360fbf077": [ + "src/routes/discussion.ts" + ], + "m_b6d12020a3b7d027": [ + "src/routes/discussion.ts" + ], + "m_3a98a9bf830588d5": [ + "src/routes/discussion.ts", + "src/routes/ticket.ts" + ], + "m_cf7600fc999a9f1c": [ + "src/routes/discussion.ts", + "src/routes/ticket.ts" + ], + "m_cfbd9cf6e8eb8640": [ + "src/routes/discussion.ts", + "src/routes/ticket.ts" + ], + "m_b5121d5901351eee": [ + "src/routes/mcp-submissions.ts", + "src/routes/pending-edits.ts" + ], + "m_907ba78b4545338d": [ + "src/routes/mcp-submissions.ts", + "src/routes/pending-edits.ts" + ], + "m_1ca486cacad6b85c": [ + "src/routes/mcp-submissions.ts", + "src/routes/pending-edits.ts" + ], + "m_9ea12fcade96d6c6": [ + "src/routes/mcp.ts" + ], + "m_97b1d0e9352ff0e8": [ + "src/routes/mcp.ts" + ], + "m_88e1ad2ef29f64aa": [ + "src/routes/mcp.ts" + ], + "m_1687ca861ac0fc1a": [ + "src/routes/mcp.ts" + ], + "m_1565658bee898960": [ + "src/routes/mcp.ts", + "src/utils/mcpDispatch.ts" + ], + "m_f8b228b84e8c7ec3": [ + "src/routes/mcp.ts" + ], + "m_4f55b2936a8b3083": [ + "src/routes/mcp.ts" + ], + "m_eb0ae25c805719e8": [ + "src/routes/mcp.ts" + ], + "m_1c6d5cc54aa2f804": [ + "src/routes/mcp.ts" + ], + "m_91b1d604c6a79dc1": [ + "src/routes/mcp.ts" + ], + "m_bf3875a1193f72fc": [ + "src/routes/mcp.ts" + ], + "m_1ed6ec4afa33ec94": [ + "src/routes/mcp.ts", + "src/utils/mcpDispatch.ts" + ], + "m_860a4031f34189c8": [ + "src/routes/mcp.ts" + ], + "m_9cf50c843d60bb0c": [], + "m_77453d7811852f91": [ + "src/routes/mcp.ts", + "src/utils/mcpDispatch.ts" + ], + "m_85e275d5ef4ec4a4": [ + "src/routes/mcp.ts" + ], + "m_941ff4d0ab2b99a0": [ + "src/routes/mcp.ts" + ], + "m_5f16df86699bf330": [ + "src/routes/mcp.ts", + "src/utils/mcpDispatch.ts" + ], + "m_54b4e95a62973ac7": [ + "src/routes/mcp.ts" + ], + "m_aefaf421ef468334": [ + "src/routes/mcp.ts" + ], + "m_7544e51d0c96b835": [ + "src/routes/mcp.ts" + ], + "m_5782856f6d5f2e59": [ + "src/routes/mcp.ts" + ], + "m_0b1d2015ee6520c8": [ + "src/routes/mcp.ts" + ], + "m_76a8d3dec65a9b1c": [ + "src/routes/mcp.ts" + ], + "m_b2c45b087fd5f353": [ + "src/routes/mcp.ts" + ], + "m_ffa08a1fa0c0965f": [ + "src/routes/mcp.ts" + ], + "m_426bc375e8ffcda0": [ + "src/routes/mcp.ts" + ], + "m_628e02135c1c8ea4": [ + "src/routes/mcp.ts" + ], + "m_2775d221b3599514": [ + "src/routes/mcp.ts" + ], + "m_0cad64d1db2dc4d6": [ + "src/routes/mcp.ts" + ], + "m_8fb588328fcea157": [ + "src/routes/mcp.ts", + "src/utils/mcpDispatch.ts" + ], + "m_a362d1ab7712da5f": [ + "src/routes/mcp.ts" + ], + "m_70f6bd48df9de855": [ + "src/routes/media.ts" + ], + "m_9165b0be705d22d2": [ + "src/routes/media.ts" + ], + "m_383f5da44ca83bfa": [ + "src/routes/media.ts" + ], + "m_49e06d52b004e661": [ + "src/routes/media.ts" + ], + "m_709923cc1913c54a": [ + "src/routes/media.ts" + ], + "m_4dc3da9504a07d7e": [ + "src/routes/media.ts" + ], + "m_50d94ab00cdbc89f": [ + "src/routes/media.ts" + ], + "m_27debb2125262c5f": [ + "src/routes/media.ts" + ], + "m_a1637f65b48e9a28": [ + "src/routes/media.ts" + ], + "m_a5fe16f447fa51b3": [ + "src/routes/media.ts" + ], + "m_ac4b2abda2994c79": [ + "src/routes/media.ts" + ], + "m_126d6015a3288239": [ + "src/routes/media.ts" + ], + "m_4c8911ca66612cb4": [ + "src/routes/notification.ts" + ], + "m_e3557c550ab973d5": [ + "src/routes/notification.ts" + ], + "m_1a974badb6e47009": [ + "src/routes/notification.ts" + ], + "m_0f410dd168933fef": [ + "src/routes/notification.ts" + ], + "m_89975bae3b090120": [ + "src/routes/notification.ts" + ], + "m_724b58cf4d967d21": [ + "src/routes/notification.ts" + ], + "m_70a66c8ef6d4b156": [ + "src/routes/notification.ts" + ], + "m_4838f659f04b4d4f": [ + "src/routes/notification.ts" + ], + "m_8a1213b5ecd8904b": [ + "src/routes/notification.ts" + ], + "m_154d463aa34cb9a0": [ + "src/routes/notification.ts" + ], + "m_959db104077054ad": [ + "src/routes/notification.ts" + ], + "m_ee608891fa7c8c85": [ + "src/routes/notification.ts" + ], + "m_5277a4f4f1272fba": [ + "src/routes/notification.ts" + ], + "m_0994aca6a079dc8b": [ + "src/routes/notification.ts" + ], + "m_066622ae90180124": [ + "src/routes/notification.ts" + ], + "m_a20ccb3e6b01e324": [ + "src/routes/notification.ts", + "src/routes/qr-login.ts", + "src/routes/wiki.ts" + ], + "m_b0f75f3dc9842745": [ + "src/routes/oauth.ts" + ], + "m_78476174b943f7e1": [ + "src/routes/oauth.ts" + ], + "m_f55a618c340a0a6e": [ + "src/routes/oauth.ts" + ], + "m_7833b9b21edde940": [ + "src/routes/oauth.ts" + ], + "m_968b0883b33214e5": [ + "src/routes/oauth.ts" + ], + "m_7e829c4373ba6c5e": [ + "src/routes/oauth.ts" + ], + "m_4e0fe9efd211ae39": [ + "src/routes/oauth.ts" + ], + "m_30fb6083119efa6a": [ + "src/routes/oauth.ts" + ], + "m_04fe776508260fc8": [ + "src/routes/oauth.ts" + ], + "m_97e5ea25d19547a9": [ + "src/routes/oauth.ts" + ], + "m_5bb43e8304b378be": [ + "src/routes/pending-edits.ts" + ], + "m_5eebf5ac5d01b73b": [ + "src/routes/pending-edits.ts" + ], + "m_d69a86f59913aeab": [ + "src/routes/pending-edits.ts" + ], + "m_bffb6dc50a4f0cc5": [ + "src/routes/pending-edits.ts" + ], + "m_f504b0f8c23b04cd": [ + "src/routes/pending-edits.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_11d121b9c8d723da": [ + "src/routes/pending-edits.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_9ac80908b87081cb": [ + "src/routes/pending-edits.ts" + ], + "m_bda36aa7fb0cee8c": [ + "src/routes/pending-edits.ts" + ], + "m_f43e9df8183c842d": [ + "src/routes/pending-edits.ts" + ], + "m_89aacb50123361b8": [ + "src/routes/pending-edits.ts" + ], + "m_17622610c3abcee6": [ + "src/routes/pending-edits.ts" + ], + "m_260c5c8b3587be3b": [ + "src/routes/pending-edits.ts" + ], + "m_ae96a9eefa60c215": [ + "src/routes/pending-edits.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_725e09fd82e3d485": [ + "src/routes/pending-edits.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_12f55b01aee28df3": [ + "src/routes/pending-edits.ts" + ], + "m_3d8c34037f5efbb7": [ + "src/routes/pending-edits.ts" + ], + "m_8dc152a57b4f61de": [ + "src/routes/pending-edits.ts" + ], + "m_e8c03a15d11d8a05": [ + "src/routes/pending-edits.ts" + ], + "m_b6c60011a90b11ec": [ + "src/routes/push.ts" + ], + "m_ba44d61a5dc6d955": [ + "src/routes/push.ts" + ], + "m_a25541b05610e977": [ + "src/routes/push.ts" + ], + "m_d83e449da7ec1d8d": [ + "src/routes/push.ts" + ], + "m_046820d26e94d180": [ + "src/routes/push.ts" + ], + "m_004ae7d8c14a4796": [ + "src/routes/push.ts" + ], + "m_e7d1fb773fdaa3a2": [ + "src/routes/push.ts" + ], + "m_de90a380fda149f4": [ + "src/routes/push.ts" + ], + "m_beb955daeb37f6d4": [ + "src/routes/qr-login.ts" + ], + "m_e7fd0c8c21d6b744": [ + "src/routes/qr-login.ts" + ], + "m_8dfae4ccf5a6b9d1": [ + "src/routes/qr-login.ts" + ], + "m_4454fea9ba8381bf": [ + "src/routes/qr-login.ts" + ], + "m_0ee746abfd9c27df": [ + "src/routes/qr-login.ts" + ], + "m_c912235825f0e01c": [ + "src/routes/qr-login.ts" + ], + "m_fe613f72a480159c": [ + "src/routes/qr-login.ts" + ], + "m_6bb9fa79146e2a5e": [ + "src/routes/qr-login.ts" + ], + "m_ef7eea8f5740423e": [ + "src/routes/qr-login.ts" + ], + "m_512989791c19de3f": [ + "src/routes/ticket.ts" + ], + "m_50da0b175337961e": [ + "src/routes/ticket.ts", + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_3d53da771fe0954d": [ + "src/routes/ticket.ts" + ], + "m_b0b3d3bc6c2762fe": [ + "src/routes/ticket.ts" + ], + "m_73e935d4625a54c4": [ + "src/routes/ticket.ts" + ], + "m_e626c97ad4a45854": [ + "src/routes/ticket.ts" + ], + "m_0a132c1ce880adf0": [ + "src/routes/ticket.ts" + ], + "m_14c17bf0e664ce23": [ + "src/routes/ticket.ts" + ], + "m_f7f952cc043cf488": [ + "src/routes/ticket.ts" + ], + "m_5bf5e399001521a2": [ + "src/routes/ticket.ts" + ], + "m_9896da0c836b54fb": [ + "src/routes/ticket.ts" + ], + "m_d8ab105f45b56ef5": [ + "src/routes/ticket.ts" + ], + "m_5eb2e809eabd4a29": [ + "src/routes/ticket.ts" + ], + "m_efa6a7d1ee843957": [ + "src/routes/ticket.ts" + ], + "m_20d1a711c808e7f5": [ + "src/routes/ticket.ts" + ], + "m_b92fd6d4cae11fd8": [ + "src/routes/ticket.ts" + ], + "m_137fe2b8ac68d1d4": [ + "src/routes/ticket.ts" + ], + "m_61d62a72e9bbbd6e": [ + "src/routes/ticket.ts" + ], + "m_e55e57e155805806": [ + "src/routes/ticket.ts" + ], + "m_887479ba73c7e7d4": [ + "src/routes/ticket.ts" + ], + "m_201b7d60ef6e8116": [ + "src/routes/ticket.ts" + ], + "m_4b5e35581628062d": [ + "src/routes/wiki.ts" + ], + "m_9789d0dfbdbe37a3": [ + "src/routes/wiki.ts", + "src/utils/webhook/events/pendingEdit.ts" + ], + "m_c87a5a18ec515157": [ + "src/routes/wiki.ts" + ], + "m_98efb44e75fe2fbe": [ + "src/routes/wiki.ts" + ], + "m_6a741012dcb9e689": [ + "src/routes/wiki.ts" + ], + "m_1372e17c5ac9ad58": [ + "src/routes/wiki.ts" + ], + "m_481f6c32a7c82b3c": [ + "src/routes/wiki.ts" + ], + "m_552f6864ba9c9991": [ + "src/routes/wiki.ts" + ], + "m_7cf8a03d62c36faf": [ + "src/routes/wiki.ts" + ], + "m_bfb51f42de77a8a5": [ + "src/routes/wiki.ts" + ], + "m_c7dd65df9f841f96": [ + "src/routes/wiki.ts" + ], + "m_f8d8203743b12cde": [ + "src/routes/wiki.ts" + ], + "m_b7d685b544e20462": [ + "src/routes/wiki.ts" + ], + "m_4b16444ac8960333": [ + "src/routes/wiki.ts" + ], + "m_518ddb12656ff914": [ + "src/routes/wiki.ts" + ], + "m_29d0659244b2ecf8": [ + "src/routes/wiki.ts" + ], + "m_e6cdd4680a803298": [ + "src/routes/wiki.ts" + ], + "m_b5e41b626257814b": [ + "src/routes/wiki.ts" + ], + "m_8012d0d029b44768": [ + "src/routes/wiki.ts" + ], + "m_d513e3d01b755e83": [ + "src/routes/wiki.ts" + ], + "m_e6b962a8eaff5533": [ + "src/routes/wiki.ts" + ], + "m_93f6eb544ffe4725": [ + "src/routes/wiki.ts" + ], + "m_4c857ed217030e5a": [ + "src/routes/wiki.ts" + ], + "m_e6380590c0c06876": [ + "src/routes/wiki.ts" + ], + "m_91d0966d84be4641": [ + "src/routes/wiki.ts" + ], + "m_149c3339aa55ab89": [ + "src/routes/wiki.ts" + ], + "m_69e7a2923e08f4ef": [ + "src/routes/wiki.ts" + ], + "m_49c589bbf965c9bd": [ + "src/routes/wiki.ts" + ], + "m_21b73ea47099d948": [ + "src/routes/wiki.ts" + ], + "m_275afdfa7c6dbe58": [ + "src/routes/wiki.ts" + ], + "m_9980d5f407562e20": [ + "src/routes/wiki.ts" + ], + "m_56fe00af0af17df4": [ + "src/routes/wiki.ts" + ], + "m_edb7ee4fec17cc4f": [ + "src/routes/wiki.ts" + ], + "m_32a0e1a4e54d2340": [ + "src/routes/wiki.ts" + ], + "m_6f5fe96067957fb8": [ + "src/routes/wiki.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_2f8b8fb15271aac5": [ + "src/routes/wiki.ts" + ], + "m_3cc9999f45d2d2ce": [ + "src/routes/wiki.ts" + ], + "m_17fd2364d2772a04": [ + "src/routes/wiki.ts" + ], + "m_60dd4157ca5e69ab": [ + "src/routes/wiki.ts" + ], + "m_7092531bf8f16176": [ + "src/routes/wiki.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_a4405bb7ffd0ca7d": [ + "src/routes/wiki.ts" + ], + "m_0e12c17fa6f302a5": [ + "src/routes/wiki.ts" + ], + "m_80d16e0cd99765ca": [ + "src/routes/wiki.ts" + ], + "m_a47db840b4ed0d13": [ + "src/routes/wiki.ts", + "src/utils/mcpDraftApply.ts" + ], + "m_3ea4afaf812b07c8": [ + "src/routes/wiki.ts" + ], + "m_f6ac1c7ff4c7b4fc": [ + "src/routes/wiki.ts" + ], + "m_58d34fbe05574d64": [ + "src/routes/wiki.ts" + ], + "m_fc520b8437af4266": [ + "src/routes/wiki.ts" + ], + "m_ac9ec8d35dce78ce": [ + "src/routes/wiki.ts" + ], + "m_7dd99545c7b9465a": [ + "src/routes/wiki.ts" + ], + "m_a76086f3a964774e": [ + "src/routes/wiki.ts" + ], + "m_567ddaca9be26ccf": [ + "src/routes/wiki.ts" + ], + "m_8cf77e328b9e3fd5": [ + "src/routes/wiki.ts" + ], + "m_5ab980c9c1944729": [ + "src/routes/wiki.ts" + ], + "m_fe999320d28a6e33": [ + "src/routes/wiki.ts" + ], + "m_c9c2979d1a731a43": [ + "src/routes/wiki.ts" + ], + "m_3c225b5dab81e41e": [ + "src/routes/wiki.ts" + ], + "m_772a58411f6b32aa": [ + "src/routes/wiki.ts" + ], + "m_66fe4041f91167e7": [ + "src/routes/wiki.ts" + ], + "m_4697cbb206bcd001": [ + "src/routes/wiki.ts" + ], + "m_e5c33435941dd968": [ + "src/routes/wiki.ts" + ], + "m_a590834403ff04d2": [ + "src/routes/wiki.ts" + ], + "m_69c48d5ef3c7e7b7": [ + "src/routes/wiki.ts" + ], + "m_2323c8119d6f7b40": [ + "src/routes/wiki.ts" + ], + "m_ca7312fc1524000c": [ + "src/routes/wiki.ts" + ], + "m_a609e669a6165e0e": [ + "src/routes/wiki.ts" + ], + "m_e25d85469623f952": [ + "src/routes/wiki.ts" + ], + "m_9790e638835f3b49": [ + "src/routes/wiki.ts" + ], + "m_6206229d5de21b9e": [ + "src/routes/wiki.ts" + ], + "m_36cc21da55740f49": [ + "src/routes/wiki.ts" + ], + "m_b63a71af73aa0837": [ + "src/routes/wiki.ts" + ], + "m_cbbdcb2f01aedaab": [ + "src/routes/wiki.ts" + ], + "m_b1f6cde79fe3fca2": [ + "src/routes/wiki.ts" + ], + "m_4d4c034f6c37b1d0": [ + "src/routes/wiki.ts" + ], + "m_4a61f034d4152aff": [ + "src/routes/wiki.ts" + ], + "m_7a2806b0cfd17e0a": [ + "src/routes/wiki.ts" + ], + "m_4c5dca363464e2a6": [ + "src/routes/wiki.ts" + ], + "m_e70d17b58f103f70": [ + "src/routes/wiki.ts" + ], + "m_826b173fe2bfd9ac": [ + "src/routes/wiki.ts" + ], + "m_918680ab7a28d0f4": [ + "src/routes/wiki.ts" + ], + "m_e00459f8f04acf8c": [ + "src/routes/wiki.ts" + ], + "m_9bfb76dd02724174": [ + "src/routes/wiki.ts" + ], + "m_d8bb21ed9e6766af": [ + "src/routes/wiki.ts" + ], + "m_ee3e2ffbe2672de0": [ + "src/routes/wiki.ts" + ], + "m_a6f7aebbe3ff6dac": [ + "src/routes/wiki.ts" + ], + "m_725313817e6868e1": [ + "src/routes/wiki.ts" + ], + "m_81f288da43a4b5c1": [ + "src/routes/wiki.ts" + ], + "m_112590efded576b3": [ + "src/routes/wiki.ts" + ], + "m_d68556d83b4740cc": [ + "src/routes/wiki.ts" + ], + "m_23bfa329b67f47c1": [ + "src/routes/wiki.ts" + ], + "m_b00b078e851ea38a": [ + "src/routes/wiki.ts" + ], + "m_a536da90de2fa925": [ + "src/routes/wiki.ts" + ], + "m_03fac0a43f3c4117": [ + "src/routes/wiki.ts" + ], + "m_d7cc4181206e07c5": [ + "src/utils/aiParser.ts" + ], + "m_29ee1bb7ff289989": [ + "src/utils/aiParser.ts" + ], + "m_34fbc55c71b14896": [ + "src/utils/aiParser.ts" + ], + "m_3075d7f4fd31df20": [ + "src/utils/analytics.ts" + ], + "m_5c438cfbb32c4572": [ + "src/utils/announcements.ts" + ], + "m_2590befdd9c53728": [ + "src/utils/editAcl.ts" + ], + "m_a214f4e99cfabb73": [ + "src/utils/editAcl.ts" + ], + "m_362bdd480752283f": [ + "src/utils/editAcl.ts" + ], + "m_9d4fd22b0ba7de07": [ + "src/utils/mapDocument.ts" + ], + "m_c91d28281a05b57c": [ + "src/utils/mapDocument.ts" + ], + "m_9586b90d1ce240a7": [ + "src/utils/mapDocument.ts" + ], + "m_fd0e3f3f3a64131f": [ + "src/utils/mapDocument.ts" + ], + "m_957d05ddf3e36ede": [ + "src/utils/mapDocument.ts" + ], + "m_2fd9e7d411752b46": [ + "src/utils/mcpDispatch.ts" + ], + "m_f467a4024cb27ee2": [ + "src/utils/mcpDispatch.ts" + ], + "m_3a303b18f9b646c2": [ + "src/utils/mcpDispatch.ts" + ], + "m_b101f92f6c467d74": [ + "src/utils/mcpDispatch.ts" + ], + "m_e1655b60987cbfd4": [ + "src/utils/mcpDispatch.ts" + ], + "m_783d60738fd55f9d": [ + "src/utils/mcpDispatch.ts" + ], + "m_fd305f0b56565a13": [ + "src/utils/mcpDispatch.ts" + ], + "m_7466ca263ca1b8e0": [ + "src/utils/mcpDispatch.ts" + ], + "m_bda397fc5b2a3711": [ + "src/utils/mcpDispatch.ts" + ], + "m_5360cddf64b641a4": [ + "src/utils/mcpDispatch.ts" + ], + "m_d8628e79d9242ca8": [ + "src/utils/mcpDispatch.ts" + ], + "m_117bcb3a4635e6ec": [ + "src/utils/mcpDispatch.ts" + ], + "m_6268e49bf3392fd2": [ + "src/utils/mcpDispatch.ts" + ], + "m_6f58d16cf7366f57": [ + "src/utils/mcpDispatch.ts" + ], + "m_e01a35a4bdb5e329": [ + "src/utils/mcpDispatch.ts" + ], + "m_2a34a83055a956d0": [ + "src/utils/mcpDispatch.ts" + ], + "m_f48db6e7d1b019e2": [ + "src/utils/mcpDispatch.ts" + ], + "m_dfc10bcd0c19ab35": [ + "src/utils/mcpDispatch.ts" + ], + "m_ee5600524374a4b0": [ + "src/utils/mcpDispatch.ts" + ], + "m_519be1bbef197558": [ + "src/utils/mcpDispatch.ts" + ], + "m_7d3cb0c9eecf0798": [ + "src/utils/mcpDispatch.ts" + ], + "m_5455a9d896a17ebe": [ + "src/utils/mcpDispatch.ts" + ], + "m_1f0e3b8c7cb34e46": [ + "src/utils/mcpDispatch.ts" + ], + "m_be6ca15da180391b": [ + "src/utils/mcpDispatch.ts" + ], + "m_7b1b4061a9d93728": [ + "src/utils/mcpDispatch.ts" + ], + "m_f5d76cd0078d3708": [ + "src/utils/mcpDispatch.ts" + ], + "m_a03e8ae307459459": [ + "src/utils/mcpDispatch.ts" + ], + "m_7e31d414de4babd4": [ + "src/utils/mcpDispatch.ts" + ], + "m_a2bfebb02edf8fad": [ + "src/utils/mcpDispatch.ts" + ], + "m_4c4a27420a7aacaf": [ + "src/utils/mcpDispatch.ts" + ], + "m_be7ce819a1d2eec9": [ + "src/utils/mcpDispatch.ts" + ], + "m_2a0a4a92c35e6110": [ + "src/utils/mcpDispatch.ts" + ], + "m_909a66569c8d31a8": [ + "src/utils/mcpDispatch.ts" + ], + "m_b9aa91f27eb4194c": [ + "src/utils/mcpDispatch.ts" + ], + "m_7324061da6dacbb7": [ + "src/utils/mcpDispatch.ts" + ], + "m_ad994dbc23c4c990": [ + "src/utils/mcpDispatch.ts" + ], + "m_639d520572cd50f7": [ + "src/utils/mcpDispatch.ts" + ], + "m_baa7da4dc29d1bde": [ + "src/utils/mcpDispatch.ts" + ], + "m_2c2360ccdb1288bf": [ + "src/utils/mcpDispatch.ts" + ], + "m_1c5ac590ca42742f": [ + "src/utils/mcpDispatch.ts" + ], + "m_9d55cf684346d177": [ + "src/utils/mcpDispatch.ts" + ], + "m_526e538baffd5c3a": [ + "src/utils/mcpDispatch.ts" + ], + "m_73d79401118b9f44": [ + "src/utils/mcpDispatch.ts" + ], + "m_d9ffd0b16262fc2b": [ + "src/utils/mcpDispatch.ts" + ], + "m_b33174b918700b9b": [ + "src/utils/mcpDispatch.ts" + ], + "m_cbffdc5c8d59c830": [ + "src/utils/mcpDispatch.ts" + ], + "m_757d8d1e4210db88": [ + "src/utils/mcpDispatch.ts" + ], + "m_aa2b1fba52dee466": [ + "src/utils/mcpDispatch.ts" + ], + "m_f8ac6d1e08a80948": [ + "src/utils/mcpDispatch.ts" + ], + "m_03e894d94ff38499": [ + "src/utils/mcpDispatch.ts" + ], + "m_e6dc125b6303f6e8": [ + "src/utils/mcpDispatch.ts" + ], + "m_f89f48c07ea32b06": [ + "src/utils/mcpDispatch.ts" + ], + "m_906675307ca26a8a": [ + "src/utils/mcpDispatch.ts" + ], + "m_0ea92e2a21f5d480": [ + "src/utils/mcpDispatch.ts" + ], + "m_8ffbe10218de0ebf": [ + "src/utils/mcpDispatch.ts" + ], + "m_0169b14d9e0774bd": [ + "src/utils/mcpDispatch.ts" + ], + "m_516b6531ac86d0c6": [ + "src/utils/mcpDispatch.ts" + ], + "m_c73abcd53e225fb1": [ + "src/utils/mcpDispatch.ts" + ], + "m_8c306ae2749ce518": [ + "src/utils/mcpDispatch.ts" + ], + "m_7fa8a1e0dbc5c616": [ + "src/utils/mcpDispatch.ts" + ], + "m_6609e2b894160aca": [ + "src/utils/mcpDispatch.ts" + ], + "m_3c8aaba9778dff5f": [ + "src/utils/mcpDispatch.ts" + ], + "m_6d994f307ce24bc5": [ + "src/utils/mcpDispatch.ts" + ], + "m_c024e5d390be2e9d": [ + "src/utils/mcpDispatch.ts" + ], + "m_73837db939871074": [ + "src/utils/mcpDispatch.ts" + ], + "m_7caa694effdba08e": [ + "src/utils/mcpDispatch.ts" + ], + "m_f74b6c1d51b564ad": [ + "src/utils/mcpDispatch.ts" + ], + "m_4330b1647ece8efb": [ + "src/utils/mcpDispatch.ts" + ], + "m_76e10614f8d4e406": [ + "src/utils/mcpDispatch.ts" + ], + "m_f9e850c4ce13164f": [ + "src/utils/mcpDispatch.ts" + ], + "m_7a637fcd3a575c69": [ + "src/utils/mcpDispatch.ts" + ], + "m_ecdb75297ff61dac": [ + "src/utils/mcpDispatch.ts" + ], + "m_f046f1182d1ba03d": [ + "src/utils/mcpDispatch.ts" + ], + "m_98b7a2103a408bb5": [ + "src/utils/mcpDispatch.ts" + ], + "m_32865686a43ee5c7": [ + "src/utils/mcpDraftApply.ts" + ], + "m_1747995f753a201c": [ + "src/utils/mcpDraftApply.ts" + ], + "m_24851445d7e308d5": [ + "src/utils/mcpDraftApply.ts" + ], + "m_15b5eab43f6782bb": [ + "src/utils/mcpDraftApply.ts" + ], + "m_3cb04c545466a1f2": [ + "src/utils/mcpDraftApply.ts" + ], + "m_ecee15dca2358682": [ + "src/utils/mcpDraftApply.ts" + ], + "m_610d40599b80cbb8": [ + "src/utils/mcpDraftApply.ts" + ], + "m_322e63282d28faa3": [ + "src/utils/mcpDraftApply.ts" + ], + "m_56686db518ce8807": [ + "src/utils/mcpDraftApply.ts" + ], + "m_428b5a484acfe97a": [ + "src/utils/mcpDraftApply.ts" + ], + "m_1b5dd20687b6eeb9": [ + "src/utils/mcpDraftApply.ts" + ], + "m_1509a20063ffedfe": [ + "src/utils/pagePipeline/notifyWatchers.ts" + ], + "m_d9563d9a89a9d444": [ + "src/utils/r2.ts" + ], + "m_7171d3c73f9f2ea5": [ + "src/utils/webhook/events/blog.ts" + ], + "m_74b380ce1d5f53bf": [ + "src/utils/webhook/events/discussion.ts" + ], + "m_b329efb40b330ac6": [ + "src/utils/webhook/events/discussion.ts" + ], + "m_06feb699074d9c32": [ + "src/utils/webhook/events/discussion.ts" + ], + "m_a197030ed96f7990": [ + "src/utils/webhook/events/pendingEdit.ts" + ], + "m_b2792dcfacf6f071": [ + "src/utils/webhook/events/pendingEdit.ts" + ], + "m_028e9f3e58511e35": [ + "src/utils/webhook/events/pendingEdit.ts" + ], + "m_c260160bdcbc43b7": [ + "src/utils/webhook/events/pendingEdit.ts" + ], + "m_4d07a4b5339c6e9d": [ + "src/utils/webhook/events/signup.ts" + ], + "m_59802849b7e95cc3": [ + "src/utils/webhook/events/signup.ts" + ], + "m_9990d458ebd03b13": [ + "src/utils/webhook/events/signup.ts" + ], + "m_3b7dbc4c0c4cebca": [ + "src/utils/webhook/events/signup.ts" + ], + "m_b84abfbe481c6010": [ + "src/utils/webhook/events/signup.ts" + ], + "m_9cd880d519c81b65": [ + "src/utils/webhook/events/signup.ts" + ], + "m_ab9442a23e772cce": [ + "src/utils/webhook/events/signup.ts", + "src/utils/webhook/events/user.ts" + ], + "m_f722391e108aee57": [ + "src/utils/webhook/events/signup.ts" + ], + "m_fc9929c6d6a254fb": [ + "src/utils/webhook/events/signup.ts" + ], + "m_67f12481a97255e5": [ + "src/utils/webhook/events/signup.ts" + ], + "m_31b3cbb904761ba4": [ + "src/utils/webhook/events/signup.ts" + ], + "m_8c609debc12c2cd0": [ + "src/utils/webhook/events/superAdmin.ts" + ], + "m_d2f2951a69fd7b43": [ + "src/utils/webhook/events/superAdmin.ts" + ], + "m_050d981c6c43cdfb": [ + "src/utils/webhook/events/ticket.ts" + ], + "m_6d7c36a0f5e096ea": [ + "src/utils/webhook/events/ticket.ts" + ], + "m_b918d5af77b8733a": [ + "src/utils/webhook/events/user.ts" + ], + "m_32c11dd4e0e62147": [ + "src/utils/webhook/events/user.ts" + ], + "m_0bcae653387614f2": [ + "src/utils/webhook/events/user.ts" + ], + "m_9d4b0e23e6fe6cc9": [ + "src/utils/webhook/events/user.ts" + ], + "m_1d080437d8462ce9": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_28fa29ac1fa6e31c": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_541d1ddb952f8fbf": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_9926395d3d8baa1b": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_0531b5486f1b8a48": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_4a131f6944f28a0e": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_3603b4581160941a": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_cedc796580c58c6b": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_7d1389c0c9a517a1": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_af9027f1a1dee91e": [ + "packages/wiki-shared/src/editor/autocomplete.ts" + ], + "m_08b17e433630742b": [ + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_e556342b438d499f": [ + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_f02b935997f88b93": [ + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_ad517c180afa0165": [ + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_b29c4d9dd8ee7fc7": [ + "packages/wiki-shared/src/editor/cm-shared.ts" + ], + "m_e92a0544c85716d0": [ + "packages/wiki-shared/src/editor/image.ts" + ], + "m_067ee424bdc93ea7": [ + "packages/wiki-shared/src/editor/image.ts" + ], + "m_6de19876d0e0a5c0": [ + "packages/wiki-shared/src/editor/image.ts" + ], + "m_e25992f8b1b64bc7": [ + "packages/wiki-shared/src/editor/utils.ts" + ], + "m_39b6b8ebbc11c8fb": [ + "packages/wiki-shared/src/render/render-presentation.ts" + ], + "m_cee3585ff1175382": [ + "packages/wiki-shared/src/server/bearerAuth.ts" + ], + "m_a9cc4e895f5a5a91": [ + "packages/wiki-shared/src/server/bearerAuth.ts" + ], + "m_605a25cfb239ed2d": [ + "packages/wiki-shared/src/server/bearerAuth.ts" + ], + "m_4441b4b45947e726": [ + "packages/wiki-shared/src/server/bearerAuth.ts" + ], + "m_cd7e9dbe5eec7bd9": [ + "packages/wiki-shared/src/server/bearerAuth.ts" + ], + "m_a7b4e9ad19b36f5f": [ + "packages/wiki-shared/src/server/bearerAuth.ts" + ], + "m_1035a5731b39d432": [ + "packages/wiki-shared/src/ui/ui-state.ts" + ], + "m_ede110c10283e660": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/error.html", + "public/explore.html", + "public/index.html", + "public/login.html", + "public/memo.html", + "public/mypage.html", + "public/qr-login.html", + "public/revisions.html", + "public/search.html", + "public/setup-profile.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_dbb0975319beff08": [ + "public/admin-bulk-manage.html" + ], + "m_d707dc2f1936efd8": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_6d5f194bd1f65df5": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_4b6ded8a7f181397": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_5a2cac68fd2d63f9": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_3ab8cc15939f3b5c": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_748ae6920776e7c8": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_568090ece66761ee": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_adca3cc3b4abafe1": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_f7849180cb1922d6": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_44ce7ae909bbb28b": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_788db1cfec2a3db5": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_13e9677c46dd462e": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_7eb336e42cb5076b": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_a6b75d0680322a61": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_aa0819dfc4d8d782": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_2b04e420a8e524a0": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_5338c32ac42a3982": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_da01bc4680e49184": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_7a03f9cb9815cec5": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_2d77140f7472707b": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_3c53ceb38084dc53": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_b4b70b0bf9b0e712": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_426c84c165d1b6ea": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_ce8cbab05fabe86b": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_a6e1330f8bfebce6": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_04b82dd5a6493f28": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_bb5719813af6fb85": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_8da97ddda990e7c4": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_9123c48619df4f36": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_6119857da8126b85": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_d7eb74eed17234ef": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_8a2264e4cd9205ed": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_f8a58910208de2f6": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_4d8359117de6b0ed": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/header.html", + "public/components-json-builder.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_cc11b6991e2855d2": [ + "public/admin-bulk-manage.html", + "public/admin-media.html" + ], + "m_fc19a3d028718a11": [ + "public/admin-bulk-manage.html" + ], + "m_8fe93aa85a945d5f": [ + "public/admin-bulk-manage.html" + ], + "m_2a766088ff30b652": [ + "public/admin-bulk-manage.html" + ], + "m_341c70582918ad93": [ + "public/admin-bulk-manage.html" + ], + "m_d90f64d83741d035": [ + "public/admin-bulk-manage.html" + ], + "m_9fce45c3d25c4d8d": [ + "public/admin-bulk-manage.html" + ], + "m_9b92259f6104e24f": [ + "public/admin-bulk-manage.html" + ], + "m_5d5b3fad865d8406": [ + "public/admin-bulk-manage.html" + ], + "m_b94f2785f419e16b": [ + "public/admin-bulk-manage.html" + ], + "m_7f0c8db43ecdee2d": [ + "public/admin-bulk-manage.html" + ], + "m_99eb8b2f9137da47": [ + "public/admin-bulk-manage.html" + ], + "m_10ca1ba62df99ad1": [ + "public/admin-bulk-manage.html" + ], + "m_a49d6a13055e6066": [ + "public/admin-bulk-manage.html" + ], + "m_ca4d973c0b006b75": [ + "public/admin-bulk-manage.html" + ], + "m_7c9691192f1b7340": [ + "public/admin-bulk-manage.html" + ], + "m_deee0366ae74a548": [ + "public/admin-bulk-manage.html" + ], + "m_b28c3e0e3c7775bd": [ + "public/admin-bulk-manage.html" + ], + "m_55b50381eddb8e75": [ + "public/admin-bulk-manage.html" + ], + "m_88d72ece7cf76737": [ + "public/admin-bulk-manage.html", + "public/search.html" + ], + "m_b85dd88a4847bc85": [ + "public/admin-bulk-manage.html" + ], + "m_12ec1053141de7ea": [ + "public/admin-bulk-manage.html" + ], + "m_47500d89a4611fad": [ + "public/admin-bulk-manage.html" + ], + "m_3accad1e4fdfe5fc": [ + "public/admin-bulk-manage.html" + ], + "m_564ea28e954e9fc6": [ + "public/admin-bulk-manage.html" + ], + "m_bf603c449cd875a7": [ + "public/admin-bulk-manage.html" + ], + "m_375745740097d3a9": [ + "public/admin-bulk-manage.html" + ], + "m_7d37f059645bf210": [ + "public/admin-bulk-manage.html" + ], + "m_c844f617fc30ff08": [ + "public/admin-bulk-manage.html" + ], + "m_1234d505d6f6c48d": [ + "public/admin-bulk-manage.html" + ], + "m_0470be950ae2efcd": [ + "public/admin-bulk-manage.html" + ], + "m_7763d011712b2557": [ + "public/admin-bulk-manage.html" + ], + "m_8f26c4d7bea556e2": [ + "public/admin-bulk-manage.html" + ], + "m_1d66d95bcaeed7ee": [ + "public/admin-bulk-manage.html" + ], + "m_a4dcaa5ce7c06638": [ + "public/admin-bulk-manage.html" + ], + "m_dcb06beb51a409a5": [ + "public/admin-bulk-manage.html" + ], + "m_f43745adf1bfb2c6": [ + "public/admin-bulk-manage.html" + ], + "m_7d9eb7acb13e2462": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/all.html", + "public/blog.html", + "public/components/sidebar.html", + "public/discussions.html", + "public/explore.html", + "public/index.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_933d10d7a714ea8e": [ + "public/admin-bulk-manage.html", + "public/admin-media.html", + "public/admin.html", + "public/all.html", + "public/blog-edit.html", + "public/blog.html", + "public/components/footer.html", + "public/components/sidebar.html", + "public/discussions.html", + "public/edit.html", + "public/explore.html", + "public/index.html", + "public/memo.html", + "public/mypage.html", + "public/revisions.html", + "public/search.html", + "public/tickets.html", + "public/user-profile.html" + ], + "m_3136a9bf2ac92e5a": [ + "public/admin-media.html" + ], + "m_07c502db4218d64a": [ + "public/admin-media.html" + ], + "m_11517afb9a8e86c0": [ + "public/admin-media.html" + ], + "m_174a870d266c7cbe": [ + "public/admin-media.html" + ], + "m_be99a7d5edb04aec": [ + "public/admin-media.html" + ], + "m_3a5040b68abf75f9": [ + "public/admin-media.html" + ], + "m_f4d4bae588c4c0ff": [ + "public/admin-media.html" + ], + "m_435bf8a234fde6f2": [ + "public/admin-media.html" + ], + "m_5b75727ad998857a": [ + "public/admin-media.html" + ], + "m_9743941279196582": [ + "public/admin-media.html", + "public/all.html" + ], + "m_30a8548b78af84c7": [ + "public/admin-media.html", + "public/all.html" + ], + "m_ce4e4486ec3b6b54": [ + "public/admin-media.html" + ], + "m_e15b17b1dfa9a6e1": [ + "public/admin-media.html" + ], + "m_6634a3b81a71fa77": [ + "public/admin-media.html", + "public/all.html" + ], + "m_6cf3b5b26a784642": [ + "public/admin-media.html", + "public/all.html" + ], + "m_afaf8211b1d89bf3": [ + "public/admin-media.html" + ], + "m_a03f30e8d07385a2": [ + "public/admin-media.html" + ], + "m_a49a58dc4b4807f8": [ + "public/admin-media.html" + ], + "m_5550a6bd11600976": [ + "public/admin-media.html" + ], + "m_7b4fa8d66e9ee056": [ + "public/admin.html" + ], + "m_e19796712f1cf0de": [ + "public/admin.html" + ], + "m_ce0401430697ef8c": [ + "public/admin.html" + ], + "m_0853bf3c01440ea8": [ + "public/admin.html" + ], + "m_fbf413d429bd168a": [ + "public/admin.html" + ], + "m_c7253a80c714ac17": [ + "public/admin.html" + ], + "m_68ea5dd4d7af20e6": [ + "public/admin.html" + ], + "m_d3e3bdceefb587dd": [ + "public/admin.html" + ], + "m_9a4abb1987b0928f": [ + "public/admin.html" + ], + "m_572cf45ba43634b3": [ + "public/admin.html", + "public/error.html", + "public/search.html" + ], + "m_34bcac5d7a5cae34": [ + "public/admin.html" + ], + "m_9ca3e347bd2a255a": [ + "public/admin.html", + "public/tickets.html" + ], + "m_294be43d38b2c379": [ + "public/admin.html" + ], + "m_fbbbc44e26ab529e": [ + "public/admin.html" + ], + "m_362098b02d0244bd": [ + "public/admin.html" + ], + "m_65945e3e2adf2d95": [ + "public/admin.html" + ], + "m_b0cc8a500342168e": [ + "public/admin.html" + ], + "m_8e91da667e83d3f8": [ + "public/admin.html" + ], + "m_629ce27ad4e60622": [ + "public/admin.html" + ], + "m_4fc3b101446ed72b": [ + "public/admin.html" + ], + "m_02f9a8a28719b423": [ + "public/admin.html" + ], + "m_7bf25421c6df4ad7": [ + "public/admin.html" + ], + "m_b42cb548c1d411c9": [ + "public/admin.html" + ], + "m_f098218a3032a625": [ + "public/admin.html" + ], + "m_ca0ea64115782e55": [ + "public/admin.html" + ], + "m_fa2ff3c379a7c988": [ + "public/admin.html", + "public/explore.html", + "public/mypage.html" + ], + "m_dd0a97ab3653fa82": [ + "public/admin.html" + ], + "m_b94d13a45ea21152": [ + "public/admin.html" + ], + "m_a98585871c5313ff": [ + "public/admin.html" + ], + "m_73075237fd0f05f0": [ + "public/admin.html" + ], + "m_6320b4a8722a851f": [ + "public/admin.html" + ], + "m_ed31fbb483ee1b0a": [ + "public/admin.html" + ], + "m_af90a08fec8ee28d": [ + "public/admin.html", + "public/tickets.html" + ], + "m_f847b9e2149b50a9": [ + "public/admin.html" + ], + "m_793615f433522e6f": [ + "public/admin.html" + ], + "m_25e4e2328dfe83e5": [ + "public/admin.html" + ], + "m_08a7d8daed8f815c": [ + "public/admin.html" + ], + "m_454b597653f5ab37": [ + "public/admin.html" + ], + "m_d44e9b3d3b31d37b": [ + "public/admin.html" + ], + "m_978cbca6265d1af2": [ + "public/admin.html" + ], + "m_4adc34616f3c900b": [ + "public/admin.html" + ], + "m_bb6d995724f49a72": [ + "public/admin.html" + ], + "m_66af625922befced": [ + "public/admin.html" + ], + "m_78bed30c40562a34": [ + "public/admin.html" + ], + "m_cb5d682bac3d1a2d": [ + "public/admin.html", + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/search.html", + "public/tickets.html" + ], + "m_8812b1cd0781889a": [ + "public/admin.html" + ], + "m_b0d53c3b5c4c7a4c": [ + "public/admin.html" + ], + "m_f7ee4c424f60cc9f": [ + "public/admin.html" + ], + "m_86aba51cf707a19f": [ + "public/admin.html" + ], + "m_7953ecf86928f6fb": [ + "public/admin.html" + ], + "m_4022782076906ec4": [ + "public/admin.html" + ], + "m_80c25621f2448b18": [ + "public/admin.html" + ], + "m_24bca5777f0575f6": [ + "public/admin.html" + ], + "m_2de8816f4704cf54": [ + "public/admin.html" + ], + "m_3a2ee02a29524d71": [ + "public/admin.html" + ], + "m_109aba135893a2a3": [ + "public/admin.html" + ], + "m_1b826effed73f4a6": [ + "public/admin.html" + ], + "m_22f91403b63f6ba4": [ + "public/admin.html" + ], + "m_a1a6fd3507394097": [ + "public/admin.html" + ], + "m_56e7a92d37385a63": [ + "public/admin.html" + ], + "m_1fc8555df8c66537": [ + "public/admin.html" + ], + "m_aa1cbd60d03356f8": [ + "public/admin.html" + ], + "m_919090e0bf9f04a9": [ + "public/admin.html" + ], + "m_d31a4d6bad47bfcc": [ + "public/admin.html" + ], + "m_f21ef4aba5ab4e55": [ + "public/admin.html" + ], + "m_19f7a4ea878d5964": [ + "public/admin.html" + ], + "m_568e8ffdd040007f": [ + "public/admin.html" + ], + "m_94d2bd014dfd31ba": [ + "public/admin.html" + ], + "m_65900e469fbff6dd": [ + "public/admin.html" + ], + "m_dbcd5e7bb7a0f538": [ + "public/admin.html" + ], + "m_60acc53f13a5d1bf": [ + "public/admin.html" + ], + "m_21bd738e0d7191a7": [ + "public/admin.html" + ], + "m_aeb5764c745369df": [ + "public/admin.html" + ], + "m_05cf32f81ceb6098": [ + "public/admin.html" + ], + "m_3031747ae2bd249a": [ + "public/admin.html" + ], + "m_37d9c73375dc7a44": [ + "public/admin.html" + ], + "m_4e222e2a6cbb4040": [ + "public/admin.html" + ], + "m_517e33f50a4f457f": [ + "public/admin.html" + ], + "m_8b5794a39cd7c3c5": [ + "public/admin.html" + ], + "m_d78a6a9cd0304a66": [ + "public/admin.html", + "public/blog.html" + ], + "m_305378ddd2b86b60": [ + "public/admin.html", + "public/components-json-builder.html" + ], + "m_e8ff4d335dee5d55": [ + "public/admin.html" + ], + "m_83163278a6592c52": [ + "public/admin.html" + ], + "m_cfc8cd209fe2a722": [ + "public/admin.html" + ], + "m_0f6675c094dab042": [ + "public/admin.html" + ], + "m_a9a545aee2d2f6ac": [ + "public/admin.html" + ], + "m_e06b63bd4fe302fd": [ + "public/admin.html" + ], + "m_727f0e041be74148": [ + "public/admin.html" + ], + "m_e816a12c29775a4e": [ + "public/admin.html" + ], + "m_ee239f3943293f87": [ + "public/admin.html", + "public/blog-edit.html", + "public/edit.html" + ], + "m_5cea9b8ab0708590": [ + "public/admin.html" + ], + "m_1da0ccf3d059c6ee": [ + "public/admin.html" + ], + "m_04f83ab519b2acda": [ + "public/admin.html" + ], + "m_ccfa3209cd2cdff7": [ + "public/admin.html" + ], + "m_198a9a5357181c54": [ + "public/admin.html" + ], + "m_bbd302e659bae8a0": [ + "public/admin.html" + ], + "m_e5ff4a67571b7ba4": [ + "public/admin.html" + ], + "m_53063ebc6df404bd": [ + "public/admin.html" + ], + "m_4c744fdbd8a71ae1": [ + "public/admin.html" + ], + "m_9b1a7ebabfc59142": [ + "public/admin.html" + ], + "m_2e4efdf119a31cac": [ + "public/admin.html" + ], + "m_170c6b52b88441a5": [ + "public/admin.html" + ], + "m_7e1c59dde29ccbfc": [ + "public/admin.html" + ], + "m_39ba020943ebbc5c": [ + "public/admin.html", + "public/components-json-builder.html" + ], + "m_712943d8cd52f7ec": [ + "public/admin.html" + ], + "m_67c9030df1b27107": [ + "public/admin.html" + ], + "m_c8550237ba701f64": [ + "public/admin.html" + ], + "m_335943d9bd78e53b": [ + "public/admin.html" + ], + "m_085215f75afda280": [ + "public/admin.html" + ], + "m_a950af1d5f31c41d": [ + "public/admin.html" + ], + "m_303757e930545121": [ + "public/admin.html" + ], + "m_63d90d977348ab1f": [ + "public/admin.html", + "public/components-json-builder.html", + "public/memo.html", + "public/mypage.html" + ], + "m_ff3790a87c0a0775": [ + "public/admin.html" + ], + "m_aee88743413144a2": [ + "public/admin.html" + ], + "m_cdc65d40899ab1dd": [ + "public/admin.html" + ], + "m_89d9db257f9c2dbf": [ + "public/admin.html" + ], + "m_4c9a220ed148a7e9": [ + "public/admin.html" + ], + "m_8027f8ca48863bba": [ + "public/admin.html" + ], + "m_a05ccf093c91cb2a": [ + "public/admin.html" + ], + "m_c636d975abd1f51a": [ + "public/admin.html" + ], + "m_262630ed44685da3": [ + "public/admin.html" + ], + "m_77e1ea5c5688eea4": [ + "public/admin.html" + ], + "m_0b9157354ab262ae": [ + "public/admin.html" + ], + "m_06f7d73412128f50": [ + "public/admin.html" + ], + "m_88d7fcd8d7de0e70": [ + "public/admin.html" + ], + "m_c0d32ad56b14db88": [ + "public/admin.html" + ], + "m_0673748321d78a32": [ + "public/admin.html" + ], + "m_4b414e789934c4ff": [ + "public/admin.html" + ], + "m_267c4a7a86dd1849": [ + "public/admin.html" + ], + "m_804fb8e4ccb55940": [ + "public/admin.html" + ], + "m_7b6b1944a52d4cf5": [ + "public/admin.html" + ], + "m_aa4e74c672848368": [ + "public/admin.html" + ], + "m_6800c353c9e55b1b": [ + "public/admin.html" + ], + "m_17131d16839d5aa7": [ + "public/admin.html" + ], + "m_063326a7a1561189": [ + "public/admin.html" + ], + "m_c6f37061bf42d40c": [ + "public/admin.html" + ], + "m_8fecb2f55251d4a6": [ + "public/admin.html" + ], + "m_85c00334976622a9": [ + "public/admin.html" + ], + "m_c6c8db783b56b86a": [ + "public/admin.html" + ], + "m_9f4f960bb8b06af3": [ + "public/admin.html" + ], + "m_d89a000da895d46b": [ + "public/admin.html" + ], + "m_5818ad0db46d8259": [ + "public/admin.html" + ], + "m_5c50530777ed9773": [ + "public/admin.html" + ], + "m_5957c5e9b39d332b": [ + "public/admin.html" + ], + "m_83417580a935ca2f": [ + "public/admin.html" + ], + "m_8b6ff498515bcc2f": [ + "public/admin.html" + ], + "m_ba40014ff496f64e": [ + "public/admin.html" + ], + "m_3f4e5426e6a9667f": [ + "public/admin.html" + ], + "m_afc8f822ddc2a301": [ + "public/admin.html", + "public/blog.html", + "public/components-json-builder.html" + ], + "m_2b6813572c27a663": [ + "public/admin.html", + "public/blog.html", + "public/components-json-builder.html" + ], + "m_faab0dc4735c1cfe": [ + "public/admin.html", + "public/blog.html", + "public/components-json-builder.html" + ], + "m_86995a1b96fcd346": [ + "public/admin.html", + "public/blog.html", + "public/components-json-builder.html" + ], + "m_9be2a4bf979ffcc9": [ + "public/admin.html", + "public/blog.html", + "public/components-json-builder.html" + ], + "m_9ea3c456343fe9ea": [ + "public/admin.html", + "public/blog-edit.html", + "public/blog.html", + "public/components-json-builder.html", + "public/edit.html", + "public/memo.html" + ], + "m_1e0b298652261fa0": [ + "public/admin.html", + "public/blog-edit.html", + "public/blog.html", + "public/components-json-builder.html", + "public/edit.html", + "public/memo.html" + ], + "m_62e0407d3d23ffd0": [ + "public/all.html" + ], + "m_393a2482464f881c": [ + "public/all.html", + "public/explore.html" + ], + "m_386d3809ccaab512": [ + "public/all.html" + ], + "m_bdb3fee384c86c0d": [ + "public/all.html" + ], + "m_16bde868b9e63f6e": [ + "public/all.html" + ], + "m_5cf21e0983a11338": [ + "public/all.html" + ], + "m_a691b28b8f352e35": [ + "public/all.html" + ], + "m_2fea6887f9992c48": [ + "public/all.html" + ], + "m_46391bc8cc3d46a0": [ + "public/all.html" + ], + "m_e25626f1af29dbef": [ + "public/all.html" + ], + "m_bc25ffdd4eeb42ec": [ + "public/all.html", + "public/explore.html" + ], + "m_9182894875d7d167": [ + "public/all.html", + "public/explore.html" + ], + "m_422a52cc9ddd50e6": [ + "public/all.html" + ], + "m_1f5e08348dd1d87e": [ + "public/all.html" + ], + "m_ca905de61fbd2986": [ + "public/all.html" + ], + "m_391fa021267f1dae": [ + "public/all.html" + ], + "m_43e8d46175790b16": [ + "public/all.html", + "public/blog.html", + "public/explore.html", + "public/index.html", + "public/revisions.html" + ], + "m_00bd3960fea8ea98": [ + "public/all.html", + "public/blog.html", + "public/explore.html", + "public/index.html", + "public/revisions.html" + ], + "m_58178ba689c2eead": [ + "public/all.html", + "public/blog.html", + "public/explore.html", + "public/index.html", + "public/revisions.html", + "public/search.html" + ], + "m_f95e454c28b7e17d": [ + "public/blog-edit.html" + ], + "m_88d91fa49b2c19a9": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_9dc0825fba5422e4": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_dc92ca6be7ef747c": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_ebd11b2cabe9972c": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_08cc2cac91a65892": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_369b82fa0700db02": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_4171421030a69398": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_be6d37351abba0f9": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_c430f4c12eaa146a": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_d1378a68e620b1cc": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_2961168962be301a": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_e9d3b01a5a00f1af": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_572388f3b096b817": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_f9aa11dbb15ce647": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_74cd9e84af49dc71": [ + "public/blog-edit.html", + "public/edit.html", + "public/memo.html" + ], + "m_397c5d2dde1f3a79": [ + "public/blog-edit.html" + ], + "m_a1b406f82efc3814": [ + "public/blog-edit.html" + ], + "m_1737d8802b708474": [ + "public/blog-edit.html", + "public/edit.html", + "public/memo.html" + ], + "m_bd1f3f02b0950a95": [ + "public/blog-edit.html", + "public/edit.html", + "public/index.html", + "public/memo.html" + ], + "m_b84795fdfa079d3d": [ + "public/blog-edit.html", + "public/edit.html", + "public/index.html", + "public/memo.html" + ], + "m_a9126274b61a2366": [ + "public/blog-edit.html", + "public/edit.html", + "public/index.html", + "public/memo.html" + ], + "m_bc5b83eddbe9465e": [ + "public/blog-edit.html", + "public/edit.html" + ], + "m_9393fa8872d201c0": [ + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_55a6f0a582b4f5b9": [ + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_5a2a4223e38b105b": [ + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_104b0e8a6eca3728": [ + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_82751aa3ca5f5a4e": [ + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_76709ce82501d0c2": [ + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_37b5a36966aeab63": [ + "public/blog-edit.html", + "public/discussions.html", + "public/edit.html", + "public/memo.html", + "public/tickets.html" + ], + "m_54d223f23d5de184": [ + "public/blog.html" + ], + "m_2bb95a729d4bb468": [ + "public/blog.html", + "public/components/footer.html", + "public/components/header.html", + "public/components/sidebar.html", + "public/index.html", + "public/login.html" + ], + "m_202cc44b7a897f31": [ + "public/blog.html" + ], + "m_e5fce40a463b69c1": [ + "public/blog.html" + ], + "m_d953523a3646e792": [ + "public/blog.html" + ], + "m_0830771df3e6da3c": [ + "public/blog.html" + ], + "m_ef0dca055914e62c": [ + "public/blog.html" + ], + "m_7e564575eb7d5eb2": [ + "public/blog.html", + "public/index.html" + ], + "m_8e86f9b1d54f2c51": [ + "public/blog.html", + "public/index.html" + ], + "m_b1f1efeb98a9d972": [ + "public/blog.html", + "public/index.html" + ], + "m_8d118670097e8a26": [ + "public/blog.html", + "public/index.html" + ], + "m_d7bfe7b5055c225a": [ + "public/blog.html", + "public/index.html" + ], + "m_61e5a71f3ca6511c": [ + "public/blog.html", + "public/index.html" + ], + "m_3a178828694315f2": [ + "public/blog.html", + "public/index.html" + ], + "m_e9d5ca6c140665da": [ + "public/blog.html", + "public/revisions.html" + ], + "m_437187bdb62716e5": [ + "public/blog.html" + ], + "m_6b1df31c2681e88b": [ + "public/blog.html" + ], + "m_d4a50c2602250e37": [ + "public/components-json-builder.html" + ], + "m_489a845ceeb31c14": [ + "public/components-json-builder.html" + ], + "m_cd40c8a1d69cdd05": [ + "public/components-json-builder.html" + ], + "m_7711db9ce00632ec": [ + "public/components-json-builder.html" + ], + "m_30dd3b467d75339a": [ + "public/components-json-builder.html" + ], + "m_670b7237b098a1e3": [ + "public/components-json-builder.html" + ], + "m_5f8f51410e680cd8": [ + "public/components-json-builder.html" + ], + "m_77b30902275257cd": [ + "public/components-json-builder.html" + ], + "m_14b69bd6eeb0839b": [ + "public/components-json-builder.html" + ], + "m_c64dd5eb2135d0ba": [ + "public/components-json-builder.html" + ], + "m_c0c2044762e6d217": [ + "public/components-json-builder.html" + ], + "m_d124c7e40548f99a": [ + "public/components-json-builder.html" + ], + "m_be0fa73996933633": [ + "public/components-json-builder.html" + ], + "m_47d4ec6c36eb0873": [ + "public/components-json-builder.html" + ], + "m_00b28fc736016af5": [ + "public/components-json-builder.html" + ], + "m_26632d0a3a310216": [ + "public/discussions.html" + ], + "m_cba95f43a12d7d78": [ + "public/discussions.html", + "public/revisions.html" + ], + "m_050b1f04e0dee903": [ + "public/discussions.html" + ], + "m_5c55a67935af8f45": [ + "public/discussions.html", + "public/tickets.html" + ], + "m_c14c915da5fbec64": [ + "public/discussions.html", + "public/tickets.html" + ], + "m_9cf5f152776decfc": [ + "public/discussions.html" + ], + "m_fc4e7c9b637515d7": [ + "public/discussions.html" + ], + "m_80c010b6e1892329": [ + "public/discussions.html" + ], + "m_b61f333b91b21f79": [ + "public/discussions.html", + "public/tickets.html" + ], + "m_0bfca7bdd2207da4": [ + "public/discussions.html", + "public/tickets.html" + ], + "m_75ff606f874424ab": [ + "public/discussions.html", + "public/tickets.html" + ], + "m_d346633d3a4e54d3": [ + "public/discussions.html", + "public/tickets.html" + ], + "m_d0234b632dcbbab5": [ + "public/edit.html" + ], + "m_e3d507e8f947433f": [ + "public/edit.html" + ], + "m_52b172658ccd1f00": [ + "public/edit.html" + ], + "m_b06a67fdb63d45e4": [ + "public/edit.html" + ], + "m_d8e0260302c1feae": [ + "public/edit.html" + ], + "m_e4aaa7fac477c6bf": [ + "public/edit.html" + ], + "m_cd8a10d781a40851": [ + "public/edit.html" + ], + "m_fd00391ec84ee73a": [ + "public/edit.html" + ], + "m_1d851edde2d1e26a": [ + "public/edit.html" + ], + "m_626f690f96179548": [ + "public/edit.html" + ], + "m_20bf5a70a1b1444f": [ + "public/edit.html" + ], + "m_ad6a950b4620d66f": [ + "public/edit.html" + ], + "m_32afaa7843336480": [ + "public/edit.html" + ], + "m_f7c58140798c4f5c": [ + "public/edit.html" + ], + "m_749fd9c60a28f34e": [ + "public/edit.html" + ], + "m_2d92ab5f3632b2eb": [ + "public/edit.html" + ], + "m_f86137ada98930bb": [ + "public/edit.html" + ], + "m_8290e2f665c2099b": [ + "public/edit.html" + ], + "m_13d61fea9f174905": [ + "public/edit.html" + ], + "m_f2861e697c38887b": [ + "public/edit.html" + ], + "m_3b0bd3302e7ec46e": [ + "public/edit.html" + ], + "m_cb61a55481561971": [ + "public/edit.html" + ], + "m_391f167958bd4583": [ + "public/edit.html" + ], + "m_26dc36277d3831fc": [ + "public/edit.html" + ], + "m_72d2bae2a744d54f": [ + "public/edit.html" + ], + "m_ee16e42cf2c52882": [ + "public/edit.html" + ], + "m_bb95998fd00570c2": [ + "public/edit.html" + ], + "m_d967118a6a467fb2": [ + "public/edit.html" + ], + "m_20955652b7c3d268": [ + "public/edit.html" + ], + "m_16f715efa9f0ba6c": [ + "public/edit.html" + ], + "m_3d5c3c3dbaca6b32": [ + "public/edit.html" + ], + "m_a67c7c8486969162": [ + "public/edit.html" + ], + "m_ac6ee8a4adcaa68a": [ + "public/edit.html" + ], + "m_a58d6f8a9aef5cd8": [ + "public/edit.html" + ], + "m_e1516325e6039440": [ + "public/edit.html" + ], + "m_5f75abc799d3a4a6": [ + "public/edit.html" + ], + "m_278a8f83ac5d0ec9": [ + "public/edit.html" + ], + "m_2ba335f099de9f54": [ + "public/edit.html" + ], + "m_3f93387bd2d962e4": [ + "public/edit.html" + ], + "m_310aa9a52377ce2a": [ + "public/edit.html" + ], + "m_47a8ff3f51364711": [ + "public/edit.html" + ], + "m_2d22af42a79f019a": [ + "public/edit.html" + ], + "m_98047b375180d8fb": [ + "public/edit.html" + ], + "m_303561cc374355bf": [ + "public/edit.html" + ], + "m_88168f37ced26d1c": [ + "public/edit.html" + ], + "m_5329e3f0ee463df5": [ + "public/edit.html" + ], + "m_0cb3fb5b86d7dec6": [ + "public/error.html" + ], + "m_d98ee0e5f9399db9": [ + "public/error.html" + ], + "m_2fadf395e582b518": [ + "public/error.html" + ], + "m_527ed1f5f1272340": [ + "public/explore.html" + ], + "m_98ceb57fd8c4192a": [ + "public/explore.html" + ], + "m_dc11b75252240cb7": [ + "public/explore.html" + ], + "m_4ecce7be480f6f30": [ + "public/explore.html" + ], + "m_91da9a0ea953819a": [ + "public/explore.html" + ], + "m_81ac554b62fd7744": [ + "public/explore.html" + ], + "m_868e138a540a8169": [ + "public/explore.html" + ], + "m_66107ee6f097cc69": [ + "public/explore.html" + ], + "m_669c9c93aa6585ee": [ + "public/explore.html" + ], + "m_900279772114fc7a": [ + "public/explore.html" + ], + "m_f482e3e5b8c7be21": [ + "public/explore.html" + ], + "m_8991e2cd957c4fa4": [ + "public/explore.html" + ], + "m_c18fdf7c840dbd7d": [ + "public/explore.html", + "public/user-profile.html" + ], + "m_d0779dcb213ea806": [ + "public/explore.html" + ], + "m_427017aa416d183c": [ + "public/explore.html" + ], + "m_561340c5675ebec3": [ + "public/explore.html" + ], + "m_9b4a824feb2589ab": [ + "public/explore.html" + ], + "m_79ffcd4493ccbc87": [ + "public/explore.html" + ], + "m_c1d6c8a33bdbf06f": [ + "public/explore.html" + ], + "m_7c03015f02805cf6": [ + "public/explore.html" + ], + "m_621179d315791a07": [ + "public/explore.html" + ], + "m_c5089e5ca420bbda": [ + "public/explore.html" + ], + "m_ba22bb6bab115807": [ + "public/explore.html" + ], + "m_4b211956be18fc54": [ + "public/explore.html" + ], + "m_23d882bdf6b507e8": [ + "public/index.html" + ], + "m_af0ae3351923fc5d": [ + "public/index.html" + ], + "m_52daa71ebc310581": [ + "public/index.html" + ], + "m_82b4b8d91a0f11ad": [ + "public/index.html" + ], + "m_21b45a82891c3229": [ + "public/index.html" + ], + "m_477e016daabf33df": [ + "public/index.html" + ], + "m_b7e78359233ab5d1": [ + "public/index.html" + ], + "m_c86d3f1f09905f89": [ + "public/index.html" + ], + "m_881ae691c44b361d": [ + "public/index.html" + ], + "m_cc9d207f74c40e3d": [ + "public/index.html" + ], + "m_f2d08a239c38f620": [ + "public/index.html" + ], + "m_6d9ff8ce8d9e2b5e": [ + "public/index.html" + ], + "m_8536c6991311409e": [ + "public/index.html" + ], + "m_ed737b618c53f493": [ + "public/index.html" + ], + "m_a610e0c62b3e1e39": [ + "public/index.html" + ], + "m_843bf1cad06adf9d": [ + "public/index.html" + ], + "m_343d9b642b08734e": [ + "public/index.html" + ], + "m_89295faf2d570ffb": [ + "public/index.html" + ], + "m_43bd5e82c49e4f9c": [ + "public/index.html" + ], + "m_d8043d8bbd373b37": [ + "public/index.html" + ], + "m_41ec79ea3fc0f117": [ + "public/login.html" + ], + "m_ef45c4d5478d199f": [ + "public/login.html" + ], + "m_c03129eac3c27cd8": [ + "public/login.html" + ], + "m_9f8706d68a27ee92": [ + "public/login.html" + ], + "m_3931e972f88bc57d": [ + "public/login.html" + ], + "m_b834056f1dc1a019": [ + "public/memo.html" + ], + "m_b331f2b5a8abe133": [ + "public/memo.html" + ], + "m_1ef3de06b32e521b": [ + "public/memo.html" + ], + "m_9d918986a246b50c": [ + "public/mypage.html" + ], + "m_cf2151043e18b878": [ + "public/mypage.html", + "public/user-profile.html" + ], + "m_ad92339e37949c3f": [ + "public/mypage.html" + ], + "m_0b19c2a89b3d17d0": [ + "public/mypage.html", + "public/setup-profile.html" + ], + "m_1b8fdacd48c195df": [ + "public/mypage.html" + ], + "m_3ea2d23c902cfa31": [ + "public/mypage.html" + ], + "m_7c5c82ca2ad0dbf0": [ + "public/mypage.html", + "public/setup-profile.html" + ], + "m_b4b622e5d787a172": [ + "public/mypage.html" + ], + "m_92cd4592ada228d6": [ + "public/mypage.html" + ], + "m_e51daf0118dbde85": [ + "public/mypage.html" + ], + "m_3cd7dc78042bc06b": [ + "public/mypage.html" + ], + "m_cb817db385823e7b": [ + "public/mypage.html" + ], + "m_602ad2acb82a4933": [ + "public/mypage.html" + ], + "m_c48551f559296535": [ + "public/mypage.html" + ], + "m_247ca01ae2808bf7": [ + "public/mypage.html" + ], + "m_3ce5333a13b82bf1": [ + "public/mypage.html" + ], + "m_e3a900d9b21c69bc": [ + "public/mypage.html", + "public/user-profile.html" + ], + "m_c28a589f5d38fe2e": [ + "public/mypage.html" + ], + "m_d03ed9f9db528545": [ + "public/mypage.html" + ], + "m_218d5bfa501a1520": [ + "public/mypage.html" + ], + "m_e5049a66d3511e59": [ + "public/mypage.html" + ], + "m_38844b135cf70dfc": [ + "public/mypage.html" + ], + "m_63a5e7b7391191b1": [ + "public/mypage.html" + ], + "m_02d55e8b9e34124e": [ + "public/mypage.html" + ], + "m_6ed05ab6df7cc610": [ + "public/mypage.html" + ], + "m_e38c2efbafd32eaf": [ + "public/mypage.html" + ], + "m_1cb03bd4cfc9f747": [ + "public/mypage.html" + ], + "m_d526f58f16527fbb": [ + "public/mypage.html" + ], + "m_dd50c9cefaffe5df": [ + "public/mypage.html" + ], + "m_e2eb172ff696c154": [ + "public/mypage.html" + ], + "m_33bc517653ac5013": [ + "public/mypage.html" + ], + "m_53c358ee2e006f26": [ + "public/mypage.html" + ], + "m_d4e7aca54ad58888": [ + "public/mypage.html" + ], + "m_68b628808f2afacc": [ + "public/mypage.html" + ], + "m_93853e16ae10570b": [ + "public/mypage.html" + ], + "m_609c2e2b937867b8": [ + "public/mypage.html" + ], + "m_d3347f6764ac396a": [ + "public/mypage.html" + ], + "m_734726d5724258d3": [ + "public/mypage.html" + ], + "m_226d718499895d4d": [ + "public/mypage.html" + ], + "m_98037ea725fd3581": [ + "public/mypage.html" + ], + "m_5f600b307b4eb0fb": [ + "public/mypage.html" + ], + "m_73e4d83cc4e690da": [ + "public/mypage.html" + ], + "m_a7b53b47db0647d8": [ + "public/mypage.html" + ], + "m_b6ee042ea6cd4f9a": [ + "public/mypage.html" + ], + "m_ef719aff9261b129": [ + "public/mypage.html" + ], + "m_5c208e3348180af6": [ + "public/mypage.html" + ], + "m_635cd189be33b0bd": [ + "public/mypage.html" + ], + "m_23925bc3a05f4608": [ + "public/mypage.html" + ], + "m_97a1df85ff6e77c5": [ + "public/mypage.html" + ], + "m_16a9138262efd85a": [ + "public/mypage.html" + ], + "m_eabf97e700aafe73": [ + "public/mypage.html" + ], + "m_62e0b494cfecbaac": [ + "public/mypage.html" + ], + "m_2a4540b12718c890": [ + "public/mypage.html" + ], + "m_34f7336d39831fca": [ + "public/mypage.html" + ], + "m_891e160d20acffac": [ + "public/mypage.html" + ], + "m_6b85ce0c6561eb77": [ + "public/mypage.html" + ], + "m_32b60cb80218c4fd": [ + "public/mypage.html" + ], + "m_98eab38c3ef574c2": [ + "public/qr-login.html" + ], + "m_00091b9967863749": [ + "public/qr-login.html" + ], + "m_ec0ee1c64ed494da": [ + "public/qr-login.html" + ], + "m_b1699eb03cab4271": [ + "public/qr-login.html" + ], + "m_4a7849864c3b8d40": [ + "public/qr-login.html" + ], + "m_d9a999a7c8e80c8b": [ + "public/qr-login.html" + ], + "m_cd438f5d0cca898b": [ + "public/qr-login.html" + ], + "m_36f33adaf0942634": [ + "public/qr-login.html" + ], + "m_8b853f892cb85872": [ + "public/qr-login.html" + ], + "m_2f96458f0521ac56": [ + "public/qr-login.html" + ], + "m_ed13a5144522b278": [ + "public/revisions.html" + ], + "m_848123d14f84faa2": [ + "public/revisions.html" + ], + "m_8efe3f8aeaefdb91": [ + "public/revisions.html" + ], + "m_f1f32d0157fae751": [ + "public/revisions.html" + ], + "m_891b86301d456556": [ + "public/search.html" + ], + "m_a96c9a854190874d": [ + "public/search.html" + ], + "m_c0ed6ee9ca70d07f": [ + "public/search.html" + ], + "m_cae945a91d2ad914": [ + "public/search.html" + ], + "m_db6dcc2fcc5ddaf4": [ + "public/search.html" + ], + "m_4e65d015121fbe4e": [ + "public/search.html" + ], + "m_450abb19edb20d7a": [ + "public/search.html" + ], + "m_9522cc3124092a20": [ + "public/search.html" + ], + "m_744bfa455f7caedd": [ + "public/search.html" + ], + "m_0e84cdbe31d73354": [ + "public/search.html" + ], + "m_43f261290e2dd167": [ + "public/search.html" + ], + "m_895cd52fbbb64cd4": [ + "public/search.html" + ], + "m_6e6203060edf5726": [ + "public/search.html" + ], + "m_ddec93e53a9a797a": [ + "public/search.html" + ], + "m_7d15fc867c469a95": [ + "public/search.html" + ], + "m_7815c5140c7ab3f0": [ + "public/search.html" + ], + "m_785173da26b9c654": [ + "public/search.html" + ], + "m_f77fb5fc13e89e5d": [ + "public/search.html" + ], + "m_7a1f3e4504d87371": [ + "public/setup-profile.html" + ], + "m_8c697a8376c5f0ef": [ + "public/setup-profile.html" + ], + "m_aba04ee378f3ebee": [ + "public/setup-profile.html" + ], + "m_97f08d0ac41ae4ef": [ + "public/setup-profile.html" + ], + "m_c236b6b12c680ec2": [ + "public/setup-profile.html" + ], + "m_968333deb0955666": [ + "public/setup-profile.html" + ], + "m_08b4c0c0c40584d0": [ + "public/setup-profile.html" + ], + "m_8f7b8409be23dac8": [ + "public/setup-profile.html" + ], + "m_b382d588f5512e48": [ + "public/setup-profile.html" + ], + "m_715ee9dc842f34e4": [ + "public/setup-profile.html" + ], + "m_73cf69a2f70be816": [ + "public/tickets.html" + ], + "m_7f7d851991a5f16e": [ + "public/tickets.html" + ], + "m_a66cb0fe57643b7f": [ + "public/tickets.html" + ], + "m_4119a4919e728252": [ + "public/tickets.html" + ], + "m_74891a3addbadecb": [ + "public/tickets.html" + ], + "m_e1fa4c1323c3ddd1": [ + "public/tickets.html" + ], + "m_7de7cf6a611ea4f3": [ + "public/tickets.html" + ], + "m_9609da83b8b4f312": [ + "public/tickets.html" + ], + "m_96f65ee16b1f4ef5": [ + "public/user-profile.html" + ], + "m_6a3219761890e001": [ + "public/user-profile.html" + ], + "m_8cd573f6026d64a6": [ + "public/user-profile.html" + ], + "m_5a189009ea301dc2": [ + "public/ext/freq/freq-editor.js" + ], + "m_be7bef35403236ab": [ + "public/ext/freq/freq-editor.js" + ], + "m_04d9f97a19a93f89": [ + "public/ext/freq/freq-editor.js" + ], + "m_daba9777afa31b0a": [ + "public/ext/freq/freq-editor.js" + ], + "m_37d1bd2e240ceedc": [ + "public/ext/freq/freq-editor.js" + ], + "m_d87a4cb7b2cf3797": [ + "public/ext/freq/freq-editor.js" + ], + "m_84e0b2a3fbd2112c": [ + "public/ext/freq/freq-editor.js" + ], + "m_b8e334b7c2fdeb90": [ + "public/ext/freq/freq-editor.js" + ], + "m_4e34c76a6d1f6f0f": [ + "public/ext/freq/freq-editor.js" + ], + "m_338ad9e3d971af1d": [ + "public/ext/freq/freq-editor.js" + ], + "m_7eed8f0104741b98": [ + "public/ext/freq/freq-editor.js" + ], + "m_3911749132b03ce7": [ + "public/ext/freq/freq-editor.js" + ], + "m_6f419bd0d781c71c": [ + "public/ext/freq/freq-editor.js" + ], + "m_9812fd1911c755ce": [ + "public/ext/freq/freq-editor.js" + ], + "m_90b8d2c6a8242047": [ + "public/ext/freq/freq-editor.js" + ], + "m_3b0f62c7f9961e41": [ + "public/ext/freq/freq-editor.js" + ], + "m_62bd76cca29eee40": [ + "public/ext/freq/freq-editor.js" + ], + "m_53e456491f37bc9c": [ + "public/ext/freq/freq-editor.js" + ], + "m_e2ebe184ab11ca28": [ + "public/ext/freq/freq-editor.js" + ], + "m_4cdd37d6d41ae06b": [ + "public/ext/freq/freq-editor.js" + ], + "m_7a41047d553357ee": [ + "public/ext/freq/freq-editor.js" + ], + "m_d3a1196fb372994a": [ + "public/ext/freq/freq-editor.js" + ], + "m_42f54b48383c48fe": [ + "public/ext/freq/freq-editor.js" + ], + "m_fca475aedb398f68": [ + "public/ext/freq/freq-editor.js" + ], + "m_da87a98efb7fa482": [ + "public/ext/freq/freq-editor.js" + ], + "m_68785ba1090341f5": [ + "public/ext/freq/freq-editor.js" + ], + "m_eecd13ecc9dfe144": [ + "public/ext/freq/freq-editor.js" + ], + "m_3e2e7e493bed9251": [ + "public/ext/freq/freq-editor.js" + ], + "m_66a160f8042e2a21": [ + "public/ext/freq/freq.js" + ], + "m_e0c45ab49ad7a4b2": [ + "public/ext/freq/freq.js" + ], + "m_940e6692b62ccb8f": [ + "public/ext/freq/freq.js" + ], + "m_d51302ae04a2e98e": [ + "public/ext/freq/freq.js" + ], + "m_47a1317f9638980c": [ + "public/ext/freq/freq.js" + ], + "m_334817d124fa7a8d": [ + "public/ext/freq/freq.js" + ], + "m_236de7316ec1347f": [ + "public/ext/freq/freq.js" + ], + "m_976fe5361e847363": [ + "public/ext/freq/freq.js" + ], + "m_b20a4b92c84c5f5f": [ + "public/ext/freq/freq.js" + ], + "m_6c57a398a288e665": [ + "public/ext/freq/freq.js" + ], + "m_aa297e7f66f93047": [ + "public/ext/freq/freq.js" + ], + "m_80ac818ba5040aaa": [ + "public/ext/freq/freq.js" + ], + "m_5f9597e24414b24b": [ + "public/ext/freq/freq.js" + ], + "m_fa2631f89de91520": [ + "public/ext/freq/freq.js" + ], + "m_bab8d4ce68ac49f0": [ + "public/ext/freq/freq.js" + ], + "m_9225b45181da8f16": [], + "m_302bae1279382d2b": [], + "m_b68c7d1bc9592573": [], + "m_25f0d827e03ff670": [], + "m_75cb099b9144f625": [] +} diff --git a/packages/wiki-shared/src/i18n/zh-CN.json b/packages/wiki-shared/src/i18n/zh-CN.json new file mode 100644 index 0000000..abe4d5d --- /dev/null +++ b/packages/wiki-shared/src/i18n/zh-CN.json @@ -0,0 +1,3433 @@ +{ + "m_b6c1c96c52ea9de7": "请输入名称。", + "m_17fd2bab60f5fa02": "只能使用英文、数字、下划线或连字符,长度为 1~64 个字符。", + "m_32d3a1d05f377182": "不能与硬编码预设名称重复。", + "m_cc9f8b1e951c4b0c": "添加新调色板", + "m_5fb926229090001c": "保存", + "m_2f8d5d46605e2cde": "编辑调色板: __VIREO_SLOT_0__", + "m_3537f0cc3ec9fa10": "编辑", + "m_c645164a4beb76ac": "
              没有已注册的自定义调色板。
              ", + "m_4504090c6a71c3b5": "(未指定 → __VIREO_SLOT_0__)", + "m_ad423fa90e1d916c": "\n
              \n __VIREO_SLOT_1__\n \n \n \n \n __VIREO_SLOT_6__\n \n \n \n \n
              \n ", + "m_53518a1483b7f94b": "\n /\n \n \n ", + "m_b178b2b6a6f06331": "
              无法加载调色板列表。
              ", + "m_b49f20d86148ddfd": "错误", + "m_289d5963498c8fac": "输入了错误的颜色代码。(#RRGGBB 或 #RGB)", + "m_7e6dcbfd369a97fc": "保存失败 (__VIREO_SLOT_0__)", + "m_ba971bfea1b3477d": "已保存。", + "m_e24943bb3e7cc75d": "删除调色板", + "m_ca8df919e95738a1": "是否删除 '__VIREO_SLOT_0__' 调色板?使用此调色板的文档将不再应用颜色。", + "m_6139b6c3ed73cd4a": "删除", + "m_be876433993ab7ba": "取消", + "m_ca0be49e14db6168": "是否删除 '__VIREO_SLOT_0__'?", + "m_5cb5981d516bbfe3": "删除失败 (__VIREO_SLOT_0__)", + "m_d2e05037626d501d": " 已删除", + "m_c98b990e5d9b8b91": "\n \n
              \n 博客\n __VIREO_SLOT_1____VIREO_SLOT_2__\n
              \n __VIREO_SLOT_3__\n
              ", + "m_7eb48ab9b79e6ee6": "\n \n
              \n 讨论\n __VIREO_SLOT_1__\n __VIREO_SLOT_2____VIREO_SLOT_3__\n
              \n __VIREO_SLOT_4__\n
              ", + "m_a0ed21219d08052a": "\n \n
              \n 工单\n __VIREO_SLOT_1____VIREO_SLOT_2__\n
              \n __VIREO_SLOT_3__\n
              ", + "m_37eba2bfd2ba98ed": "
              链接页面不存在。
              ", + "m_7a0ef1e9e023fa04": "正在加载...", + "m_038b55bd7b3d8fa2": "同一阶段无页面", + "m_06f20c851bc730ec": "加载失败", + "m_589949d0ce1b0617": " ", + "m_d278e66fa5d99310": " / ", + "m_661f7e44a4aa7fa1": "文档结构:__VIREO_SLOT_0____VIREO_SLOT_1__", + "m_63935251e583b27f": "文档链接已复制到剪贴板。", + "m_0bc1fb72ae1be5c5": "错误", + "m_ec6f40a9e763d7c1": "复制到剪贴板失败。", + "m_38d098ba7768a3d1": "文档内容已复制到剪贴板。", + "m_5d316b522e9b3812": "无法获取文档内容。", + "m_384c7951cf63c117": "Markdown 原文已复制到剪贴板。", + "m_24626229dc0b225b": "文档 HTML 已复制到剪贴板。", + "m_513eaca6e4834d62": "阅读以下维基页面并回答内容相关问题: ", + "m_34f74a1b1a652190": "加载子文档失败。", + "m_e97fa0a8680309fb": "文档结构", + "m_dfb2fc6223803099": "暂无子页面。", + "m_70de8e074ef644cd": " 已复制", + "m_2f7cace2e470cb6f": "\n
              \n \n \n
              ", + "m_fd065914070c3ee5": "\n
              \n \n \n
              ", + "m_3fd47edce45b3603": "关闭", + "m_7e0bfd6a2f4cf2c2": "
              正在加载...
              ", + "m_1194736d55543b31": "
              加载子文档失败。
              ", + "m_33dcddf15dc978d8": "创建新页面", + "m_876c6189ce292af4": "文档名称", + "m_c9370c3f2f8dde70": "例如:my-first-page", + "m_81b8d99b4f9bdf3c": "创建", + "m_2cd0f3be8738a86c": "取消", + "m_b68b9aa395e1d283": "编辑当前页面", + "m_1d3c8bb552e44b23": "编辑 edit 修改", + "m_6c0ad4da87f4b4b3": "创建新页面", + "m_4af2f5a4ab686f85": "新文档 创建 new create 制作", + "m_cd86b10b359ba0f7": "随机页面", + "m_eef9c6abde132084": "随机页面", + "m_b8957c30d19267f3": "导航 门户", + "m_dcfde3b8d380d541": "探索 导航 门户", + "m_ffe893bace2a4aba": "前往首页", + "m_5a269c0e2c6ac18b": "首页 home 主页面", + "m_87354adb1c31e43d": "管理后台", + "m_8c74baa4038b9dec": "管理员 admin 控制台 设置", + "m_a7a6fa8c2a56c940": "黑暗模式", + "m_0b9ebbd426468b58": "黑暗 dark 主题 theme 黑色", + "m_e44a6a58308e37db": "明亮模式", + "m_3f13602d704b1fd0": "明亮 light 主题 theme 明亮", + "m_71d696e2079989c2": "自动主题(系统)", + "m_4e65100f2af2e903": "自动 auto 主题 theme 系统", + "m_c2952a5ffcc34883": "个人设置", + "m_4550d1947c5097d8": "设置 settings 环境设置 主题 布局", + "m_f6eeae9b0f5d9dbb": "语法备忘单(语法搜索)", + "m_2ce5a8b1a915598d": "语法备忘单 syntax cheatsheet 令牌搜索 插入", + "m_61935cdc25a7b5c8": "快捷键帮助", + "m_d3af477e12a7a4b3": "快捷键帮助 help shortcut 键盘", + "m_51f9a31c0ae7a10b": "命令面板", + "m_25e2dedb7781d25c": "placeholder=\"文档·命令搜索… ( > 输入时进入命令模式 )\" ", + "m_76e21e04481b1910": "退出", + "m_dbfc08212ac85579": "
                ", + "m_4f255984f7f8e45a": "↑↓ 移动", + "m_1596d8fae424d0ca": "回车 选择", + "m_115518dce9b7a39f": "Tab键 全局搜索", + "m_2a9b0e7c31cc401b": "退出 关闭", + "m_d5fe8044502d75dd": "” 전체 검색", + "m_463dd346080e7ab3": "最近访问文档", + "m_7bb3f9811758f0e9": "快速操作", + "m_1f12b8e23dfddbba": "命令", + "m_452c7b10d57a86a7": "页面", + "m_515559957fd3acbd": "分类", + "m_5a30b6ad61d39bd0": "\" aria-hidden=\"true\"> ", + "m_1ba045c3573b1251": "没有结果", + "m_a706654a5b134832": "试试按 Enter 进行全局搜索", + "m_d86de434ba64df92": "打开命令面板", + "m_e1cfad4ae66a5af3": "搜索栏聚焦", + "m_64a9bf4fc5ecfc98": "前往首页", + "m_0a7a8e73f4902844": "前往导航门户", + "m_efaf8a0202b89829": "当前 编辑页面(浏览文档中)", + "m_33d377b6c9c76b81": "打开此帮助", + "m_89ce481a4b23d2a4": "键盘快捷键", + "m_ee24f945b92412f6": "键盘快捷键", + "m_f17dc0280ef14b6d": "", + "m_de8f14b2aedcbfaf": "标签太长", + "m_9341d4a4f50d3c34": "标签最多 50 字。", + "m_63d43c7f9b539745": "不支持特殊字符", + "m_341c9158d0aeffee": "标签名称不能包含特殊字符。", + "m_a94b9e1aaa79c9b1": "标签数量超限", + "m_d6fec6bc78d9cef5": "最多添加 20 个标签。", + "m_cde96ff40e7778ed": "无法打开随机页面。", + "m_aad7db05d61d31ff": "新公告", + "m_a2d3a4eeefd7bf8f": "不再显示", + "m_94c57dbb47dd1a3f": " 正在加载...", + "m_051ea7bfba93e9e6": "暂无通知", + "m_08d7d6ce0ebacb38": "
                \n \n
                \n
                __VIREO_SLOT_7__
                \n
                __VIREO_SLOT_8__
                \n
                \n \n
                ", + "m_74df34d3749eea0f": "\n
                \n \n
                \n ", + "m_a424f4ceb627b56d": "
                通知加载失败
                ", + "m_030fa62eb15037f3": "加载失败,重试", + "m_de6785d99e028971": "刚刚", + "m_f8083e01520b7dac": " 分钟前", + "m_9ebf77f67bc49767": " 小时前", + "m_5972982ce6bc68ca": " 天前", + "m_56db248412ff2792": "超级管理员", + "m_78496a61deb74f2d": "管理员", + "m_7a44dba7742f6b57": "讨论管理员", + "m_6f93ba4c79f837ca": "封禁", + "m_958ece350af5369a": "已注销", + "m_f6a2faaac200e75d": "普通用户", + "m_b9dfeed9394b41c2": "删除通知失败。", + "m_f8abee26e0bf27ae": "标记已读失败。", + "m_22abbed26f07b173": "删除全部通知", + "m_c883eb513f547831": "将删除所有通知,此操作无法撤销。", + "m_9b2ccbb48e31d52a": "全部删除", + "m_2066f4e83f732ab8": "接收中", + "m_6744b4c6a9aa0038": "已关闭", + "m_00c6d96fa30a71b1": "取消推送订阅", + "m_229f3f58efb2b445": "接收推送通知", + "m_a4d9636a501c734d": "已取消推送通知订阅", + "m_6c38770816549d26": "推送通知取消订阅失败", + "m_7de85bfdf94080d7": "已订阅推送通知", + "m_efbd623a09987dc7": "通知权限已禁用", + "m_bfd3af733fbd80eb": "请在浏览器设置中允许通知。", + "m_f34747723d1d3bcc": "当前浏览器不支持推送通知", + "m_892529bce47eabeb": "推送通知订阅失败", + "m_1ac13841ba2ea68b": "未知用户", + "m_5d63997a05b668f1": "", + "m_66e824fac80d97ba": " 私信", + "m_0adc4beac9ba4b15": "无法加载私信。", + "m_ca401920b0fcdb0c": " 回复 __VIREO_SLOT_0__", + "m_2beba854a0be713e": "输入回复内容...", + "m_9aee63bd0f6981b7": "发送", + "m_ab85f44f1d779fcb": "请输入内容。", + "m_c76bcedd965ccb8f": "发送失败", + "m_34f48b56d4e22e22": "私信发送完成", + "m_eeaf95fca202a934": "私信发送失败。", + "m_25f3b0bc182bfca2": " 给 __VIREO_SLOT_0__ 的私信", + "m_4b6b457e887fe436": "输入私信内容...", + "m_2f10882d8db32301": "__VIREO_SLOT_0__ 分钟前", + "m_13d9a4afbbd1b91f": "__VIREO_SLOT_0__ 小时前", + "m_dd30752bcdb324d3": "__VIREO_SLOT_0__ 天前", + "m_e22f859d1ee42e08": "没有更改记录", + "m_c1fee7c8e96d332c": "无热门数据", + "m_04bf37d3b91172bc": "收起 ", + "m_06864158538ff797": "展开 ", + "m_10f31f3c85ee150f": "Mermaid 图表", + "m_c8084b4d279d80e4": "图表", + "m_072e68b79d9bae6d": "扩展", + "m_b17999ff6941b1b9": "外部内容", + "m_abc1e7cf135be69e": " 这是预览中无法显示的 __VIREO_SLOT_0__ 块。 ", + "m_08f914b5b8fc4ad9": "请通过原始比较查看原文。", + "m_16e9e630232b0f54": "
                没有更改内容。
                ", + "m_28933254868ff727": "
                ⋯ 略去 __VIREO_SLOT_0__ 段落
                ", + "m_348d96f189dbad3e": "⋯略去 __VIREO_SLOT_0__ 行", + "m_0f6519606ca9a78a": "... 略去 __VIREO_SLOT_0__ 行", + "m_e81f18f2ccfa0ec4": "SweetAlert2 (Swal) 未加载。", + "m_2e352b418c280276": "
                \n \n \n
                ", + "m_4031d8d14f0a6741": "", + "m_ac1fc253bac86a56": "
                渲染中...
                ", + "m_ec377483a303fde2": " 复制失败", + "m_cc34e063fa6085b3": "提及", + "m_56e88bd031eefcae": "没有可提及的参与者", + "m_258ad4b095a1841b": "文本", + "m_fba83d218eea748c": "加粗", + "m_dd933ae8c2d8fac8": "斜体", + "m_a862dac745e78146": "删除线", + "m_4a02004ab78c6f58": "引用", + "m_f07b32009d77b4f6": "列表", + "m_8d79ff34d4f67a6e": "行内代码", + "m_af4eb87c4024e6a8": "代码块", + "m_3d54da9c8367da77": "链接", + "m_db894ea81546a74d": " 上传新图片", + "m_1ab5c248fcaeb392": " 搜索现有图片", + "m_0d720eeea26466dd": "图标", + "m_6a7339bb759788f3": "小", + "m_a567bdaa11367f26": "中", + "m_62ebda24c90ca0a5": "大(默认)", + "m_381cbc5a80cdd675": "Bootstrap 图标", + "m_9d89cdc64edf175d": "材料设计", + "m_6d2b296c1cd03af4": "背景色", + "m_04b9d4d0d299bc60": "字体颜色", + "m_8268412b046258a5": "调色板颜色", + "m_6b28ff42c3bd1e53": "字体大小", + "m_563d700698b2e153": "D日", + "m_e8e55f63b04c532c": "显示时间", + "m_39434f4dbd6aa9ad": "计时器", + "m_57b8d86c7074f30c": "实岁", + "m_b9a2602b5dd2c5b7": "日历日期", + "m_2fe5356cb0530f05": "键盘按键", + "m_6bbd4af8328c9ba6": "进度条", + "m_2810cd41e255386b": "图片大小", + "m_0af5878da3772fe3": "图片对齐", + "m_22866179d06cfcf3": "锚点ID(选项卡/手风琴)", + "m_57ff1b60f5b9be4b": "徽章", + "m_e24f8f799a09913f": "标签", + "m_605632038f49400b": "按钮", + "m_30c765b107c5eb5a": "统计数值", + "m_588be0deb770b095": "媒体嵌入", + "m_c738b61460f613ac": "| 名称 | 值 |\n", + "m_f076669f17b53f92": "| 名称 | 值 |\n\n", + "m_6e5c1fafcd87247d": ":::tab 选项卡1\n", + "m_d7cafcbd87c399b7": "内容\n:::\n", + "m_b750a273eb0c992a": ":::tab 选项卡2\n内容\n:::\n", + "m_d26e710e43dbf1d0": ":::item 项目1\n", + "m_1987e477de299aaa": ":::item 项目2\n内容\n:::\n", + "m_d1641961d67e5ef0": ":::step 步骤1\n", + "m_368117f5be6dee60": ":::step 步骤2\n内容\n:::\n", + "m_932dba77309c6041": "标题 = ", + "m_005648e5b43bb97a": "作者 = \n", + "m_62b41b5aaec6fef4": "卡片", + "m_155774e65ecb6263": "标题 + 正文框", + "m_14a173232a613b6e": "网格", + "m_818bcff7e71931a4": "网格 ({cols:N}/{template:1-3·8-4 等})", + "m_4a6a4508513a1deb": "横向对齐", + "m_6eee93bfecdb267d": "将子项横向排列", + "m_004150139f94ab3a": "居中对齐", + "m_fe525c37167d2e2c": "内容居中", + "m_bc18fb606d1cd4a5": "右对齐", + "m_993f9d86db97f941": "内容右对齐", + "m_8864f426cc18342d": "左对齐", + "m_cf92ecdc8c488285": "内容左对齐(解除嵌套对齐)", + "m_328263b28ff57998": "画布", + "m_8223173395e0f378": "非对称12列布局 — 选择时自动插入:::area骨架", + "m_5430ebf3366f2ff9": "信息框", + "m_98658eb5d2388d8a": "包裹侧边的简介卡 — 选择时插入标题+表格骨架", + "m_18d0e6bc2a7f45bd": "浮动面板", + "m_c82e34fcdb9baac1": "正文包裹左右面板 ({left|right}{span:3~6})", + "m_5cd4cd76699a6fd0": "画廊", + "m_7619e9a7dfa77df6": "图片均等网格 — 选择时插入图片骨架 ({cols:2~6})", + "m_4da85c65f840aa80": "嵌入", + "m_2a1a5d18bb46c4ec": "强调线框 + 内部 URL 媒体嵌入", + "m_28badb093c233e15": "标签页", + "m_5ae3a1514ad2f6dd": "标签页容器 — 选择时插入 :::tab 骨架", + "m_9a076cf23c023e1a": "手风琴", + "m_9fc6dbe4b783be99": "手风琴 — 选择时插入 :::item 骨架", + "m_a096cdeecea40a9d": "步进器", + "m_376fd5ff710fc52b": "进度步骤 — 选择时插入 :::step 骨架", + "m_d22e12c683a74d09": "文档变量", + "m_963dbba2a659b1ff": "`名称 = 值` 定义 → 正文 {{{@名称}}} 引用", + "m_745bc68d37465f9d": "时间点前显示", + "m_0b159c50aac67173": "仅在指定时间前显示 (Unix 秒或 YYYY-MM-DD)", + "m_128b0dfe35235930": "时间点后显示", + "m_573ca43f917ffb30": "仅在指定时间后显示 (Unix 秒或 YYYY-MM-DD)", + "m_b8cf07ac906c8124": "信息", + "m_28fe61bef75af3d5": "信息提示", + "m_d9fcd43cf85293f6": "提示", + "m_4fa4e2ac36cd09f1": "提示提示", + "m_053461ce86d26572": "成功", + "m_261ff49b524384f1": "成功提示", + "m_acc90fbf66686d20": "注意", + "m_833a2943e99a7d7f": "注意提示", + "m_baaff05e434f85e3": "危险", + "m_d9fc0886a0acb827": "危险提示", + "m_a34b4d0aafc9ecfd": "注释", + "m_88530cabd97e47c4": "注释提示", + "m_72cca7f7d985c021": "图标搜索", + "m_d0d72f97f1cef99e": "背景色选择", + "m_db0613f318fbce1d": "文字颜色选择", + "m_abcb334ca28cba23": "__VIREO_SLOT_0__年 __VIREO_SLOT_1__周一", + "m_60fad9caf3faed31": "满岁生日", + "m_ec40140f5eba9621": "D-Day 日期选择", + "m_73c1974526a832fb": "日历日期选择", + "m_0bf7e5778c32d7a4": "计时器时间选择", + "m_a8cf1d2334124a36": "显示时间选择", + "m_95048bb4f8debef2": "Unix 时间戳(秒)", + "m_df159f47a890ff65": "现在", + "m_78f6af44ca5c8ef9": "+1小时", + "m_4ec242e30c0f7971": "+1天", + "m_3e8889e56aec25a2": "+1周", + "m_f1f8b2018b071cb7": "+1个月", + "m_4fe4705ef5532abd": "+1年", + "m_844b8cc8dff7c1d8": "默认", + "m_4be0c73b19663c54": "覆盖", + "m_d734129fabaa146b": "自定义", + "m_bf8508933cb57822": "注册 N 天以上", + "m_1067d4563021de5a": "本页编辑历史", + "m_16e8ef1a632a2464": "任意页面编辑历史", + "m_7f0dd12bee0266d4": "仅管理员", + "m_96df792915787246": " 和 ", + "m_f0851d614a88a2d4": "\n
                \n
                分类 __VIREO_SLOT_0__ 已为以下编辑 ACL 模板设置。
                \n
                __VIREO_SLOT_1__ (全部满足 — AND)
                \n
                在将此类别应用到文档时,如何反映类别 ACL?
                \n
                \n \n \n \n
                \n
                \n ", + "m_135e365a1ae7ac65": "应用类别 ACL", + "m_63c73c4730f4473e": "应用", + "m_2dcf57eb172a504d": "取消(不添加此类别)", + "m_a12b6dbd16de6888": "__VIREO_SLOT_0__ ", + "m_19823ed7547a358d": "请输入不包含特殊字符的类别名称。", + "m_70199ad768c9c1ba": "仅管理员类别", + "m_31429406550ed617": "\"__VIREO_SLOT_0__\" 类别仅管理员可应用。", + "m_1b91634007da0f71": "类别不可用", + "m_07ad18c84a8945ca": "\"__VIREO_SLOT_0__\" 类别不可用。", + "m_d938160683e35283": "
                没有结果
                ", + "m_b868014175376f4d": "[编辑] 自动完成附加了轮询安全网 — 可能漏触发正常触发器。_attachAttempts=", + "m_f887c5441fa72e31": "错误(__VIREO_SLOT_0__)", + "m_217f3927ada2d495": "
                此文档没有相关的自动规则。
                ", + "m_da4b78a039d7ecf1": "\n \n \n \n \n __VIREO_SLOT_0__\n
                前缀自动分配类别
                \n ", + "m_7f64fa2837b5a993": "\n
                \n
                \n
                \n
                目标子文档
                \n 正在加载…\n
                \n
                \n 前缀\n __VIREO_SLOT_0__/**\n
                \n
                \n __VIREO_SLOT_1__\n
                \n
                \n\n
                \n
                \n
                \n \n
                \n
                \n
                \n \n
                \n

                \n 为已选文档分配类别 添加并取消预选文档的勾选时\n 将从该文档中 移除类别。\n

                \n \n
                \n\n
                \n
                \n
                相关自动规则
                \n
                \n
                __VIREO_SLOT_2__
                \n
                \n
                \n ", + "m_7c29f4abd8717ff2": "删除规则", + "m_93e382fd871dcc17": "是否要删除此自动规则?(已应用的类别将保持不变)", + "m_2f9daa828907b93f": "删除", + "m_c228558cf257fc49": "删除失败", + "m_8fad38bd78865ed0": "可选择的子页面暂无", + "m_132826fa46e65b5f": "无类别", + "m_22d4a168003098be": "
                共 __VIREO_SLOT_0__ 个——数量多时浏览器可能会变慢。
                ", + "m_61e2fbeb63b40304": "\n __VIREO_SLOT_0__\n
                \n \n __VIREO_SLOT_1__ 个\n
                \n \n __VIREO_SLOT_2__\n
                \n ", + "m_15f2c0b076847d0c": "无子文档", + "m_88e05cab0c0583b9": "勾选 __VIREO_SLOT_0__ / __VIREO_SLOT_1__ (应用 +__VIREO_SLOT_2__ / 移除 -__VIREO_SLOT_3__)", + "m_ebaf4022cf1aed6d": "加载失败", + "m_b64a912c7cdc706f": "无目标文档", + "m_0f8085b7bde2b753": "无法确认当前编辑文档的标题。", + "m_92e1fdf8beae6d63": "管理子文档类别", + "m_ac2a58826d92e6ae": "执行", + "m_b4b1f2a564d854b5": "请输入至少一个类别。", + "m_343252396d4d401c": "请选择要应用的文档或选择“自动规则保存”。", + "m_ca3e5733b920c6d7": "要保存自动规则,请输入类别。", + "m_2743911f83e1da69": "失败", + "m_4f2ed8c604fc2f30": "应用完成", + "m_4f42e9c473808f1e": "在目标 __VIREO_SLOT_0__ 个中添加 __VIREO_SLOT_1__ 个,移除 __VIREO_SLOT_2__ 个 已应用.__VIREO_SLOT_3__", + "m_060465fa16bfecec": "
                自动规则也已保存。", + "m_95d3fea17c6818a9": "保存自动规则", + "m_f3b31700b077585d": "此后新的或移动到此前缀的文档将自动应用类别。", + "m_0dd9df5c73a87e5c": "网络错误", + "m_5ad40d10dec739e9": "文本格式", + "m_5e70b93f06c4552a": "加粗", + "m_87b0c4285bb1641a": "bold strong 加粗加重", + "m_7c27f0abb0e69ed7": "**文本**", + "m_6b81a8b6ee0375d9": "斜体", + "m_45641a8e2826ec3f": "italic emphasis 斜体倾斜", + "m_e0143d2608b062f4": "*文本*", + "m_f88f8ea2b7099d9d": "下划线", + "m_79a9e92a9823d2d8": "underline 下划线", + "m_28ee3b434f7fbc8a": "__文本__", + "m_9605541606a51a5d": "删除线", + "m_164ece50125e1e53": "~~文本~~", + "m_425c77dfa9261c85": "荧光笔", + "m_b7426c44e328feab": "背景强调 — 需要先行颜色标记({bg:} 等)", + "m_60941b9372553b49": "highlight mark 荧光笔 高亮 背景强调样式", + "m_e5ebe60e52d4d291": "{bg:颜色}==文本==", + "m_ecdfb1788e6e5c75": "{bg:__VIREO_SLOT_0__}==文本==", + "m_c3405f8c7d9d392a": "标题", + "m_7c7c786c576b8eb3": "ATX 级别标题(数量表示等级)", + "m_7a5a6074fcb22b40": "heading h2 h3 标题 标题", + "m_6ab7acb2deb94bde": "## 标题", + "m_0ce0c96ab3059495": "代码行内", + "m_24eb627b33e92123": "code inline 代码", + "m_195f9d1a2608f871": "`代码`", + "m_02c2cc5f07593701": "收起标题", + "m_722dbffc4414f098": "将该部分设置为默认折叠", + "m_788ad98034524474": "collapse fold 折叠标题", + "m_7381a56fb257da46": "## 标题 {collapse}", + "m_63fe65fbe46155a9": "颜色 · 调色板 · 大小", + "m_4d7af31a1fd5bfce": "荧光笔/组件背景色", + "m_a799735f3ebb03cb": "bg 背景色", + "m_3c40a3091a0e1668": "荧光笔/组件文字颜色", + "m_560b02f2ba31d1f5": "color 文字颜色", + "m_8fd7bf321f4cb142": "调色板", + "m_0749a92d98df30a3": "内置/自定义调色板颜色", + "m_ca9845d3588058b3": "palette 调色板主题颜色", + "m_4bad4a16e714cbee": "文字大小 (xs·sm·lg·xl·xxl)", + "m_b53aac0c18c9b535": "fs 字体大小", + "m_ba2e24e6750375d5": "图标 · 组件", + "m_1d1a784d512f3d57": "Bootstrap 图标", + "m_4e03ec5334e74e4c": "bi 图标", + "m_30ccd27a372b1e49": "bi bootstrap 图标", + "m_1f038fec36e3ef39": "MDI 图标", + "m_59252e6364e70887": "Material Design 图标", + "m_37e5baccbef61206": "mdi material 图标", + "m_cfb78faa23dd4a6f": "小标签芯片", + "m_bdbe40566cd2f81d": "badge 徽章标签", + "m_e1119c65933c92d1": "{badge:文字}", + "m_8b037fd8c5402754": "标签芯片", + "m_542ba3c621b8a37e": "tag 标签", + "m_aadeffbf7c926876": "{tag:文字}", + "m_d35505adc98ef0c0": "链接/内部跳转按钮", + "m_a168d5a58c13ccf4": "button 按钮链接", + "m_98d83eb186555ae4": "{button:文字|[[文档]]}", + "m_1e8943dde4c14dbe": "{button:__VIREO_SLOT_0__|[[文档]]}", + "m_84ecd62d6ae48287": "数值突出显示块", + "m_90f74d94326bae42": "stat 统计数值", + "m_d8feb24858e3b649": "{stat:123|标签}", + "m_20d2f907b69fe58e": "{stat:__VIREO_SLOT_0__|标签}", + "m_54257d4a537853ff": "kbd 键标", + "m_d7847edfc4e1daf9": "kbd keyboard 键盘", + "m_8d24e901ebb500be": "进度(数字或自动)", + "m_fa7d9bcdb08c890f": "progress 进度条", + "m_77fb16dee5514e18": "链接 · 模板 · 脚注", + "m_482456fb5ca84f27": "维基链接", + "m_6dafcb53f03855a1": "文档/章节链接", + "m_07c8d2eaeda97ec9": "link wikilink 链接文档", + "m_ec3a11cca7c57eeb": "[[文档#章节]]", + "m_282b19bc77204d16": "模板嵌入", + "m_4f228ede45ed04d8": "模板文档包含", + "m_442639c8443f627b": "template transclusion 模板", + "m_457114ee2acc1c24": "{{模板名称}}", + "m_78ca2b93ff924626": "模板参数", + "m_986eddf472ab6404": "模板内参数引用", + "m_e317d2501c3cc784": "param parameter 参数", + "m_34e72d21069043d5": "{{{名称|默认值}}}", + "m_d72cd75279d7b329": "条件语句 #if", + "m_bd6cc888c6ab9ecd": "解析函数分支", + "m_bfdf9c84a40c551c": "if 条件 parser 解析器", + "m_d6d03ba9e7cdc40e": "{{#if:条件|真|假}}", + "m_1c4b0effa5ee1b68": "{{#if:__VIREO_SLOT_0__|真|假}}", + "m_37c27f988750a4d2": "分支 #switch", + "m_cec0f2d90e9c7ea9": "按值分支", + "m_f1da77da10bea126": "switch 分支解析器", + "m_fee80b881568c844": "{{#switch:值|键=结果|#default=默认}}", + "m_2da25cc1311428c9": "{{#switch:__VIREO_SLOT_0__|键=结果|#default=默认}}", + "m_20b90f10d2bc1a07": "算术 #expr", + "m_5faada11476c7ca3": "四则运算", + "m_f261f375b763025b": "expr 计算算术解析器", + "m_857a13037ceeb267": "脚注", + "m_804af85d7bed565b": "带名称脚注定义", + "m_af615ff3c5ed19de": "footnote 脚注注释", + "m_ae3750a1f5f51449": "[*名称 内容]", + "m_330f2dcca9e6ca91": "[*__VIREO_SLOT_0__ 内容]", + "m_77a8a5d48e0ec576": "图片 · 嵌入", + "m_d24c10d37db0feea": "图片", + "m_b2fd5e226f6b38d1": "插入图片", + "m_be55173c7e7eb5a4": "image img 图片 照片", + "m_acf497c8753ad9b9": "图片后大小标记", + "m_abc73f4524e8c1ae": "size 大小 图片", + "m_fdbbd1b98a5312fc": "图片后对齐标记", + "m_bc36ee263d186ae6": "align 对齐 图片", + "m_c9420abd33d772ed": "图片说明", + "m_5fdba67640e01bbf": "图片后说明标记", + "m_473ec399206fecdb": "caption 说明 图片", + "m_7dfe175110f64f08": "{caption:说明}", + "m_b1eb718abc171730": "插入 YouTube·Niconico·Spotify·地图", + "m_3cd8a2a6e594de28": "embed 嵌入 youtube spotify Niconico 地图 媒体 视频 音乐", + "m_626df1ec399ef16e": "嵌入尺寸", + "m_1685c0c8b5916d94": "嵌入后尺寸标记(居中对齐)", + "m_3f121d5b04e38b63": "size 尺寸 embed 嵌入", + "m_055eb7ff930783f3": "表格选项", + "m_eab19781a95f8ba4": "表格对齐", + "m_5dfac4d259681910": "表格上方行对齐标记", + "m_1967cf4ff8d3e05a": "table align 表格对齐", + "m_cae9028f5ba8b3a3": "表格宽度", + "m_710178eac8c6c859": "表格/列宽度(按10%单位)", + "m_3aceb5cf2a6b4af9": "width 宽度 表格 w", + "m_50a94e45fa19f96f": "表格说明", + "m_acb79305cdb79a39": " 标题", + "m_f2b718b14c7ea3fe": "caption 表格标题", + "m_2ab6f421dabfe446": "{caption:标题}", + "m_a38b0a754df466ae": "固定表头", + "m_ad58615453d6b0b1": "垂直滚动时固定表头", + "m_abaf6d2bf557ed75": "sticky header 固定表头", + "m_5cde908049d1520b": "可排序表格", + "m_33660b9f2ee02506": "点击表头排序", + "m_70e4ac9277083c00": "sortable 可排序表格", + "m_995cce3fccaa251b": "行表头", + "m_63ea5efb0ef87398": "将第一列作为垂直表头", + "m_4b72e6a48983f4bf": "row-header 行表头", + "m_4692cef5ac69eb37": "时间", + "m_4389adee0f33fa83": "剩余/过期日期", + "m_1405cf22ddb2f9a2": "dday D日日期", + "m_906e695a9dd195d4": "显示 Unix 时间", + "m_4021494af219130b": "time 时间 时刻", + "m_b2a3929e82f566cf": "倒计时", + "m_d6fbe7b84eaa393f": "timer 计时器 倒计时", + "m_32bec01b8725cfd4": "出生日期 → 周岁年龄", + "m_7d01647a9637b258": "age 年龄", + "m_0d59048a5e3146e0": "日期表示", + "m_cf168b44190eb3cc": "calendar 日历 日期", + "m_986794778c6f6fc3": "区块 (:::)", + "m_b3f4e8fc2790045f": "card 卡片", + "m_03d0d662f6417857": "网格布局({cols:N}/{template:})", + "m_4f5ec595721386a2": "网格 格子", + "m_5511e6819e5f7622": "12列非对称布局(子 :::area)", + "m_d55c4e8d8a03ccb0": "画布 布局 12", + "m_426a72d1fe03a6ca": "环绕侧边的个人资料卡", + "m_89aa7d3181af6159": "信息框 个人资料", + "m_58432bbf1955743f": ":::infobox {right} {span:4} __VIREO_SLOT_0__\n| 名称 | 值 |\n| 名称 | 值 |\n\n:::", + "m_17e105d42bc57a79": "内容环绕左右面板", + "m_5591bfd19eb12134": "浮动面板", + "m_88c22b4254856d07": "图片均匀网格", + "m_96fc4cbfbbb4a68b": "画廊 图片", + "m_d77ec0c5d65354a6": "标签容器(子 :::tab)", + "m_729d61eb72abd520": "标签 tab", + "m_3c8db42388fda965": ":::tabs\n:::tab 标签 1\n__VIREO_SLOT_0__内容\n:::\n:::tab 标签 2\n内容\n:::\n:::", + "m_b2e85d62c21ea26c": "可折叠条目(子 :::item)", + "m_ae717844f311cab8": "手风琴折叠", + "m_44b0836ae9501f74": ":::accordion\n:::item 条目 1\n__VIREO_SLOT_0__内容\n:::\n:::item 条目 2\n内容\n:::\n:::", + "m_db3b5555c19bee61": "进度步骤(子 :::step)", + "m_879aa0b087e1fb3a": "步骤", + "m_6eaaaff58dad3cc3": ":::steps\n:::step 步骤 1\n__VIREO_SLOT_0__内容\n:::\n:::step 步骤 2\n内容\n:::\n:::", + "m_23249fcbb4541ae0": "名称=值 定义 → {{{@名称}}}", + "m_03ef46a22b868a2c": "meta 变量 文档变量", + "m_79847f774c9abf5a": ":::meta\n标题 = __VIREO_SLOT_0__\n作者 = \n:::", + "m_e4aa9f3cc7f52ddd": "嵌入块", + "m_959f447cf8bdc114": "embed 嵌入 引用 媒体 youtube spotify", + "m_5876fdcab265e1f3": "指定时间之后显示", + "m_8b2b237e6910529a": "after 之后时间点", + "m_07a947f26ac6ae13": "仅在指定时间前显示", + "m_e907c60ac4bad13f": "直到指定时间之前", + "m_f231c50e8d5e879c": "弹出提示", + "m_4a609a79cafc842c": "信息高亮框", + "m_3a337dba478e1b62": "info 信息提示框", + "m_bbca38e930cbff68": "提示高亮框", + "m_473ec26f3b031ee0": "tip 提示框", + "m_8486ba3807e58e90": "成功高亮框", + "m_9cb03ca06ba3b0e7": "success 成功提示框", + "m_9b460cad5e7cae7e": "注意高亮框", + "m_cb0c12f7fe7188a5": "warning 注意警告提示框", + "m_86ab151104bb5f57": "危险高亮框", + "m_f93695c7580de589": "danger 危险提示框", + "m_f777f1fd9661c4ac": "注释高亮框", + "m_3963bd77a691fad5": "note 注释提示框", + "m_4e005affa741cdd5": "Chart.js 图表(键-值 DSL)", + "m_f4b700906190aaae": "chart 图表", + "m_b49df9362b9fc04c": "图示", + "m_39f01b610b764d12": "mermaid diagram 图示 flowchart", + "m_7411923f3565f219": "语法速查表", + "m_adfbc5b5031b3785": "placeholder=\"语法搜索 (名称·用途)…\" role=\"combobox\" aria-expanded=\"true\" aria-controls=\"cheatList\" aria-activedescendant=\"\"", + "m_6fa21481d0463d65": "退出", + "m_353196e2f209db14": "
                  ", + "m_01f3562e8937f940": "
                  ↑↓ 移动回车 插入退出 关闭
                  ", + "m_0c8ad43d75788277": "
                • 没有匹配的语法
                • ", + "m_48cec4d8d32e8c6f": "{palette:primary}{stat:值1|标签1}\n{palette:secondary}{stat:值2|标签2}\n{palette:success}{stat:值3|标签3}", + "m_d9488fcb2def80e5": "分隔线", + "m_aedd6814ff8c516c": "列表", + "m_f09a17e1297a71b2": "编号列表", + "m_c1ccf498b9d46c70": "检查表", + "m_03084381746f9d3f": "row(水平排列)", + "m_40ec1a2864faf2b4": "表格", + "m_89c93f8d51cb6b27": "\n| 表头1 | 表头2 |\n| --- | --- |\n| 单元格1 | 单元格2 |\n", + "m_b0b29ad61c3a4dbd": "插入wiki链接", + "m_63a835c695516cf2": "[[文档标题]]", + "m_6d7d3b4a3fb130a5": "插入模板", + "m_2fd9854b72b78403": "{{模板标题}}", + "m_7d564631b75f58ca": "插入脚注", + "m_90f5c358f338ef2c": "[* 脚注内容]", + "m_eeb99d66983b2d76": "展开/折叠", + "m_6754eb453d1381b3": "[+ 展开/折叠标题] 隐藏内容在这里。 [-]", + "m_59f567500d74d9da": "插入时间戳", + "m_aca561ad6616b9c6": "插入特殊字符", + "m_678e6857dbfa791e": "插入图标", + "m_418dde62ead8a731": "卡片块", + "m_ce7f3924e442da20": "标签/手风琴/进度", + "m_e43408e86524c8cc": "插入颜色", + "m_a08b29f109b398dc": "子文档", + "m_e2cd97fd2dde76e7": "插入谷歌地图", + "m_cead00a863df4d5d": "上传图片", + "m_bb515988d3b48720": "\n
                  \n \n
                  将图片拖到这里
                  \n
                  或点击选择文件
                  \n
                  \n \n ", + "m_9f4eb7d3aa1c1688": "不支持的文件格式", + "m_a94d3f1bd1a8f869": "\n
                  \n
                  \n 目录\n
                  \n \n
                  \n
                  \n \n
                  ", + "m_373dafd051f6edfe": "\n
                  \n
                  \n \n \n
                  \n
                  \n
                  \n
                  \n
                  \n
                  \n
                  __VIREO_SLOT_0__\n
                  \n
                  \n ", + "m_e641c71c0d190e8a": "普通模式", + "m_aa91acdd84951b8f": "编辑器+预览", + "m_41b56eb1bf8a1682": "撰写模式", + "m_70112194ffe3dda1": "仅编辑器", + "m_868dabeaade8d9d4": "查看模式", + "m_e07317efd9062e52": "仅预览", + "m_d294c765583f8080": "切换查看方式", + "m_636e9d2eec6f82bc": "查看方式: __VIREO_SLOT_0__", + "m_a3e580ba52097ae4": "服务器 v__VIREO_SLOT_0__", + "m_63ec8a8f4103f19c": "服务器最新版本", + "m_04d0db5ba27ace52": "<<<<<<< 我的修改版 [#__VIREO_SLOT_0__]", + "m_5166221d7a1f19c9": "我的修改版", + "m_7d585c3842de4e43": "服务器", + "m_9b1cea26e7804e7e": "(新添加)", + "m_d5d8a5afccfbb8bc": "(全部删除)", + "m_139fe8d49d51be54": "行数: ", + "m_65b269a7314db913": "  ·  大小: ", + "m_bd2774867f861fb4": "大容量扩展数据仅显示摘要而非逐行diff。详细比较请保存后使用版本页面。", + "m_eef9de215a79fa02": "
                  之前内容(前5行)
                  ",
                  +  "m_ce244feffda50d66": "
                  当前内容(前5行)
                  ",
                  +  "m_efc453685382dc16": "
                  diff库加载失败
                  ", + "m_7c7d8ee9e062abf5": "无更改", + "m_84bdfed82c8302b4": "...(省略)...\n", + "m_da85dc4c03a7a712": " 服务器内容", + "m_d68d6e631dfb7e11": " 预览", + "m_a37429a8e9ba6ccf": " 查看差异", + "m_8483e00a1e730d91": " 原始", + "m_cc8f6131f8abc5a9": "#__VIREO_SLOT_0__ — 我的:__VIREO_SLOT_1__ ↔ 服务器:__VIREO_SLOT_2__", + "m_682c7c5de9a7fcf4": "点击可跳转至正文中的冲突位置", + "m_c321ac68cb45a57e": "我的", + "m_90fe1c95a048d422": "服务器的", + "m_3bcaa2698d5dfd4b": "两者", + "m_20c483bdda9706e4": "直接", + "m_560bcd460b579488": "(空行)", + "m_2f51d54eda85311e": "__VIREO_SLOT_0__ 个未解决", + "m_fa9e02a7a346f67d": "冲突解决内容已应用", + "m_660725a93b610493": "请在编辑器中继续编辑后保存。", + "m_6a349ddf665850dd": "仍有未解决的冲突", + "m_5fde3e55d19cb3a5": "__VIREO_SLOT_0__ 个冲突标记(<<<<<<<)仍然存在于正文中。是否仍然应用到编辑器?", + "m_a0262d19200d9050": "保持原样应用", + "m_7e318ba57944486a": "继续解决", + "m_c71ac4a126955661": "取消冲突解决", + "m_e6d419c14ea93de9": "放弃编辑内容并刷新为最新版本?", + "m_acf595c34948293d": "刷新(放弃内容)", + "m_f7fa9aa6649f15e9": "此文档正被 __VIREO_SLOT_0__ 同时编辑,可能会发生编辑冲突。", + "m_13ef923140bdadfe": "\n
                  \n \n
                  \n \n
                  \n
                  ", + "m_28eb97fae6405a87": "搜索现有图片", + "m_4e4aa3dda3ff54ae": "\n
                  \n
                  \n \n \n
                  \n __VIREO_SLOT_0__\n
                  \n
                  \n
                  \n \n
                  \n
                  \n ", + "m_6b5dde6e3a599a71": "搜索失败", + "m_2d0270718450107d": "共 __VIREO_SLOT_0__ 个,显示 __VIREO_SLOT_1__ 个", + "m_7ec78a5826a6fbcf": "无结果。", + "m_4e35e2915449a848": "无图片", + "m_bb909f283a1fc5c9": "__VIREO_SLOT_0__ 标签:__VIREO_SLOT_1__", + "m_b1ebd39a6e828143": "选择图片大小", + "m_54198fe2800b9896": "\n
                  \n \"__VIREO_SLOT_1__\"\n
                  __VIREO_SLOT_2__
                  \n
                  \n
                  \n \n \n \n \n
                  \n ", + "m_0d635eda295a08c8": "插入", + "m_a55030239d03452b": "请输入文件名。", + "m_ab2e0b9772ce93a3": "文件名包含不允许的字符:__VIREO_SLOT_0__", + "m_c9c598c90e74c0b2": "文件名最多可输入 __VIREO_SLOT_0__ 个字符。", + "m_b338a7efc6ad1e66": "文件大小仅允许 15MB 以下。", + "m_eba914ae07bfbadf": "无法加载 SVG 安全清理库。请刷新页面后再试。", + "m_16a254e99098adf0": "空格将 - 转换为,并且两端的空格·- 将被删除。 ", + "m_5d704cd6c4bfa10f": "< > ^ / \\ . ? 不可使用。", + "m_a1f6b16b2c3b2a38": "\n \n
                  \n \n
                  \n
                  仅可使用韩文/英文/数字/空格/_/./- · 最多 20 个
                  ", + "m_ba18fae2953eebf1": "\n
                  \n \n \n
                  __VIREO_SLOT_1__
                  \n __VIREO_SLOT_2__\n
                  \n ", + "m_0a1ac7eec7b927f7": "上传", + "m_e6481000e178501b": "保存的文件名: __VIREO_SLOT_0__", + "m_f302c6e835b3628e": "上传失败", + "m_e5e83fc9c45875c4": "大(默认)", + "m_1ef78e7f5b9a3e71": "裁剪区域太小。", + "m_8f7caa3335f974ff": "Turnstile 未准备好", + "m_4ec8d1c56721efad": "安全验证脚本尚未加载。请点击“重新加载验证码”按钮后再试。", + "m_a8e3497b8f82e395": "保存前安全认证", + "m_a3ecb95a4c5084e8": "若要继续保存,请完成以下安全验证。", + "m_daa5a5069c80d9a9": "点击外部区域或按 ESC 键将取消保存。", + "m_59402595c3c3b2ea": "无法渲染安全验证组件。", + "m_86fb214a51cdf2f7": "
                  \n
                  __VIREO_SLOT_0__ 扩展数据(预览禁用)
                  \n
                  __VIREO_SLOT_1__
                  \n
                  ", + "m_777bde40a9ff7e81": "
                  渲染比对模块加载失败。
                  ", + "m_6eb1b64e260a2dd3": "需要登录", + "m_0aee075de8329869": "编辑文档需要登录。", + "m_1e2df9c3075ae9e4": "登录", + "m_71bf59f4724ed8c3": "文档标题未指定。", + "m_cb487221f2198b88": "标题包含不可使用的特殊字符。", + "m_d81753fb3236ed05": "没有编辑权限", + "m_4416e10c79b8fcf2": "此文档仅限管理员,普通用户无法编辑。", + "m_3e16c452d266f638": "此文档设置为私密,无法编辑。", + "m_9105b84b4bd95493": "已删除的文档", + "m_af0a9046ea4987d7": "该文档已被删除。管理员必须恢复后才能再次编辑。", + "m_0d16e7454b329be5": "主页文档只能由管理员编辑。", + "m_1de4bab6f40b6bb7": "\"图片:\" 命名空间的文档由媒体上传页面管理。", + "m_12313c8c625cf809": "此账户没有编辑权限。", + "m_6b59bacbccb7d095": "子文档自动规则", + "m_5c9e81967192dcbf": "文档设置", + "m_4a0c69945a24e95a": "仅满足以下条件的用户可以编辑此文档 (__VIREO_SLOT_0__):
                  __VIREO_SLOT_1__", + "m_078038d646a5bcf5": "编辑权限不足。", + "m_1aacb54c49924296": "确认", + "m_228d34a44aa2df08": "编辑请求模式", + "m_32ab57e6d9aa8e69": "编辑权限不足,保存后将作为编辑请求提交以供审阅者批准。", + "m_f4cd50ffad94e9c4": "\n
                  \n
                  \n __VIREO_SLOT_0__ 扩展数据\n 这是已禁用 Markdown 渲染的原始数据编辑模式\n
                  \n
                  \n \n
                  \n ", + "m_7d4ca7f48effd602": "大", + "m_dc0103c11a2b107b": "左对齐", + "m_d41ad4fcb417e884": "居中", + "m_f594aa6a15b9381c": "右对齐", + "m_106487d2bc2d660e": " 编辑 ", + "m_eec44d1a5d65b9a3": "编辑器设置", + "m_8138e088b975061f": "\n
                  编辑器设置
                  \n \n \n \n \n \n \n
                  \n
                  换行模式
                  \n \n \n
                  \n \n \n \n ", + "m_1dd3e0d08015576b": "查找 / 替换 (Ctrl+F)", + "m_47f25a8a6f1ad0f0": "\n
                  \n \n \n \n \n \n \n
                  \n
                  \n \n \n
                  \n ", + "m_3d275876e9d3790b": " 该类别只能由管理员应用。", + "m_5cc6bc297d72cde3": " \"__VIREO_SLOT_0__\" 类别仅管理员可应用。", + "m_0279a13372258c79": "已删除的文档无法查看或编辑。", + "m_d90f7cd5f542d770": "私有页面无法查看或编辑。", + "m_7599ad1f191ef2e6": "私有页面", + "m_3d49bb2e1d4be61b": "未找到章节。", + "m_57e78dc7f8e63622": "文档结构已更改,将切换到整体编辑模式。", + "m_f1dc7031a246f3de": " 编辑章节:__VIREO_SLOT_0__", + "m_587d35dab87367a2": " 编辑MCP编辑案:__VIREO_SLOT_0__", + "m_bd0beaf1d5900673": " 审核编辑请求:__VIREO_SLOT_0__", + "m_d9d443198a541fbf": " 编辑:__VIREO_SLOT_0__", + "m_f26649c1ec5369df": "编辑:__VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_ac1724aa71d0fbe4": "加载MCP编辑案失败。", + "m_ec96a006c6d2ae0f": "加载编辑请求失败。", + "m_b208f22ff669d5d9": " 编辑MCP编辑案(新建):__VIREO_SLOT_0__", + "m_e07d5909c2cc9b7f": " 创建新页面", + "m_4ded05e76ade6420": "编辑MCP:__VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_a2c620001e3e7c20": "新页面 - __VIREO_SLOT_0__", + "m_7c5e12da007b64cd": " 从模板开始", + "m_d2201ebe07f4e5d1": " 审核编辑请求(新建):__VIREO_SLOT_0__", + "m_0eb8c95b69e10444": "审核编辑请求:__VIREO_SLOT_0__ - __VIREO_SLOT_1__", + "m_0ccf1841c2e0bc91": " 编辑MCP编辑案段落:__VIREO_SLOT_0__", + "m_2b86743ed259dd90": "提交案查询失败(HTTP __VIREO_SLOT_0__)", + "m_3f50f2f92321f051": "提交案标题不一致", + "m_29de34a5db6cd39b": "提交案文档(__VIREO_SLOT_0__) 与当前编辑文档(__VIREO_SLOT_1__) 不同。请跳转到该文档后重试。", + "m_d4986e193451f103": "编辑器无法处理的冲突", + "m_9159f61dacd42488": "文档已被删除,无法在编辑器中编辑。", + "m_a71068bef839a413": "在此期间已生成了相同标题的其他文档。请在 mypage 中拒绝或尝试其他标题。", + "m_61225cca4a4c7bd1": "存在已软删除的相同标题文档。管理员需要先处理。", + "m_9997a5faaa88e5d5": "编辑器无法解决的冲突。", + "m_7ea99d6dde0b4b92": "已备份现有本地草稿。", + "m_d7a7ab5dd04f5dc9": "因在同一文档中已有本地草稿,在 MCP 编辑方案加载前已保存。
                  保存后,可以通过以下键从 localStorage 中恢复:
                  __VIREO_SLOT_0__", + "m_7bbf0318ee8af6f0": "段落编辑模式。", + "m_0911555b8a35600c": "提交方案仅修改了 '__VIREO_SLOT_0__' 段落,因此以该段落编辑模式打开。", + "m_b7b66bc469094b86": "编辑请求查询失败(HTTP __VIREO_SLOT_0__)。", + "m_1bc5210d145a3c23": "文档不匹配。", + "m_bfba8460901deca3": "编辑请求的文档 (__VIREO_SLOT_0__) 与当前正在编辑的文档 (__VIREO_SLOT_1__) 不同。", + "m_d30060e4403b8eb9": "文档已删除。请拒绝请求。", + "m_f39f6a885c587b81": "在此期间已生成了相同标题的其他文档。请拒绝请求。", + "m_2b0655772f08d9b1": "因在同一文档中已有本地草稿,在编辑请求加载前已保存。
                  可以通过以下键从 localStorage 中恢复:
                  __VIREO_SLOT_0__", + "m_d2e4384df45b9b4f": "只能在章节编辑模式下使用。", + "m_088ab35000074718": "请参考 [[__VIREO_SLOT_0__]] 文档。", + "m_1dce7601c57d6ab5": "拆分为子文档。", + "m_987d3b2d984ab715": "\n
                  \n
                  \n \n \n
                  这是将要创建的子文档的标题。已存在的文档标题不可使用。
                  \n
                  \n
                  \n \n \n
                  这是将保留在原有部分标题下的内容。在您亲自修改之前,它会根据上方标题的更改自动更新。
                  \n
                  \n
                  \n ", + "m_4def3dd2fad11187": " 分离", + "m_126ca21a144835c7": "请输入子文档标题。", + "m_8cd214f180d806b2": "子文档标题不能与当前文档相同。", + "m_c0dc12316cd1f6c2": "“图片:”是专用于图片文档的命名空间,因此无法使用。", + "m_02423492453f1807": "正在创建子文档...", + "m_a1b887de60f7c266": "文档“__VIREO_SLOT_0__”已存在。请使用其他标题。", + "m_550903972ff086fa": "从‘__VIREO_SLOT_1__’部分中分离文档‘__VIREO_SLOT_0__’", + "m_d3209956264f62e3": "从文档‘__VIREO_SLOT_0__’中分离", + "m_0b341923955c839f": "创建子文档失败。", + "m_55cb4ca7516ee2e8": "创建子文档过程中发生网络错误。", + "m_12801cdf15ea11e9": "子文档已创建", + "m_c1134648c2104c23": "__VIREO_SLOT_1__ 文档已新建。
                  请在审查更改的段落后 保存 按下按钮以应用更改。", + "m_d2f01605b3cde985": "文档状态已损坏", + "m_bcde4f6d56f9c359": "为安全起见,停止保存。请刷新页面后再试一次。", + "m_619d1e30ff390627": "没有更改内容", + "m_5018d44a41d5eeb4": "请编辑正文或更改分类、重定向设置。", + "m_a21df18dbb6dce0c": "分类中不能使用特殊字符。", + "m_ab8e2f89966c4faa": " 正在保存...", + "m_cf1487e7aa8947c2": "保存失败。", + "m_6309a3bb5ba4c714": "保存失败", + "m_e5d4d87fc2fbde73": "编辑备注已保存。", + "m_8856aac2057bf097": "发生网络错误。", + "m_046f49a813cb38ec": " 保存", + "m_50f541096bae2050": "请求已处理", + "m_c3f405538e609ea8": "此编辑请求已被批准/拒绝或已取消。", + "m_d47eb575afb8b2de": "无法批准", + "m_b9cb3b7f38f0b29d": "找不到原请求者账户。请拒绝请求。", + "m_2d74d57ce2bd8d9d": "文档已被修改", + "m_e82a76527a5b9199": "在开始审查后,其他编辑已被应用。需要根据最新内容重新合并。", + "m_dfeeb8fa2d7cef70": "重新合并", + "m_ebda4623f6052fe2": "审核冲突", + "m_2a397554c1b76f42": "已存在同名文档。请驳回请求。", + "m_2ac931bcbefcca32": "文档状态已更改,无法批准。请重试或驳回。", + "m_e32c8a6ddd7bcef3": "没有权限", + "m_a295fe5c5da8d97e": "您无权批准此文档的编辑请求。", + "m_005c43cba2f22464": "审批失败", + "m_52079e3d89b7f5ed": "审批失败。", + "m_137b95d21b3645b6": "已批准编辑请求", + "m_cd3a4b02c8c8791f": "请求内容已被反映,但审批者的额外编辑未被应用。请重新编辑已发布文档。", + "m_47c387cf256f410a": "请求内容和额外编辑分别作为修订被反映。", + "m_5ee2c8bb13ee1350": "以请求者名义的修订已被反映。", + "m_97bc23a9b6bcad89": "无法重新获取文档信息", + "m_9753745bab72a39b": "可能覆盖其他用户的更改,已停止保存。请刷新页面。", + "m_deac7c7652570a2f": "发生编辑冲突", + "m_ab2117fba2ece592": "同一段落被其他用户同时编辑。请在整体编辑模式下检查冲突内容。", + "m_611b619761284845": "其他用户修改了文档结构。正在切换到整体编辑模式。", + "m_8c6b814d22d4c220": "编辑页面: ", + "m_df18fdfe5cdeb2fd": "编辑请求已提交", + "m_cf57f32bf33ad37b": "此编辑将在审核者批准后生效。
                  在批准前不会在公开文档中显示。", + "m_d9f1cf3269b58ea1": "[edit/main] MCP 提交方案清理失败 (HTTP ", + "m_4e6946551ccdf3fe": ")。需要在我的页面手动清理。", + "m_d947ad1f21ddcc20": "保存完成!", + "m_1d1afe44d0161452": "文档已成功保存。", + "m_ba1fba90f72fd53c": "是否取消编辑?", + "m_9d6ccf8be686e292": "未保存的更改将会丢失。", + "m_22bfa6072aee5d1e": "退出", + "m_0120b5eb9a8d6f42": "继续编辑", + "m_398adf981018d45c": "找不到帖子", + "m_c5348ab5543850dd": "请输入标题", + "m_ae7385e23546887a": "博客帖子已保存", + "m_6d8adad124d0987f": "选择图标", + "m_9c6c669c47481aa1": "选择 Bootstrap 图标", + "m_36bdb068c44b81a8": "选择 Material Design 图标", + "m_0ca868255f76b256": "
                  ", + "m_b2c53b9650b29f9d": "", + "m_c3951dc60bf96486": "\n
                  选择大小
                  \n __VIREO_SLOT_0__\n \n ", + "m_49b37c4e3f471e7d": "选择大小", + "m_ffcc35339312833b": "希腊字母", + "m_ccc8d833af3fed83": "数学符号", + "m_2785ce58df740e52": "箭头", + "m_1566f907a6cafa98": "货币", + "m_7ac690f892035c00": "标点符号", + "m_39c739b867eef4ab": "数字/单位", + "m_2a1ab0fc433fe4a3": "形状/其他", + "m_ce91402873043528": "\n
                  \n Ω 特殊字符\n
                  \n
                  __VIREO_SLOT_0__
                  \n
                  \n ", + "m_ad2a021727ba5006": "按出生日期", + "m_1272d20262a7297f": "显示固定时间", + "m_995d13c173849c77": "剩余/已过时间", + "m_74b26fc4e214ba84": "日历", + "m_1649005aa08afe3f": "以日历显示日期", + "m_139e9bf69e8e8a27": "所选时间将以固定日期/时间字符串显示", + "m_1d03cb185f79e003": "到所选时间的剩余/已过时间将实时显示", + "m_95d1a4bc0f3a1f4e": "\n
                  \n \n \n
                  __VIREO_SLOT_2__
                  \n
                  ", + "m_f7ea9e331f809359": "出生日期", + "m_09f76a1b7a6712ee": "日期", + "m_b6306b0c0739bba6": "显示截至今日的实际年龄", + "m_1441cf3cc6d86041": "显示到所输入日期的剩余/已过天数。若省略年份,则每年重复", + "m_1f8b9e640386d7ad": "以日历形式显示所输入日期。若省略年份,则不显示年份", + "m_56f38475c09e90ed": "\n
                  \n \n \n
                  ", + "m_95f164c4fa1c981a": "填写必填项后将显示预览", + "m_b3e62163fc465b9d": "输入值无效", + "m_a03bcaac1008e846": "请输入日期和时间", + "m_6d63e624c20eba5c": "请输入有效的日期/时间", + "m_487739cecc25e679": "请输入日期。", + "m_9a45d8beac2b662c": "\n
                  \n
                  \n \n
                  __VIREO_SLOT_0__
                  \n
                  \n
                  __VIREO_SLOT_1__
                  \n
                  \n \n
                  \n
                  \n
                  \n
                  \n ", + "m_70bd191952fc71c7": "插入时间戳", + "m_c8de9972319654a0": "请填写必填项。", + "m_7ba89c363a3a76a9": "标题__VIREO_SLOT_0__", + "m_0ab884b9ab2c7a09": "内容__VIREO_SLOT_0__", + "m_4f39790bfd22c8c0": "内容为空", + "m_7f697abbf2047c77": "找不到逗号分隔符", + "m_dcddd4797bbccfca": "没有有效行", + "m_d39f7108d58e7acd": "列数必须大于等于2", + "m_392832a675bf3e47": "第__VIREO_SLOT_0__行的列数(__VIREO_SLOT_1__)与表头(__VIREO_SLOT_2__)不符", + "m_fdf04f03e0b2c942": "插入CSV表", + "m_7d683b4d01ff4ada": "\n
                  \n

                  \n 请粘贴CSV数据。首行将用作表头。\n

                  \n \n
                  \n ", + "m_8abb941adbc7997a": "请输入CSV数据。", + "m_6a72b554a7c28caf": "未知错误", + "m_894d2755019c74bc": "非CSV格式: ", + "m_ffbbd93f310f6250": "插入谷歌地图", + "m_8c1df1d5a0dfba80": "\n
                  \n

                  \n 谷歌地图 → 分享 → 嵌入地图请粘贴从中复制的HTML。\n

                  \n \n
                  \n ", + "m_82ff6e1e38dd2f4c": "请输入iframe HTML。", + "m_480b6590ee92d485": "无效的iframe代码。", + "m_4ac094a75c8ed4f0": "不是谷歌地图URL。", + "m_e46f9e192d1f7d11": "无效的URL。", + "m_7647e729130059dc": "", + "m_a983c6b83bb1ecf8": "插入卡片 / 嵌入 / 提示块", + "m_2246fddc05d573ac": "\n
                  \n
                  \n \n \n
                  \n \n \n \n
                  \n
                  \n
                  \n \n \n
                  \n __VIREO_SLOT_0__\n
                  \n
                  \n
                  \n \n \n
                  \n
                  \n \n \n __VIREO_SLOT_1__\n
                  \n
                  \n \n \n
                  \n
                  \n ", + "m_7df2e1f129e0c26b": "留空时将用‘内容’作为占位符。", + "m_7c9d19d16fab0f77": "要嵌入的媒体URL(YouTube·NicoNico·Spotify·地图)每行一个", + "m_47af9e15b60b97a5": "左边框调色板", + "m_80d5305b067475b9": "标题(可选)", + "m_5fdab11e30cecaea": "嵌入标题", + "m_f457a2ac27592fb5": "标题(可选,留空为默认标题)", + "m_f6ebefaf89ab40e4": "示例:必须备份", + "m_01ac2b0c6f4e158f": "标题调色板", + "m_92ab0fddb7f04da5": "卡片标题", + "m_4cdf202c9558f2c5": "本文中以 ::: 开头的行会关闭块,因此无法使用。", + "m_7a688306423bec17": "内容", + "m_494d6529da346053": "\n
                  \n
                  \n \n
                  \n \n \n \n
                  \n
                  \n
                  \n \n
                  \n \n \n
                  \n
                  \n
                  \n \n \n \n
                  \n
                  \n
                  \n
                  ABC
                  \n
                  \n ", + "m_fa106cabdda26e90": "\n
                    \n
                  • \n \n
                  • \n
                  • \n \n
                  • \n
                  \n
                  \n
                  \n

                  点击所需调色板后将插入编辑器。

                  \n __VIREO_SLOT_0__\n
                  \n
                  \n __VIREO_SLOT_1__\n
                  \n
                  \n ", + "m_6146c4ffc51735d5": "插入颜色", + "m_ca905f2e8dad44e5": "请输入有效的颜色代码(Hex)。", + "m_c9f511c1c9221959": "统计", + "m_03a581e6686dde00": "", + "m_43879d12b6623841": "无", + "m_30ec4d8c6534a85a": "选择图标 不选择", + "m_1b8575f36b9b08c7": "\n
                  \n \n
                  \n
                  __VIREO_SLOT_0__
                  \n
                  __VIREO_SLOT_1__
                  \n \n __VIREO_SLOT_3__\n
                  \n
                  ", + "m_16f64fe47b163b81": "更改", + "m_8d1a750c9351d1b8": "选择", + "m_88cdc26b4350f44b": "", + "m_ba152dbc0c19e004": "\n
                  \n
                  \n \n \n
                  \n
                  \n \n \n
                  \n
                  \n __VIREO_SLOT_2__", + "m_7217405d546156e8": "\n
                  \n \n \n
                  \n
                  \n \n \n
                  \n __VIREO_SLOT_2__", + "m_95bd08c478861f89": "例如:Beta", + "m_2c48e443bb1d8825": "例如:NEW", + "m_97c94ee5e5a838e6": "\n
                  \n \n \n
                  \n __VIREO_SLOT_2__", + "m_dafe247453aa7693": "填写必填项后将显示预览", + "m_e035a3de4da7d35c": "请输入文本。", + "m_6b9a6d3b336e2d71": "文本中不能使用 {, }, |, 换行字符。", + "m_003ab5d5618f9c91": "请输入数值。", + "m_9f3e59080fdd2350": "值/标签中不能使用 {, }, |, 换行字符。", + "m_94581cc7585ca7f4": "请输入链接。", + "m_daab054698e34b49": "标题中不能使用 {, }, |, 换行字符。", + "m_c6cee464c464112c": "链接中不能使用 {, }, |, 换行字符。(| 请在 URL 编码为 %7C)", + "m_c20801f40b7d2560": "\n
                  \n
                  \n \n
                  __VIREO_SLOT_0__
                  \n
                  \n
                  \n \n
                  \n
                  \n
                  __VIREO_SLOT_1__
                  \n
                  \n \n
                  \n
                  \n
                  \n
                  \n ", + "m_c48c43adb05aebfd": "\n
                  \n
                  \n \n
                  \n
                  图标库选择
                  \n
                  \n \n \n
                  \n
                  \n ", + "m_caf6dd4efb1f43e7": "\n
                  \n
                  \n \n \n
                  \n
                  \n \n

                  正在加载图标...

                  \n
                  \n
                  \n
                  \n \n

                  没有搜索结果.

                  \n
                  \n
                  \n ", + "m_7961a83384d35efe": "更改库", + "m_f090ebd527130a04": "返回", + "m_699cde60d54b4dc9": "插入徽章", + "m_4ef3cdd6efbba5c3": "插入子文档结构", + "m_1194ddd41eefe131": "\n
                  \n \n \n
                    \n __VIREO_SLOT_0__\n
                    \n \n
                    \n                        
                    \n
                    \n ", + "m_8e1cef6dc6337762": "\n
                    \n \n \n
                    ", + "m_123bd246e01133e0": "导入模板", + "m_aa0589ba34de4380": "\n
                    \n \n \n
                    \n
                    \n \n
                    \n ", + "m_c00e6c626e710688": "
                    没有搜索结果.
                    ", + "m_7a62c8ac8f4eada2": "
                    正在加载...
                    ", + "m_31d2191b2eb19131": "无法加载模板列表。", + "m_56d861199a9955aa": "无法加载模板内容。", + "m_7ecb1aab70dc86ae": "覆盖内容", + "m_dfd24654e5de4b83": "当前正在编辑的内容将消失。您确定要继续吗?", + "m_9408082561e0727e": "是,覆盖", + "m_4c490f1ca1d756f8": "否", + "m_bb0ef12c864f932d": "已加载模板。", + "m_6d920f20af1fbb93": "输入值(可选)", + "m_92dd5ec930a5f047": "默认值:(空值)", + "m_ffcc8ccfea24a0bc": "有默认值", + "m_21084b6c308bfc4c": "默认值:__VIREO_SLOT_0__", + "m_41ba8a4a77de8ea9": "插入模板", + "m_18af8e11855e7194": "\n
                    \n
                    \n
                    \n \n \n
                    \n
                    \n
                    \n
                    \n
                    \n ", + "m_a1a80a460199fb2e": "无法加载模板列表。", + "m_a3888c0ffc458644": "
                    模板内容 正在加载...
                    ", + "m_70ddbabf318bc9f4": "无法加载模板内容。", + "m_808bca7b24c1ef11": "", + "m_02e46a21c00368ef": "位置参数 __VIREO_SLOT_0__", + "m_e5b4ba4c5b5849b5": "\n
                    \n \n __VIREO_SLOT_1__\n
                    \n __VIREO_SLOT_2__\n
                    预览
                    \n
                    \n
                    \n \n \n
                    \n ", + "m_81b5029b153b5b67": "\n
                    \n
                    参数(__VIREO_SLOT_0__个)
                    \n
                    __VIREO_SLOT_1__
                    \n
                    ", + "m_f508b82ec73b32de": "
                    该模板没有需要填写的参数。
                    ", + "m_8fbd5bc575ef6641": "进度", + "m_2a73ed53178ab6fe": "等待", + "m_52e94db6f68c7bdf": "进行中", + "m_727333ab0740d7d8": "完成", + "m_f8f8aa0ea86fa2cb": "\n
                    \n \n \n
                    ", + "m_7af33c647f3fa845": "", + "m_fc96c86388ff353c": "__VIREO_SLOT_0__步骤标题", + "m_e998dd3e6ab1ea90": "项目 __VIREO_SLOT_0__ 标题", + "m_67422b9f36e16f6f": "例如:标签 __VIREO_SLOT_0__", + "m_c604372f2450c30e": "例如:__VIREO_SLOT_0__步骤", + "m_5ee122a59e94bed2": "例如:项目 __VIREO_SLOT_0__", + "m_75602484d2d2d49b": "", + "m_b000bfeac043e63a": "\n
                    \n
                    \n __VIREO_SLOT_1__\n \n \n
                    \n __VIREO_SLOT_7__\n \n
                    ", + "m_cc35839126f937d2": "\n
                    \n \n
                    ", + "m_706815de4845ba5c": "\n
                    \n \n \n
                    0–100之间的数字,或a/b形式的分数(b ≥ a)。
                    \n
                    \n
                    \n \n \n
                    \n
                    \n \n __VIREO_SLOT_2__\n
                    ", + "m_f98ff92c3b517d9d": "\n
                    __VIREO_SLOT_0__
                    \n ", + "m_ae85ebe729883ed1": "\n
                    \n
                    \n \n
                    __VIREO_SLOT_0__
                    \n
                    \n __VIREO_SLOT_1__\n __VIREO_SLOT_2__\n __VIREO_SLOT_3__\n
                    ", + "m_d063e7dfecfefbcc": "插入结构组件", + "m_254f1c310d7371ef": "数值必须为0–100之间的数字或a/b(b ≥ a)分数。", + "m_26a24b7e0ea8a922": "至少需要1个以上的项目。", + "m_2f8cf5a7c5ccd681": "项目正文中以 ':::' 开头的行会关闭区块,无法使用。", + "m_5c2a8f867bc8be99": "标签 __VIREO_SLOT_0__", + "m_7128e1015a8dd3dc": "项目 __VIREO_SLOT_0__", + "m_977c0c00c8ebaa5e": "__VIREO_SLOT_0__ 步骤", + "m_37a35f695d13de6a": "__VIREO_SLOT_0__ 外 __VIREO_SLOT_1__ 个", + "m_6d3d57e31f94600e": "部分", + "m_e31c881e16db95c5": "将 __VIREO_SLOT_0__ '__VIREO_SLOT_1__' → '__VIREO_SLOT_2__' 重命名", + "m_e7a8a42e031bf6ea": "将 __VIREO_SLOT_0__ 重命名为 __VIREO_SLOT_1__", + "m_2f18f2b811bf77a0": "添加 __VIREO_SLOT_0__ __VIREO_SLOT_1__", + "m_f5adc7cae0cf6975": "删除 __VIREO_SLOT_0__ __VIREO_SLOT_1__", + "m_aef0755c90fc2f17": "编辑 __VIREO_SLOT_0__ __VIREO_SLOT_1__", + "m_0ce908153b8c4723": "[+__VIREO_SLOT_0__ 行]", + "m_28f4885ee4cc6f4d": "[-__VIREO_SLOT_0__ 行]", + "m_4a3f2ae942af04cc": "[+__VIREO_SLOT_0__ 行 -__VIREO_SLOT_1__ 行]", + "m_c10e2eaa0268650c": "子部分", + "m_f359d66813daa42f": "将 '__VIREO_SLOT_0__' 部分分离为 '__VIREO_SLOT_1__' 子文档", + "m_e1f660558dd31528": "删除部分标题", + "m_985a5f979ef19c05": "删除 '__VIREO_SLOT_0__' 部分标题", + "m_cc11371b5a1dcf37": "更改 '__VIREO_SLOT_0__' 部分级别 (H__VIREO_SLOT_1__ → H__VIREO_SLOT_2__)", + "m_8a12bc762ca4fdd5": "将 '__VIREO_SLOT_0__' → '__VIREO_SLOT_1__' 重命名部分", + "m_3ce84c749766490c": "编辑 '__VIREO_SLOT_0__'", + "m_ba5f59098d850c32": "创建文档", + "m_ae5e8a60a5e184d7": "设置替代标题 '__VIREO_SLOT_0__'", + "m_2edd189025428bf6": "取消替代标题 '__VIREO_SLOT_0__'", + "m_8c7c679e495c64d0": "替代标题 '__VIREO_SLOT_0__' → '__VIREO_SLOT_1__' 更改", + "m_6c44f3d4ed564acf": "添加分类 __VIREO_SLOT_0__", + "m_5a040009152a8117": "删除分类 __VIREO_SLOT_0__", + "m_23a212a1e65a49ad": "设置转交 '__VIREO_SLOT_0__'", + "m_f6fbe6e758da10c3": "取消转交", + "m_4622a0ae2316d86b": "设置编辑备注", + "m_6cd2a24fc06cb39b": "删除编辑备注", + "m_8dcd11aee6f0dbb9": "更改编辑备注", + "m_8029674526ac2912": "编辑正文", + "m_731818359bf928c3": "\n
                    \n \n \n \n
                    \n
                    \n
                    \n \n \n \n
                    \n
                    \n
                    \n \n \n \n
                    \n
                    \n
                    \n \n \n \n \n
                    \n
                    \n \n ", + "m_90261fcce39fc898": "__VIREO_SLOT_0__行", + "m_411b2c6b766399b8": "__VIREO_SLOT_0__字符(含空格)", + "m_3f461b232fc684b2": "__VIREO_SLOT_0__字符", + "m_1838d440c8d73857": "__VIREO_SLOT_0__词", + "m_f5c3734f1842d175": "无需保存内容", + "m_ffe73dd0b9913359": "已保存草稿", + "m_4a0c4ffb632258ff": "已在此浏览器临时保存", + "m_0fdee520a75bf81b": "草稿保存失败", + "m_0d3fa0fb13f01944": "无法记录到浏览器存储(可能容量不足)", + "m_02d29b4444c4bc35": "文档期间已被编辑", + "m_8c6275b0525f518a": "自上次保存草稿以来文档已被编辑。是否加载草稿?", + "m_8673367aa168346a": "是,加载(解决冲突)", + "m_644e6e73401bc4b5": "否,删除草稿", + "m_81d70d3ce436e08d": "有已保存的草稿", + "m_3debe2c26e180005": "是否加载之前保存的草稿?", + "m_4615af86275a1ed2": "是,加载", + "m_ca8ae38121505dba": "不,删除", + "m_4b6e64b01208ec5b": "已调用", + "m_dd15748fb340ff41": "已加载保存的草稿。", + "m_dbfe8bc53f299dac": "部分 #__VIREO_SLOT_0__", + "m_bb23db5abfb5746e": "未找到部分位置", + "m_8857aa2850c69203": "__VIREO_SLOT_0__ 部分有保存的草稿,但文档结构已更改,无法找到位置。", + "m_15a73ae33375c3b1": "删除草稿", + "m_a12252500035668f": "稍后", + "m_9ec3652c9d614929": "已保存的部分草稿", + "m_6506287817248afd": "__VIREO_SLOT_0__ 已有草稿保存于。
                    是否要加载到正文中?", + "m_a1a6f7bd639bc549": "已将 '__VIREO_SLOT_0__' 部分草稿合并到正文中。", + "m_75315ee45ec4712a": "行首存在不可见字符(零宽空格)——标题 (#) · 列表等行首语法可能无法识别。保存时会自动删除。", + "m_c80a6dcbf6960a9f": "画布区域跨度之和不是 12 的倍数(当前 __VIREO_SLOT_0__ — 行可能未填满)。", + "m_41c6f48afae8edc4": "未注册调色板: \"__VIREO_SLOT_0__\"。", + "m_fe956171e5a0b99d": "块 \":::__VIREO_SLOT_0__\" 未关闭(需要 :::)。", + "m_39230b204bd49873": "重复的 {id:__VIREO_SLOT_0__} — 在文档中已使用 __VIREO_SLOT_1__ 次。", + "m_d6f5e3691cc6008b": "访问限制", + "m_81c940c801e0ec7f": "仅超级管理员可访问。", + "m_0e196333719d862c": " (即使离开页面也会在服务器继续运行)", + "m_b4adc72395479a89": "删除操作进行中... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_a0ef6c9fa2bd275d": " (即使离开页面也会在服务器继续运行)", + "m_faf001b7100460ec": "删除中... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_e591663c20e8b8b7": "移动操作进行中... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_2d3c90871a22aed2": "移动中... (__VIREO_SLOT_0__/__VIREO_SLOT_1__)", + "m_222e45adc7dbf99f": "作业已在运行中", + "m_7574c10174114a52": "当前有其他批量操作正在运行。
                    在完成或停止之前无法启动新作业。", + "m_17347648a5c751ee": "作业提交失败", + "m_5a956bebe2ca288c": "HTTP __VIREO_SLOT_0__", + "m_2f7c5b2dedf710e2": "状态查询失败", + "m_05ad218b2ac1779d": "无法查询作业状态。请检查网络并刷新页面。", + "m_79c234a547f281f2": "停止失败", + "m_da9295df13296758": "未选择", + "m_154745f0cb57b53e": "请选择要删除的文档。", + "m_8ad4371e3ea4adf5": "确认永久删除", + "m_65d6068e556b1cac": "确认删除页面", + "m_7544d023fa852dbd": "已选择 __VIREO_SLOT_0__个 文档 永久删除。
                    将删除包括讨论、修订、关注设置在内的全部内容 无法恢复。", + "m_e92dbc8971ca237a": "已选择 __VIREO_SLOT_0__个 将删除文档。(以后可以恢复)", + "m_4e01a4d26a03423b": "永久删除", + "m_73c02260be022109": "作业提交中...", + "m_27ab0c6f71896fa2": "删除中...(0/__VIREO_SLOT_0__)", + "m_e4f69e236d51ed95": "
                    错误: __VIREO_SLOT_0__
                    ", + "m_891598d221db1571": "
                    作业错误: __VIREO_SLOT_0__
                    ", + "m_83dc9a22a33d0895": "
                    __VIREO_SLOT_0__个文档已被__VIREO_SLOT_1__删除.__VIREO_SLOT_2__
                    ", + "m_a5e69871d2934498": "永久 ", + "m_e3a2ddb8e52349a1": " (__VIREO_SLOT_0__个已跳过)", + "m_547c96cbe08c4ad6": "需要输入", + "m_61560166d5d4eabd": "请输入“查找内容”。", + "m_327563a465cf538b": "“查找内容”和“替换内容”相同。", + "m_bd77cc3b242f9d7b": "请选择要移动的文档。", + "m_5e14d1c058efae1e": "(无更改)", + "m_0bdc92c1b6798d08": "\n
                    \n
                    预览 — 更改目标 __VIREO_SLOT_0__个 / 已选择 __VIREO_SLOT_1__个
                    \n
                      __VIREO_SLOT_2__
                    \n
                    ", + "m_827597193b7f7d53": "无更改", + "m_66daf03ffc0fac65": "在所选文档中包含“要查找内容”的 暂无页面。", + "m_c8e0d126500c7350": "文档批量移动确认", + "m_1022c9304cc114df": "在所选文档中 __VIREO_SLOT_0__个的地址(slug)中 ", + "m_8cc99a47224784a9": "__VIREO_SLOT_0__ → __VIREO_SLOT_1__ 替换为并移动。", + "m_e636bda8ebcf0cc1": "
                    指向各文档的 引用链接正文也将一并更新。", + "m_1aa576d666714a04": "
                    不更新引用链接正文。", + "m_73b2738ac4b74fd2": "
                    移动无法撤销(可通过再次移动恢复)。", + "m_e33ef078b7cf5037": "执行移动", + "m_24566fe78189441f": "移动中... (0/__VIREO_SLOT_0__)", + "m_3a16ff06f051eb49": "已移动 __VIREO_SLOT_0__ 个文档。", + "m_b1be2efca8e7b129": " (更新引用链接 __VIREO_SLOT_0__ 条)", + "m_f80dec7cd41af1b0": " · 跳过 __VIREO_SLOT_0__ 条__VIREO_SLOT_1__", + "m_b663ddf9f8baa973": " (另 __VIREO_SLOT_0__ 条)", + "m_22a363c2bacabe70": " · 反向链接更新失败 __VIREO_SLOT_0__ 条", + "m_8dcac6e9c804b4aa": " · 反向链接部分未更新 __VIREO_SLOT_0__ 条", + "m_142aa09bb01a7e39": "
                    移动成功,但引用链接更新失败的文档(引用可能仍保留旧地址)
                      __VIREO_SLOT_0__
                    ", + "m_19201c5bcc6bd7d5": "冲突 __VIREO_SLOT_0__", + "m_2a245cdc2401ba0a": "跳过 __VIREO_SLOT_0__", + "m_ac2fba8377d87700": "
                  • __VIREO_SLOT_0__ — 引用链接 __VIREO_SLOT_1__ 条未更新
                  • ", + "m_22c4247c02491409": "
                    部分引用链接未更新的文档(超过200个·同时编辑冲突·读取失败等 — 该引用可能仍保留旧地址)
                      __VIREO_SLOT_0__
                    ", + "m_0615ca8b3271a36b": "
                    另 __VIREO_SLOT_0__ 条(结果截取,详细略)
                    ", + "m_3dba0f2f82d951de": "
                    被跳过的文档
                      __VIREO_SLOT_0__
                    __VIREO_SLOT_1__
                    ", + "m_dc1e1c170a6005d0": "重新索引中... (__VIREO_SLOT_0__/__VIREO_SLOT_1__) — 修正不匹配的 __VIREO_SLOT_2__ 个文档,记录链接 __VIREO_SLOT_3__ 条__VIREO_SLOT_4__", + "m_b1168cb5088e809e": ", 跳过 __VIREO_SLOT_0__ 条", + "m_4e79d5330305f2b9": "✓ 完成 — 总共处理 __VIREO_SLOT_0__ 个文档__VIREO_SLOT_1__", + "m_d9525c44539fb8c4": "
                    索引不匹配 __VIREO_SLOT_0__个页面已编辑 —", + "m_54578b0fc2f6382a": " 添加缺失链接 __VIREO_SLOT_0__ 条 · 删除剩余链接 __VIREO_SLOT_1__ 条(重新记录总计 __VIREO_SLOT_2__ 条)
                    ", + "m_864f9e90a54aef3f": "
                    …另外跳过 __VIREO_SLOT_0__ 个文档
                    ", + "m_544d1a470b641ce0": "
                    已修正文档(缺失/剩余链接)
                      __VIREO_SLOT_0__
                    __VIREO_SLOT_1__
                    ", + "m_0c90c9c7adbe4fe3": "
                    已处理的文档索引均与正文匹配(跳过的文档未验证 — 见下列表)。
                    ", + "m_446e3defe7106496": "
                    所有文档的反向链接索引与正文一致(无修改)。
                    ", + "m_cffe2423b754b83e": "
                    跳过的文档ID(错误或未达最小大小)
                    __VIREO_SLOT_0__
                    ", + "m_05bd56619e5960f8": "错误: __VIREO_SLOT_0__", + "m_e8a4dbe174cfde00": "已暂停 — 已处理 __VIREO_SLOT_0__ 条(可恢复)", + "m_4f9a5073a0fd9162": "重新开始任务中...", + "m_8b6afd54317c5d9c": "补充中... (__VIREO_SLOT_0__/__VIREO_SLOT_1__) — 镜像 __VIREO_SLOT_2__ 条,跳过 __VIREO_SLOT_3__ 条", + "m_388f1f1d9874393b": "✓ 完成 — 镜像 __VIREO_SLOT_0__ 条,跳过 __VIREO_SLOT_1__ 条(总共处理 __VIREO_SLOT_2__ 个文档)", + "m_3d6b38494e727a56": "请输入搜索词。", + "m_47a1fa6f0e1a0d32": "正在搜索...", + "m_6e588599c725e484": "匹配的 暂无页面。", + "m_1e17ef3b52568348": "__VIREO_SLOT_0__ 个 搜索页面__VIREO_SLOT_1__", + "m_8877a6381e48058a": " (最多显示 __VIREO_SLOT_0__ 个。请缩小搜索范围。)", + "m_71ff102ea89b4e6e": "错误: __VIREO_SLOT_0__", + "m_7bbf8a6c8a63d18b": "已删除", + "m_d0386e67dd1f4a6f": "\n
                    \n \n __VIREO_SLOT_0__个\n
                    \n __VIREO_SLOT_1__
                    \n ", + "m_3ade1fed4df03c54": "已选择 __VIREO_SLOT_0__ 个", + "m_25044a9beab77aac": "仅管理员可访问。", + "m_290aea65c3f16fa7": "图片列表加载失败", + "m_83382c601afc0ed6": "无法加载图片列表", + "m_e6c8a4e6ff6206e1": "
                  • ", + "m_56faeea9d4279b1a": "
                  • ", + "m_1ebf863315a6276d": "
                  • ", + "m_18abceefc15fa773": "
                  • ", + "m_89fa716c20d6975b": "\n
                    \n __VIREO_SLOT_1__\n
                    \n __VIREO_SLOT_4__\n
                    __VIREO_SLOT_5__ · __VIREO_SLOT_6__ · 上传者: __VIREO_SLOT_7__
                    \n __VIREO_SLOT_8__\n
                    \n
                    \n \n \n
                    \n
                    \n ", + "m_02121e9f89592303": "总共 __VIREO_SLOT_0__ 个 · 显示 __VIREO_SLOT_1__-__VIREO_SLOT_2__ · 第 __VIREO_SLOT_3__/__VIREO_SLOT_4__ 页", + "m_4fb0bcdb64aa72c6": "删除图片", + "m_7fe8eb1fe4c3e8b2": "确定要删除 \"__VIREO_SLOT_0__\" 图片吗?此操作无法撤销。", + "m_077a6d37719a0e21": "已删除", + "m_74c1a50ecff0bebf": "正在搜索未使用的图片... (可能需要一些时间)", + "m_ff106bdf32342a01": "
                    没有未使用的图片。所有图片均已在文档中使用。
                    ", + "m_08e1c6d38e3fef61": "
                    在全部 __VIREO_SLOT_0__ 张图片中 __VIREO_SLOT_1__ 个没有在任何文档中使用
                    ", + "m_4fab65f10314a98f": "\n
                    \n \n __VIREO_SLOT_1__\n
                    \n __VIREO_SLOT_4__\n
                    __VIREO_SLOT_5__ · __VIREO_SLOT_6__ · 上传者: __VIREO_SLOT_7__
                    \n
                    \n \n
                    ", + "m_f9e39928a681db2a": "
                    错误: __VIREO_SLOT_0__
                    ", + "m_f56c6c82203b33f6": "提示", + "m_6592941155924ffc": "请选择要删除的图片。", + "m_517f80d5e802c50e": "删除未使用的图片", + "m_9505857337fbdb51": "已选择 __VIREO_SLOT_0__个 确定要永久删除图片吗?
                    此操作无法撤销。", + "m_d37f24fb4e0d7b1d": "删除中...", + "m_c6c7a20bf9453422": "已删除 __VIREO_SLOT_0__ 张图片。", + "m_6d235d1bf6051e40": "\n\n警告: __VIREO_SLOT_0__", + "m_a9734db6fb176602": "垃圾收集完成", + "m_ac1f587179b371a1": " 删除所选", + "m_1157eee8b9283734": "正在追踪反向链接...", + "m_38372774e5415a6e": "请稍候。", + "m_4291ef38489ca46a": "反向链接追踪失败", + "m_1ce6d6664cb04530": "\n
                  • \n \n __VIREO_SLOT_1__\n \n 博客\n
                  • ", + "m_990b4c1d7cad17e1": "\n
                  • \n __VIREO_SLOT_0__\n 讨论\n
                  • ", + "m_33cbb4602073fb78": "\n
                  • \n \n __VIREO_SLOT_1__\n \n 工单\n
                  • ", + "m_f1e3e9ce7c1fb7dd": "\n
                  • \n \n __VIREO_SLOT_1__\n \n 页面\n
                  • ", + "m_7f6ade650e10d379": "
                    正在使用此图片的页面不存在。
                    ", + "m_fd33b1a4b07e2384": "反向链接追踪结果", + "m_7ed12ac44a9887cb": "__VIREO_SLOT_0__ 使用文档列表
                    ", + "m_09aa016c5f43372b": "用户", + "m_0ac696c929c4a7ed": "超级管理员", + "m_f932426b3687e632": "管理员", + "m_e5d47a576f5bcf8e": "讨论管理员", + "m_af258636a654f632": "", + "m_8199969ee24826d1": "已阻止", + "m_f7986512b3886a5c": "正常", + "m_293182ec397e6b89": "已解除", + "m_4b785e68bbaeafb2": "已更改", + "m_f4e3ec810bc2950d": "__VIREO_SLOT_0__ 已阻止", + "m_a6e7c85021623cdb": "天数 (0=解除)", + "m_9aa31a355c5f1c82": "开放 (完全开放)", + "m_0e1d6e435d1d8866": "禁用 (已阻止)", + "m_eb23450bff80aeee": "列表查询失败", + "m_1b109fcd101882f3": "加载失败: __VIREO_SLOT_0__", + "m_fe57cc5642b72994": "没有已发布的公告", + "m_b88414a7c7371ad2": "(仅文字)", + "m_ea6a263186c95b72": "
                    blog#__VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__
                    ", + "m_bb8c8af377862bd1": " 已删除", + "m_0cca5a2971f119fa": "(无标题)", + "m_3c45a98ec04e084c": "", + "m_f66e36e2558de90f": "", + "m_7240ba2c07574495": "", + "m_6e59915db6f900f2": "", + "m_c1f3de26a5f102c6": "图标选择器未加载。", + "m_80a42fdc93a8b3a3": "请输入标题。", + "m_c0fd9a542515c058": "发布失败", + "m_da0dad56d4887e78": "公告已发布。", + "m_710cee6baf966ad9": "您确定要撤回公告吗?", + "m_4c84afb1ab910432": "撤回", + "m_ed8b1ad5e3a58158": "撤回失败", + "m_2ac5f029a8308b3b": "移动失败", + "m_2b8e0177e794ff8b": "修改失败", + "m_9693e1eb3edb1291": "已复制", + "m_7027c91cb33c8afe": "保存完成", + "m_6c700457992d1984": "\n __VIREO_SLOT_0__\n __VIREO_SLOT_1__\n __VIREO_SLOT_2__\n __VIREO_SLOT_3__\n \n \n \n \n ", + "m_562d741f32937c7a": "没有申请", + "m_3552caa98eb436e3": "批准处理时发生错误。", + "m_4f16c308b26b0191": "拒绝处理时发生错误。", + "m_191697bdb0eece29": "列表加载失败。", + "m_9d5d4fed551fb021": "\n \n
                    __VIREO_SLOT_0__
                    \n \n __VIREO_SLOT_1__\n \n \n \n \n ", + "m_8e33ab759d3c49a0": "已删除的页面不存在", + "m_f969cc6c70f1147d": "共 __VIREO_SLOT_0__ 条", + "m_917aa9acc9bd4f00": "
                  • ", + "m_db21ba87d2bb268f": "
                  • ", + "m_b88012495fd61b7f": "
                  • ", + "m_87d48311da56e798": "
                  • ", + "m_a77e673e33df301f": "您确定要恢复文档吗?", + "m_e7274914741b7904": "恢复", + "m_c00baeeecffdda4b": "恢复失败。", + "m_1d358458933cf3d4": "恢复完成", + "m_6f5d64ead92339db": "注册 N 天", + "m_1c6746a696b590ab": "此编辑页面历史", + "m_8cf990d20980a733": "任意编辑历史", + "m_f71eb110c02ececf": "没有注册的类别 ACL", + "m_ffdbb50e2aa475ec": "已禁用", + "m_a94c4ebca1afc288": "\n
                    \n __VIREO_SLOT_1__\n __VIREO_SLOT_3__\n
                    \n __VIREO_SLOT_4__份文档\n
                    ", + "m_a0e7ee7d62d7117e": "
                    列表查询失败: __VIREO_SLOT_0__
                    ", + "m_a804540cad75651f": "日志加载失败.", + "m_1c33d57d376671cb": "没有日志", + "m_375f2a17fd005d33": "
                  • ", + "m_504ade90bc80e729": "
                  • ", + "m_d038bc0ad25ed9f0": "
                  • ", + "m_7cc01f11d9087f0a": "
                  • ", + "m_2e1ae4c7b2dbdc8b": "没有错误", + "m_0245b23f2703421c": "没有数据", + "m_27aa10dd2ac8a04f": "
                    \n
                    平均值 (Avg)
                    \n
                    __VIREO_SLOT_0__ 毫秒
                    \n
                    \n
                    \n
                    p95
                    \n
                    __VIREO_SLOT_1__ 毫秒
                    \n
                    \n
                    \n
                    p99
                    \n
                    __VIREO_SLOT_2__ 毫秒
                    \n
                    \n ", + "m_3d1af832228cb235": "注册超过 __VIREO_SLOT_0__天", + "m_ca766e440fd9a607": " 编辑受限", + "m_8fad0c21df08b91f": "
                    ", + "m_61ebde6ce0278343": "data-temporal-ms=\"__VIREO_SLOT_0__\" data-temporal-mode=\"__VIREO_SLOT_1__\">__VIREO_SLOT_2__
                    ", + "m_b4f76a33b89bb947": "成功", + "m_37f9f3b4dae3a0c2": "剩余 __VIREO_SLOT_0__ 天", + "m_bd5fc8d9d63144b5": "已过 __VIREO_SLOT_0__ 天", + "m_660be8dc05756f29": "__VIREO_SLOT_0__ 年", + "m_b2a75ffc664cfb3e": "__VIREO_SLOT_0__ 月", + "m_24c9da1e988be3bc": "__VIREO_SLOT_0__ 日", + "m_e4ed44191d2c228b": "__VIREO_SLOT_0__ 小时", + "m_8ef0c1f1977d2540": "__VIREO_SLOT_0__ 分钟", + "m_f16a85a9e93a8699": "__VIREO_SLOT_0__ 秒", + "m_79e1a55bcaec418e": " 剩余", + "m_cd887be638763115": " 已过", + "m_111ec068b7c8a9e8": "__VIREO_SLOT_0__ 岁", + "m_c716bb70a4231be0": "__VIREO_SLOT_1__", + "m_36a083a833558006": "__VIREO_SLOT_2__", + "m_d1f9295e8d370952": "1月", + "m_811d5d8a6b790167": "2月", + "m_310010d93f058b83": "3月", + "m_9d74e6caa95d1e81": "4月", + "m_3bfa4068589f0a55": "5月", + "m_b12d17822d583bf0": "6月", + "m_add36baea45c759b": "7月", + "m_5f0127f701deadad": "8月", + "m_b16a827d17339118": "9月", + "m_e0583d626b98ba7c": "10月", + "m_5e12e956c42b0eb6": "11月", + "m_c1ea3f913a36afc5": "12月", + "m_1094b7d96a9a4109": "星期日", + "m_6c95540e90f1a668": "星期一", + "m_94e234f76b8eab7e": "星期二", + "m_4ee1e5308220dcf1": "星期三", + "m_42d1a6367432ff8e": "星期四", + "m_a594e9b583050ec4": "星期五", + "m_9f4eef79554b65d0": "星期六", + "m_e09647e56f8b7b25": " ", + "m_2ab2d25416cb9437": "转到外部链接", + "m_586d87d9a8dd8005": "外部链接 __VIREO_SLOT_0__ 正在前往。
                    是否继续?", + "m_2eb73fba696e2fe4": "是", + "m_1bd9c7624573e401": "是否要转到外部链接 __VIREO_SLOT_0__?", + "m_9de1e8f20f53773d": "查看图像文档:__VIREO_SLOT_0__", + "m_998f8bc6d96891d4": "
                    正在渲染图表…
                    ", + "m_f686e06a1e3e59ab": "
                    正在渲染图表…
                    ", + "m_2fd5fe4b1f06d612": "复制代码", + "m_45b2dba76f782b4a": "标题已复制。", + "m_a9a082320a57a6aa": "复制章节Markdown", + "m_75a4500c1bfe7e1f": "段落已复制。", + "m_fd9385f42fbeb3bb": "复制章节链接", + "m_58fd747e504105e2": "仅编辑本章节", + "m_0587feed32dce2b1": "编辑章节", + "m_6d483574d6f62c82": "__VIREO_SLOT_0__行", + "m_6677dacfda7bd1cf": "__VIREO_SLOT_0__字符(含空格)", + "m_6f884f72025f6d53": "__VIREO_SLOT_0__单词", + "m_bba2df43bd36317f": "扩展脚本加载失败: ", + "m_04e6a6c23261a095": "[ext-sdk] defineExtension: 缺少 render 函数 (", + "m_7330c8d77372b51b": "[ext-sdk] 扩展渲染失败 (", + "m_816717780d53b2bf": "
                    ⚠️ 扩展渲染错误:__VIREO_SLOT_0__
                    ", + "m_e2e16c57161e128a": "[ext-sdk] 扩展异步渲染失败 (", + "m_221ffcbb2b08b016": "[ext-sdk] 扩展重新渲染失败 (", + "m_a2af293eb559a854": "[ext-sdk] onThemeChange 失败 (", + "m_5270ec565b3f59aa": "
                    ⚠️ 找不到扩展数据。
                    ", + "m_61b165a8c8808951": "
                    ⚠️ 未知扩展:__VIREO_SLOT_0__
                    ", + "m_98b3a605c4dfcab1": "
                    无法加载图表库。
                    ", + "m_3ca3edc2a96a0b58": "
                    图表错误
                    __VIREO_SLOT_0__
                    ", + "m_895ed39975f12244": "__VIREO_SLOT_0__ 值应为 [a, b, c] 格式。", + "m_5a34b417191ccfc4": "系列项格式错误:“__VIREO_SLOT_0__” — 应为“名称: [数字, ...]”格式。", + "m_834519cb468392f6": "系列“__VIREO_SLOT_0__”", + "m_05c591378dcc57d4": "系列“__VIREO_SLOT_0__”值应为数字列表([120, 150, ...])。", + "m_d2433aabb003afe2": "未知行:“__VIREO_SLOT_0__”", + "m_c2930c6fbd88cc61": "不支持的类型:“__VIREO_SLOT_0__” — 必须为 bar·line·pie·doughnut·radar 之一。", + "m_d5c2dee002704944": "series: 从下一行开始使用缩进列出“名称: [数字, ...]”。", + "m_ab81ac6483934fb3": "未知键:“__VIREO_SLOT_0__” — 仅支持 type·labels·series(系列项需缩进)。", + "m_0e36ab1fef14b593": "需要 type (bar·line·pie·doughnut·radar)。", + "m_ed77553468de39f6": "需要 labels (例如: labels: [1Q, 2Q, 3Q, 4Q])。", + "m_30bbebfd650e1342": "至少需要一个 series 项目。", + "m_825f2c4976ebc036": "系列最多支持 8 个。", + "m_b47794ae85254045": "pie/doughnut 图表最多支持 8 个项目(labels)。", + "m_8d2ec125e902f5db": "系列“__VIREO_SLOT_0__”的值数(__VIREO_SLOT_1__)必须与 labels 数量(__VIREO_SLOT_2__)一致。", + "m_1674c85d9fa4ee82": "
                    图表错误
                    __VIREO_SLOT_0__
                    ", + "m_1b47559afb653720": "图表: __VIREO_SLOT_0__", + "m_19c8b1eaaa5b3232": "
                    无法渲染图表。
                    ", + "m_3a92f0945a5ebe34": "
                    无法加载图表库。
                    ", + "m_12ddd6ca69068faa": "通知", + "m_a44caa375edfe9f9": "API __VIREO_SLOT_0__ __VIREO_SLOT_1__ __VIREO_SLOT_2__", + "m_7545b39503978718": "正在加载...", + "m_3c3b850c761f6668": "RAG 镜像已被禁用(请检查 RAG_SEARCH_ENABLED / RAG_BUCKET)。", + "m_d7b5091b60eaed7f": "批量删除文档 __VIREO_SLOT_0__:__VIREO_SLOT_1__/__VIREO_SLOT_2__ 条", + "m_f4afd431e04afffc": "找不到文档。", + "m_30df89932df3ca90": "已删除的文档无法移动。", + "m_b9f524a9254f2af5": "已移动或已被外部修改(跳过)", + "m_3ad19aa46150f9af": "无更改(未找到匹配内容)", + "m_a735020dc7ef9e76": "批量移动文档(标题更改):“__VIREO_SLOT_0__” → “__VIREO_SLOT_1__”(已移动 __VIREO_SLOT_2__/__VIREO_SLOT_3__ 条,更新反向链接 __VIREO_SLOT_4__ 条", + "m_f46d2d3743a134e5": ",反向链接失败 __VIREO_SLOT_0__ 条", + "m_8ec8a2a90281dd1a": ",反向链接未更新 __VIREO_SLOT_0__ 条", + "m_ee82e0133f22362e": "被封禁账号无法访问此资源。", + "m_2fe63954c7e53a1f": "\n\n\n\n\n\n__VIREO_SLOT_0__\n\n\n\n\n\n__VIREO_SLOT_5__\n\n\n
                    __VIREO_SLOT_7__
                    \n
                    \n__VIREO_SLOT_8__\n
                    \n\n", + "m_c29f0b4587dbd455": "__VIREO_SLOT_0__ 的子文档结构", + "m_e9703a579f6c5c8a": "(根)", + "m_4a950e6b1646cff5": "__VIREO_SLOT_0__ - 图像文档", + "m_7989c08e00f0b922": "

                    标签: __VIREO_SLOT_0__

                    ", + "m_dc9fd0bad4a7d8cd": "私密文档 - __VIREO_SLOT_0__", + "m_efc7fd6310f63f50": "
                    \n

                    __VIREO_SLOT_0__

                    \n

                    此文档为私密状态。

                    \n
                    ", + "m_a74a21bde371f2f4": "__VIREO_SLOT_0__ 文档为私密状态。", + "m_3bd5e09f1ab5982e": "
                    \n

                    __VIREO_SLOT_0__

                    \n

                    此文档已被删除。

                    \n
                    ", + "m_02e62ff866abfe12": "__VIREO_SLOT_0__ 文档已被删除。", + "m_7c2e54f55fcd9508": "无文档 - __VIREO_SLOT_0__", + "m_5ead5c155e8ba57a": "
                    \n

                    __VIREO_SLOT_0__

                    \n

                    您请求的文档不存在。

                    \n
                    ", + "m_cbe47a2bb2290296": "__VIREO_SLOT_0__ 无法找到文档。", + "m_e2890670069386c9": "

                    已自动从 __VIREO_SLOT_0__ 跳转。

                    ", + "m_1f5f895990dac9d7": "

                    标题: __VIREO_SLOT_0__

                    ", + "m_84653322e3417259": "

                    内容为空。

                    ", + "m_e838fb0ab17bfa72": "登录 - ", + "m_04a65b6a61a9796c": "这是私人维基。请登录后使用。", + "m_7eb1fefb7784f741": "发生了错误 - ", + "m_6518ddaaddaaf1ac": " 每日\n", + "m_28b76f58ad108f42": " \n", + "m_86c491782b0043ca": " 每周\n", + "m_a2aca12bc7570ba7": " __VIREO_SLOT_0__/博客\n", + "m_d190756ad4548f50": " __VIREO_SLOT_0__/博客/__VIREO_SLOT_1__\n", + "m_65543806151d7d94": "发现未实现", + "m_e9357bc267260587": "不支持动态注册", + "m_0019dfc4b32d63c1": "未找到", + "m_f462be0e990eb8f7": "找不到页面 - ", + "m_59e63825df4dc0f7": "所请求的页面无法找到 (404 未找到)", + "m_e41656eb2ba6c629": "内部服务器错误", + "m_2c8f25af0a2db3fa": "服务器内部错误 (500 内部服务器错误)", + "m_02903fc13e99bba0": "用户已注销。", + "m_640f50ae9c6b8e41": "需要登录。", + "m_6c866390a85ff79c": "账户被封禁,无法使用。", + "m_b432a12aeaf2ac59": "需要管理员权限。", + "m_294eb6cfe8b5a1ea": "权限不足 (__VIREO_SLOT_0__)。", + "m_a5ea4bcf95180105": "\"标志\"", + "m_718e2147e1a2bdab": "仅管理员可以编辑此文档。", + "m_b38aea24dea3b95b": "您没有权限编辑此文档 (edit_acl: __VIREO_SLOT_0__)。", + "m_40db2d51a7822a45": "以此 slug 开头的文档仅管理员可以新建。", + "m_d5aa081f3614ef8a": "以此 slug 开头的文档根据 ACL 策略无法编辑 (__VIREO_SLOT_0__)。", + "m_35463423c1da3db2": "读取特定版本的正文。revision_id 是 get_recent_changes 响应中包含的整数 id,title 是该版本所属文档的 slug。设置 raw=true 可跳过维基语法转换(默认返回维基语法原文)。响应包含正文、作者、创建时间。", + "m_eab54d7e6d46ef2e": "版本所属文档的 slug", + "m_ab40a49df486a2a4": "版本 id(整数)", + "m_e8f6e0fc69c68cce": "返回您持有的进行中草稿列表。每个条目包含 draft_id、slug、action(创建/更新)、base_revision_id、base_version、content_length、updated_at(ISO 8601)。草稿在最后一次活动后 12 小时会自动删除。", + "m_066f30f8e937ee89": "查看进行中草稿的全文,用于提交前的最终确认。通过标题查找并返回您的草稿。", + "m_5a07ed31a58feb5f": "草稿所属文档的 slug。", + "m_be0bef7757373462": "以最新删除顺序返回已软删除文档列表。请与 restore_page 一起使用。响应包含 slug、删除时间(deleted_at,ISO 8601)、最后编辑者(last_editor)、最后编辑摘要(last_summary)。", + "m_d97ab144879ae08b": "返回的最大数量(默认 20,最大 100)。", + "m_6892a3de2fc8f445": "仅返回此时间点之后删除的文档(ISO 8601)。", + "m_9affaa695800932b": "\n\n⚠️ 标题书写规则:wiki 会自动为标题(##、### 等)分配层级编号(\"1.\"、\"1.1.\" 等)。 ", + "m_924ee1d025cc7457": "请不要在标题文本中直接写编号(例如:`## 1. 概要` ❌ → `## 概要` ✅)。直接写会导致渲染时显示重复编号,如 \"1. 1. 概要\"。 ", + "m_2912b9d4b8cdae72": "在目录中引用其他章节时,请使用 `[[文档#s-1.2]]` 格式的章节锚点。", + "m_7db2629871eda279": "生成一个用于新建或整体替换 VTX 维基文档全文的草稿。⚠️ 草稿不会立即保存,而是累积在 draft 中,完成后必须调用 commit_edit(draft_id, summary) 才会生成新的版本。如果已经存在相同 slug 的自己的草稿,该草稿的正文将被此调用的 content 替换。create_only=true 时,如果页面已经存在将返回错误(防止误覆盖)。\n\n响应中会包含 draft_id,可使用此 id 调用 read_draft / commit_edit / discard_edit。草稿在最后一次活动后 12 小时会自动删除。", + "m_1912bfdf15320f6f": "文档 slug(调用/标识符)", + "m_3f40303960c3dd7a": "文档全文(Markdown/维基语法)", + "m_9184a0a02e3537fe": "用逗号分隔的类别(可选,仅允许韩文/字母数字/空格/逗号)", + "m_a73ce1e5ea4e4eab": "重定向目标 slug(可选)", + "m_f225f4981b80626a": "为 true 时,如果 slug 已存在则返回错误(默认 false)", + "m_73238162a48c3cf3": "仅展示用的替代标题(可选)。与 slug 不同,允许所有特殊字符。如果为 null/空字符串则删除。不会用于调用匹配,维基链接/嵌入/ MCP 参数始终使用 slug(title 参数)。", + "m_3d7c2b7994b3115d": "编辑者备注(可选)。仅在编辑器中显示的私密备注,不会对一般浏览者展示。不会被版本追踪,如果仅编辑备注而不更改正文,将作为虚拟版本处理。", + "m_b311de5bec1786ff": "是对文档中特定文本进行查找和替换的部分编辑(类似于 Claude Code Edit 工具)。⚠️ 不会立即保存,而是累积到草稿中,只有在调用 commit_edit 时才会生成新修订。如果同一 slug 已经有自己的草稿,将对该草稿的正文进行替换(如果没有,会自动对页面当前正文进行快照并开始草稿)。old_string 在目标正文(=草稿或页面当前正文)中必须准确出现一次,如果出现重叠或超过一次,将报错——请通过增加前后上下文使其唯一。new_string 如果为空字符串,则删除该部分。响应中会包含 draft_id。分节编辑请使用 edit_section,替换整个正文请使用 create_or_update_page。", + "m_34cb2b870cc0091f": "要编辑的文档 slug", + "m_9f0f47181df49afa": "在目标正文中要查找的原文本(必须唯一)", + "m_680108655cd6e15c": "用于替换 old_string 的新文本(为空则删除对应部分)", + "m_a4d5650e98914ad7": "文档的特定章节正文完全替换为新内容。⚠️ 不会立即保存,而是累积在草稿中,只有在调用 commit_edit 时才会生成新的修订版本。如果同一 slug 已有自己的草稿,则对该草稿正文执行章节替换(如果没有,则自动将页面当前正文快照)。section_number 是根据 get_toc(raw=true) 或 read_draft 的正文计算出的原始编号(\"1\"、\"1.1\"、\"0\" 等)。建议将 new_content 按 read_section(raw=true) 接收到的格式发送(包括标题行)。替换范围从指定标题到同级别或更高级别的下一个标题之前(\"0\" 为第一个标题前的引言部分)。\n\n响应中将包含 draft_id。", + "m_2e7d5e478b0f50f9": "get_toc(raw=true) 返回的章节编号(例如:\"1\"、\"1.1\"、\"0\")", + "m_08853e15284006c1": "用于替换该章节的新正文(建议包括标题行)", + "m_1733ff031c83966b": "草稿中累积的编辑提交为待批准状态。如果 base_revision_id 在此期间已经被更改(=其他用户修改了页面),将被拒绝 — 在这种情况下,需要执行 discard_edit 后通过 read_document 重新读取最新状态并重组编辑。如果是新页面草稿,但在提交时已经存在相同的 slug,也会因同样原因被拒绝。summary 是新修订的编辑摘要(可选,最多 255 个字符)。保存时会自动附加 `[MCP] [+N行 -M行] ` 前缀,以便于与人工编辑区分,并一眼显示更改规模(例如:`[MCP] [+5行 -2行] 修正错字`)。\n\n响应也会包含与之前内容相比的逐行变化量(`lines_added` / `lines_removed`) — 与 git diff --stat 的 +N/-M 意义相同(CRLF 正规化后基于 LCS 计算)。\n\n**始终提交为待批准状态**。草稿不会立即成为修订,而是提交给具有 OAuth 令牌的用户(=连接此 MCP 的本人)以待批准。本人需要在我的页面 / 通知 / 文档横幅中审查后批准,修订才会被创建。如被拒绝,草稿将被废弃。\n\n如需在不经过批准阶段的情况下立即应用(在“我的页面”中开启“允许 MCP 编辑立即生效”时),请使用 apply_edit 工具代替 commit_edit — 如果工具列表中出现 apply_edit,即表示已启用。", + "m_99c040ac74eb7f5a": "要提交的草稿 ID(从编辑工具的响应中获取)", + "m_d94deba089b9cc19": "编辑摘要(可选,最多 255 个字符,保存时会自动添加 [MCP] 前缀)", + "m_2511d64529f77c69": "废弃草稿。所有累积的编辑将全部消失,对页面没有任何影响。", + "m_df9da3b97a3d932c": "要废弃草稿的 ID", + "m_8331d117bc307c22": "将文档恢复到特定的过去版本(立即生效——不使用草稿模型)。revision_id 为从 read_revision 或 get_recent_changes 响应中获取的整数 ID。恢复操作会创建新版本并以原文重新保存,且不会删除过去的版本。", + "m_954004d370420e93": "要恢复的文档别名", + "m_0f6bbfd4bfc70d40": "恢复基准版本 ID(整数)", + "m_1a534a0c2d48c342": "编辑摘要(可选,默认“恢复到版本 #N”,保存时自动添加 [MCP] 前缀)", + "m_a8319bc306b93ca0": "删除维基文档(立即生效——不使用草稿模型)。默认情况下为软删除(设置 deleted_at),可通过 restore_page 恢复。仅当 hard=true 时,才在 D1/R2 中永久删除,此情况需要超级管理员(super_admin)权限。", + "m_cba875e322a3b362": "要删除的文档别名", + "m_77cd1dca513b92bf": "true 表示永久删除(仅 super_admin 可操作)", + "m_8aa291a2b51c5649": "恢复已软删除的文档(立即生效——不使用草稿模型)。", + "m_9443783ff1f6e7f3": "要恢复的文档别名", + "m_4782d7c3ddde2cb5": "更改文档别名(移动,立即生效——不使用草稿模型)。该文档的维基链接/模板引用将根据新别名重写,并会添加新版本。如果 update_backlinks=true(默认),指向该文档的其他文档内容也会批量重写(每个文档生成新版本)。如果反向链接非常多,为了性能考虑,请明确设置为 false 来关闭。", + "m_b7efb4c7aa9167ef": "当前文档别名", + "m_24cae5596547e34d": "新文档别名", + "m_3d539028bf57ada4": "是否同时重写反向链接文档内容(可选,默认 true——移动时反向链接自动更新,关闭请明确设置为 false)", + "m_86493ccf3dd29124": "新建博客(/blog)文章(立即生效——不使用草稿模型)。响应中将包含新文章的 id。正文中的第一张图片会自动提取为缩略图,同时图片反向链接(page_links)也会自动更新。", + "m_ea1ece85c0fd0b4b": "文章标题(1-500 字)", + "m_4f67d9921b617e0e": "文章内容(Markdown/维基语法)", + "m_6f4b4056a4874cdc": "编辑博客文章标题/内容(立即生效——不使用草稿模型)。title 和 content 都是可选的,但至少需指定一个。指定 content 时正文会整体替换,并重新计算缩略图及图片反向链接。已软删除的文章无法修改(请先用 restore_blog_post 恢复)。", + "m_963c381e30c73ad2": "要修改的博客文章 id(整数)", + "m_3a5e8e05f681f266": "新标题(可选,1-500 字)", + "m_ecad3ddd01b1cc4b": "新内容(可选,指定后整体替换)", + "m_8ed5a0ca38c32806": "对博客帖子进行软删除(立即生效 — 不使用 draft 模型)。不支持永久删除,可通过 restore_blog_post 恢复。如果已删除的帖子曾作为网站公告发布,公告也会自动取消。帖子的引用图片反向链接(page_links) 也会被整理。", + "m_59b8dd468f3c0bd5": "要删除的博客帖子 ID(整数)", + "m_4e5af2aae9a06ee2": "恢复已软删除的博客帖子(立即生效 — 不使用 draft 模型)。恢复后,图片反向链接(page_links) 将根据正文重新构建。", + "m_cf198c4727854a63": "要恢复的博客帖子 ID(整数)", + "m_636f29ef3dd55f9b": "更改文档的类别而不修改正文(立即生效 — 不使用 draft 模型,不创建新版本)。当只需要更新元数据而无需读取或编辑正文时使用。\n\n- category: 用逗号分隔的类别(仅允许韩文/英数字/空格/逗号)。发送空字符串将删除所有类别。\n\n更改会记录在 admin_log 中,但不会保存在版本历史中(无编辑摘要/作者记录)。\n\n隐私设置·编辑锁/管理员专用 ACL 在单独的 API 或权限管理模态中设置。", + "m_11f69bd32d428f14": "目标文档 slug", + "m_d5112ef535b0ce5b": "用逗号分隔的类别(空字符串将删除所有类别)", + "m_9615f12f15f8e6f7": "错误: summary 必须包含 [MCP] 前缀,最大长度 __VIREO_SLOT_0__ 字(当前 __VIREO_SLOT_1__ 字)。", + "m_eaf5dbfe425cfa3f": "错误: 需要 wiki:edit 权限。", + "m_8ab6728713ad8858": "错误: 需要 title。", + "m_aa2df5e3971b60e7": "错误: 找不到该 slug 的 draft。", + "m_b525ffd5499fc86d": "错误: 需要 admin:access 权限。", + "m_35456c06c2ad2c05": "错误: since 不是有效的 ISO 8601 日期: __VIREO_SLOT_0__", + "m_342d2c21b9f70059": "错误: revision_id 必须是正整数。", + "m_36f26fa461c07fd6": "错误: 找不到文档。", + "m_1c0d1ec937005f23": "错误: 找不到修订版。", + "m_79a074aac12f4b03": "错误: 指定的修订版不属于此文档。", + "m_0c08d9cc7b013e9a": "并发修改", + "m_bb6e8cdce042d5d9": "draft 已发布。\n\n", + "m_f1b2a0a0ce744f91": "使用方法:\n", + "m_5fdebda560bdaf13": " 1) 继续以相同标题调用 patch_page / edit_section / create_or_update_page 时,会累积到此 draft(每个用户×Slug 一个)。\n", + "m_96af99f246616c9a": " 2) 用 read_draft(title) 查看正在编辑的内容。\n", + "m_14633f93c811369e": " 3) 编辑完成后,用 commit_edit(draft_id, summary) 创建并保存一条修订。\n", + "m_c6df720ffe5dbfaf": " 4) 若要丢弃,请调用 discard_edit(draft_id)。\n", + "m_c5653e410b295271": " 5) 最后活动 12 小时后,午夜的 cron 会自动删除。\n", + "m_2dc8566bc0bc2a8b": " 6) 如果在 commit 时 base_revision_id 发生变化(=其他用户修改页面),将以 conflict 拒绝——请丢弃后用 read_document 重新读取最新版本并重构。", + "m_89fa221ff4b12753": "草稿已更新。请使用 commit_edit(draft_id, summary) 保存或使用 discard_edit(draft_id) 废弃。", + "m_b984971f61ea5da3": "已提交到 MCP 服务器的 \"__VIREO_SLOT_0__\" 文档存在编辑草稿。", + "m_e085d4d2b72069cf": "MCP 提交编辑方案", + "m_d562855ceec48d54": "错误:包含不能用于 slug 的特殊字符。", + "m_e02821f6bffe9ca0": "错误:\"image:\" 命名空间无法通过 admin-mcp 编辑(仅限图片文档)。", + "m_51f6566a2dc68dac": "错误:\"map:\" 命名空间仅用于虚拟树视图,无法编辑。", + "m_b3104adc425b92b3": "错误:content 必须为字符串。", + "m_ecc6b4ed43d3fa11": "错误:category 不能使用特殊字符。", + "m_66f6e8ed248c75ed": "错误:display_title 必须为字符串或 null。", + "m_c79c864cbdc920ad": "错误:替代标题不能包含控制字符。", + "m_1ef45f2dd443d3e9": "错误:替代标题须少于 __VIREO_SLOT_0__ 个字符。", + "m_ecd14a0b47bd02cf": " (软删除状态 — 需要管理员恢复或永久删除)", + "m_06ab29e11e5de033": "错误:'__VIREO_SLOT_0__' 已被其他文档用作 slug.__VIREO_SLOT_1__", + "m_d37ce58985a8c6fb": "错误:'__VIREO_SLOT_0__' 已被其他文档用作替代标题.__VIREO_SLOT_1__", + "m_498cdf7a4578a46f": " (软删除状态)", + "m_8d49255bd1e6c534": "错误:'__VIREO_SLOT_0__' 与其他文档的替代标题相同,不能用作 slug.__VIREO_SLOT_1__", + "m_0be79ab877efcff9": "错误:文档已存在。如需修改,请将 create_only 设置为 false 或使用 patch_page。", + "m_1305aec62a88f8a3": "错误:存在具有相同 slug 的软删除文档。 ", + "m_d71e674e7fab6572": "通过 restore_page 恢复后编辑或通过 delete_page (hard=true) 永久删除后重新创建。", + "m_da391d05579986b7": "错误:此草稿已提交等待批准。用户在 mypage 上批准/拒绝之前无法修改。如需废弃,请使用 discard_edit。", + "m_b553e7b7164d38ae": "错误:“图片:” 命名空间无法通过 admin-mcp 编辑。", + "m_1892d082de75f76e": "错误:old_string 必须是非空字符串。", + "m_59ce8f7fb9a9d57d": "错误:new_string 必须是字符串。", + "m_06adfdb126ca2f2d": "错误:未找到文档或文档已删除。新页面请通过 create_or_update_page 创建。", + "m_5215b013ba9c5c3e": "错误:无法在 (有草稿则草稿正文,无草稿则页面正文) 中找到 old_string。", + "m_c87c37f4896b20b5": "错误:old_string 在正文中出现了 __VIREO_SLOT_0__ 次(包括重复匹配)。 ", + "m_84109eed126cc204": "请提供前后上下文(前/后行)以便唯一识别。", + "m_bf29c154ae523703": "错误:需要 section_number。", + "m_1be69df5082dfc07": "错误:new_content 必须是字符串。", + "m_6c36b8c1eeb7f782": "错误:在正文中无法找到章节编号 \"__VIREO_SLOT_0__\"。 ", + "m_d6939b8ab743c3cb": "请通过 read_draft 或 get_toc(raw=true) 确认准确编号。", + "m_5ee1357c836e3265": "错误:没有更改(new_content 与现有章节相同)。", + "m_b61bfa2e7e9f6307": "错误:draft_id 必须是正整数。", + "m_1e2db7eab1f0eda0": "错误:找不到 draft(已提交/废弃或 12 小时 TTL 已过)。", + "m_06ef274dccd56546": "错误:不能提交其他用户的 draft。", + "m_0c9d736ef7c1be1c": "错误:此 draft 已提交等待审批。在用户在 mypage 上批准/拒绝之前无法更改。要废弃,请使用 discard_edit。", + "m_96a6516836c03caf": "页面不存在或已被删除。请在 discard_edit 后检查状态。", + "m_90150790f9c7a71e": "draft 开始后,其他用户已修改页面。请在 discard_edit 后通过 read_document 重新读取最新状态并重建编辑。", + "m_90b56fb3e80e056e": "错误:'__VIREO_SLOT_0__' 已是其他文档的别名。__VIREO_SLOT_1__", + "m_9eeaa6a50cf56682": "错误:'__VIREO_SLOT_0__' 已是其他文档的替代标题。__VIREO_SLOT_1__", + "m_f2a2c84b1393640d": "错误:此 draft 已提交等待审批(同时调用竞争)。", + "m_4f58ec5b5e4730aa": "已提交等待审批。在 /mypage#mcp-submissions 审核通过后,修订才会生成。", + "m_87e7f7a96beea8fb": "draft 开始后,其他用户已使用相同别名创建页面。请在 discard_edit 后通过 read_document 核实。", + "m_f5ce6ee4e62e8de6": "请通过 restore_page 恢复进行编辑或在 delete_page (hard=true) 后重新创建。", + "m_45e2704a9530e5f8": "错误:'__VIREO_SLOT_0__' 与其他文档的替代标题冲突,无法用作 slug。", + "m_5797a6d9c5ecfc15": "错误:'__VIREO_SLOT_0__' 已经是其他文档的 slug。", + "m_2a061c6193cd4033": "错误:'__VIREO_SLOT_0__' 已经是其他文档的替代标题。", + "m_d43fc755953e8e89": "已提交等待审批。在 /mypage#mcp-submissions 审核并批准后,才会创建新页面。", + "m_d8488b87a42a88f5": "错误:未知的草稿操作:__VIREO_SLOT_0__", + "m_71a4c23be8db3690": "错误:找不到草稿(已提交/丢弃或 TTL 已过期)。", + "m_a5438b3b7fb76bf4": "错误:无法丢弃其他用户的草稿。", + "m_d023ab691dff7bd9": "错误:找不到文档或文档已被删除。", + "m_d365748ab682796b": "错误:无法回滚到虚拟修订版本。", + "m_59a499ddfeccdc0d": "错误:无法回滚到正文已被永久删除的修订版本。", + "m_55c56ac0928877ec": "错误:无法回滚到隐藏的修订版本。", + "m_694af6f9095a9def": "回滚期间其他用户修改了页面,请重试(revert_page 会应用调用时点的页面版本)。", + "m_aa3a49af02c77e8c": "错误:保存修订失败 (__VIREO_SLOT_0__)", + "m_f4ec1684e2260eeb": "错误:找不到文档或文档已被删除。", + "m_a1dbee63d898ee47": "错误:仅 super_admin 可以进行永久删除。", + "m_c8a7907ff37ab3c3": "[admin-mcp] 文档永久删除:__VIREO_SLOT_0__", + "m_67fc323a30e1f44d": "错误:没有删除文档的权限。", + "m_b80e25642871183c": "[admin-mcp] 删除文档:__VIREO_SLOT_0__", + "m_e71689f947fff666": "错误:没有恢复权限。", + "m_c0cae7a74ebe04c8": "错误:“图片:” 命名空间无法作为普通文档恢复。", + "m_0c5192f5f86de2aa": "错误:“地图:” 命名空间仅用于虚拟树视图,无法恢复。", + "m_f3cd5840152553ef": "错误:文档未处于已删除状态。", + "m_2f067521b8876bdb": "[admin-mcp] 恢复文档:__VIREO_SLOT_0__", + "m_14e60317e5fae82c": "错误:title 和 new_title 都是必需的。", + "m_cb1a1e273aea7b04": "错误:无法使用相同的别名进行移动。", + "m_856dd2df08c4246a": "错误:新别名包含不可用的特殊字符。", + "m_cc9846e90f9e828a": "错误:“图片:” 命名空间不能作为移动目标。", + "m_1cc7261dc2df7fdf": "错误:“地图:” 命名空间仅用于虚拟树视图,不能作为移动目标。", + "m_0146467f26ec73c6": "错误:带命名空间的文档无法移动到其他命名空间。", + "m_0b5af618752913e3": "错误:仅管理员文档可由管理员移动。", + "m_fdfa5a2d5f78e542": "错误:新别名已存在。__VIREO_SLOT_0__", + "m_5c8f76d6c556ba92": "错误:'__VIREO_SLOT_0__' 已与其他文档的替代标题相同,无法使用。__VIREO_SLOT_1__", + "m_f9b2c39ea47d991a": "[移动] 地址更改:__VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_8f525ba61830ea2f": "错误:新别名与其他文档冲突。请重试。", + "m_ff744d061f41f00f": "[admin-mcp] 文档移动: __VIREO_SLOT_0__ → __VIREO_SLOT_1____VIREO_SLOT_2__", + "m_dd24a86b62797590": " (反向链接 __VIREO_SLOT_0__ 个已更新)", + "m_2f1b7032fa67d995": "错误: 标题必须是字符串。", + "m_9952e26982704b4f": "错误: 请输入标题。", + "m_e602bd6e22f66637": "错误: 标题不能超过500个字符。", + "m_455e32fcc4e8b0c4": "错误: 保存失败", + "m_9e203cd85a24d16a": "[admin-mcp] 创建博客: __VIREO_SLOT_0__", + "m_6dcf73d828a63cfe": "错误: id 必须是正整数。", + "m_a2251307d59448a7": "错误: 必须指定标题或内容中的至少一个。", + "m_6eec2c670cd0b15c": "错误: 找不到博客文章或文章已被删除。", + "m_c0149a7404a737ca": "[admin-mcp] 编辑博客: __VIREO_SLOT_0__", + "m_2387e771a93389a0": "错误: 找不到博客文章。", + "m_a92db503150b6878": "错误: 文章已被删除。", + "m_f0f10112368b9417": "[admin-mcp] 删除博客: __VIREO_SLOT_0__", + "m_a27088cdebc322b3": "错误: 文章未处于删除状态。", + "m_43d079b80e1d56b8": "[admin-mcp] 恢复博客: __VIREO_SLOT_0__", + "m_f16fe8e4ae090a74": "错误: 必须指定类别。", + "m_f0c82c07ff59de9e": "错误: \"图片:\" 命名空间无法通过 admin-mcp 更改状态。", + "m_42d48256ecd34d50": "错误: \"地图:\" 命名空间仅供虚拟树视图使用,无法更改状态。", + "m_78742118a5af3c36": "错误: 管理员专用文档的状态只有管理员才能更改。", + "m_83c94bc5f7b7e6de": "请求的类别已与当前值相同。", + "m_d1d6083885279cd5": "[admin-mcp] 文档状态更改:__VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_52ab88f8136b6083": "\n\n## 编辑辅助阅读工具(当前认证用户:__VIREO_SLOT_0__) __VIREO_SLOT_1__", + "m_52daaee07eb4aa72": "\n\n## 编辑工具 可用的编辑工具如下:\n\n", + "m_a995ff0df25d25e8": "\n\n修订摘要将附加 [MCP] 前缀(草稿阶段不记录)。", + "m_eaecb784ae99da46": "**立即应用**(未使用草稿模型):revert_page。\n\n", + "m_784c7704a3a2f0ae": "\n\n## 编辑工具\n\n", + "m_1e1c4a998b7b2f1c": "**有状态草稿模型**:create_or_update_page / patch_page / edit_section 不会立即保存,而是累积到 `mcp_drafts` 中 ", + "m_da4c2b335f807689": "(每个同一别名用户仅有一个)。响应中会收到 `draft_id`,编辑完成后调用 commit_edit(draft_id, summary) 提交 ", + "m_dde3f09c6f760e12": "待审批 — 用户必须在 /mypage#mcp-submissions 中批准后修订才会生成。如果自开始以来其他用户修改了页面,commit_edit 会因冲突而拒绝 ", + "m_a1d93a929874828a": "(此情况下需 discard_edit 后通过 read_document 重新读取最新状态并重构编辑)。草稿在最后活动后 12 小时自动删除。\n\n", + "m_df9d818634c94050": "**⚠️ 标题编写规则**:Wiki 会自动为标题(##, ###, ...)添加层级编号(“1.”、“1.1.” 等)。 ", + "m_edb211a446241a10": "在目录中引用其他章节时,请使用 `[[文档#s-1.2]]` 格式的章节锚点。\n\n", + "m_2364117719f3a8b3": "**始终提交等待批准**: 调用 commit_edit 时,draft 不会立即生成修订,而是提交给 OAuth 令牌持有者(即连接此 MCP 的本人)等待批准。 ", + "m_6bd1943582da2fb4": "只有本人在我的页面/通知/文档横幅中审核并批准后,修订才会生成。拒绝时 draft 将被废弃。 ", + "m_3018916d76962e2b": "待批准状态的 draft 在 list_drafts / read_draft 的 `status` 字段显示为 `pending_approval`,AI 端无法再进行修改(只能通过 discard_edit 废弃)。\n\n", + "m_6bb8551b26be9ae0": "\n\n## 管理员专用阅读工具 (当前认证管理员: __VIREO_SLOT_0__) __VIREO_SLOT_1__", + "m_7434f1ab7d74a574": "\n\n## 管理员专用编辑工具 (立即应用)\n", + "m_ea679e2e44dc658c": "权限错误。", + "m_e380992be8c63526": "未找到用户。", + "m_df76d4b07bcc4ab1": "无法更改最高管理员权限。", + "m_134929c0476fe5be": "任命/解除管理员仅限最高管理员。", + "m_f8876d2c7b783ca4": "将用户 #__VIREO_SLOT_0__(__VIREO_SLOT_1__) 的权限更改为 '__VIREO_SLOT_2__'", + "m_645f32deb057bd92": "请输入有效期限。", + "m_1f541562fd01c78c": "最高管理员不能被封禁。", + "m_3ed6d4e354c838b3": "管理员无法封禁其他管理员。", + "m_abb4a8d8ac94c992": "被管理员封禁 __VIREO_SLOT_0__ 天。", + "m_a9565509464e86d1": "封禁提示", + "m_069ae175a607723e": "解除用户 #__VIREO_SLOT_0__(__VIREO_SLOT_1__) 封禁", + "m_5db36d624bb88e41": "用户 #__VIREO_SLOT_0__(__VIREO_SLOT_1__) 被封禁 __VIREO_SLOT_2__ 天", + "m_6065324cc601db46": "标题不得超过200个字符。", + "m_721e85fe55a6dfc1": "URL 必须以 http(s):// 或 / 开头。", + "m_cd6ca34f9c9274eb": "postId 无效。", + "m_0a9a88e363952e3f": "博客帖子不存在。", + "m_fb575a3d25163990": "图标格式无效。", + "m_8faf5b2e2a4160c8": "该博客帖子已被发布为公告。", + "m_dd77fc076afa8ac6": "公告发布: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"__VIREO_SLOT_2__", + "m_4ca9f71978de0cc6": "id 无效。", + "m_8941843751b73156": "找不到公告。", + "m_159b9a7741b2361c": "公告修改: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_1f2acd38d1fdb703": "公告撤回: #__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_279a839056ee1c30": "order 必须是数组。", + "m_414eef8d5089d64b": "存在重复的ID。", + "m_ce643349a6112764": "必须与当前公告ID一致。", + "m_7b2942f9fc5aa0db": "公告顺序更改", + "m_8c9c3d9c42be0512": "direction 必须是 up 或 down。", + "m_e547850637ba3ade": "公告移动: #__VIREO_SLOT_0__ __VIREO_SLOT_1__", + "m_4e9dad53d17ad6f9": "站点全局设置仅限最高管理员更改。", + "m_c3f42c4127677ace": "请输入大于等于-1的整数。", + "m_3926d37021dd5bac": "注册策略只能为 \"open\" 或 \"approval\"。", + "m_dd73227944f3b24e": "编辑 ACL 注册天数阈值必须是0到36500之间的整数。", + "m_f95cea1cbd17aed8": "全局设置更改", + "m_3b95ca231fd78ac9": "Wiki设置更改: __VIREO_SLOT_0__", + "m_cb74b7f1f6aa5aba": "状态值无效。", + "m_3aefa99fa362ec14": "找不到注册申请。", + "m_26bf3a5c77a1d6e8": "申请已处理。", + "m_3207e71f669e7d66": "已有相同邮箱的用户注册。", + "m_fe7c2184c6281693": "注册已批准。", + "m_f3b0e304fe72ea17": "__VIREO_SLOT_0__,欢迎来到__VIREO_SLOT_1__。", + "m_807b32fb748e5ea0": "Wiki", + "m_4ac9e18d389472c1": "注册申请批准: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_6b2aba4efe8db65a": "注册申请结果", + "m_82b589a40a35bb0b": "注册申请被拒绝。您可以重新申请。", + "m_b961ccd0211a154b": "注册申请拒绝: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_128abb2d38023dfd": "注册已被阻止,无法再申请。", + "m_57304c35b2c1ae2b": "注册申请阻止: __VIREO_SLOT_0__ (__VIREO_SLOT_1__)", + "m_ba456591ad3e7df7": "请输入类别名称。", + "m_780a4f6da8ad2e1a": "添加类别: __VIREO_SLOT_0__", + "m_d29e8f3e8ffd04bb": "类别已存在。", + "m_8baac37faa1da152": "找不到类别。", + "m_c464bf2bb778ec11": "删除类别: __VIREO_SLOT_0__", + "m_fd04e6fd149684a1": "名称为空。", + "m_592c3fe662fb1c68": "类别名称包含不可用字符。", + "m_a5312718c2987eb0": "类别ACL禁用: __VIREO_SLOT_0__", + "m_0c200cb9ffbed5e8": "类别ACL更改: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_4bc80e3d2f3e6ed7": "类别ACL行不存在。", + "m_0c643c63a7d091cb": "类别 ACL 删除: __VIREO_SLOT_0__ (旧版=__VIREO_SLOT_1__)", + "m_b3caf5b30c7fbe72": "一次最多可处理 __VIREO_SLOT_0__ 个文档。", + "m_74ae499212b6752f": "[权限] 编辑 ACL 修改: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_3e3bc59fe5cbacc5": "类别 ACL 批量应用: __VIREO_SLOT_0__ (模式=__VIREO_SLOT_1__, 扫描=__VIREO_SLOT_2__, 修改=__VIREO_SLOT_3__/__VIREO_SLOT_4____VIREO_SLOT_5__)", + "m_18d2ef3481b14747": ", 保存模板", + "m_1276de4f2ff69f84": "仅限最高管理员使用。", + "m_85e145de59c5d3f3": "[[图片:__VIREO_SLOT_0__]]", + "m_ce322b2939e689ee": "[[图片:__VIREO_SLOT_0__|", + "m_3ef3cc43b593206d": "[[图片:__VIREO_SLOT_0__#", + "m_5f125601b256554e": "一次最多只能删除 __VIREO_SLOT_0__ 个。", + "m_19f204595de41ff1": "ID __VIREO_SLOT_0__: 找不到图像", + "m_d1f4b10ae2b81356": "__VIREO_SLOT_0__: 当前使用的图像", + "m_b0f36928bf289681": "垃圾回收: 删除 __VIREO_SLOT_0__ 个未使用图像", + "m_9c0935a851d6062d": "找不到图像。", + "m_4ffa12c344dee170": "删除媒体: __VIREO_SLOT_0__", + "m_c0be3b1a827e4c76": "请输入前缀。", + "m_5a85f5d54b42fdd3": "前缀最多可输入 200 个字符。", + "m_496b6b1ade3a4e6a": "前缀不能使用控制字符。", + "m_1aee0ae203eabd47": "scanPrefixSubpages:不允许的列 '__VIREO_SLOT_0__'", + "m_6246136884f91732": "类别只能使用韩文/英文/数字/空格/逗号。", + "m_bc7101092992ca04": "自动分类规则保存: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_b9e3e99701625ec3": "找不到规则。", + "m_865de98deb7295d1": "自动分类规则删除: __VIREO_SLOT_0__", + "m_a7cfdc8a772d1f56": "子文档过多,无法在批量模式中处理 (__VIREO_SLOT_0__ 个,限制 __VIREO_SLOT_1__)。请使用更深的前缀进行分割。", + "m_ddbda3182182b4aa": "请选择要应用的文档或开启自动规则保存选项。", + "m_1fba32a0382881be": "管理子文档分类: __VIREO_SLOT_0__/** (扫描=__VIREO_SLOT_1__, 新增=__VIREO_SLOT_2__/__VIREO_SLOT_3__, 删除=__VIREO_SLOT_4__/__VIREO_SLOT_5__, 分类=__VIREO_SLOT_6____VIREO_SLOT_7__)", + "m_d34070e2c5d7788f": ",保存规则", + "m_d8c31374d308ba44": "标记值必须是 0、1 或 null 中的一个。", + "m_e71b631ca9300163": "categories 必须是以逗号分隔的字符串。", + "m_129ad77a88ffe229": "private/编辑 ACL/分类中至少有一项必须指定规则。", + "m_d54c013d31143bba": "自动文档设置规则保存: __VIREO_SLOT_0__ → private=__VIREO_SLOT_1__, edit_acl=__VIREO_SLOT_2__, categories=__VIREO_SLOT_3__", + "m_9d02d96d16f78ae8": "自动文档设置规则删除: __VIREO_SLOT_0__", + "m_ead44cdfaef58eda": "privateAction 必须是 'none'|'on'|'off' 中的一个。", + "m_85b9bf60faf26a87": "当 aclAction='set' 时 aclValue 为空。停用请使用 'clear'。", + "m_3068682e59372c1d": "请选择要更改的设置或开启自动规则保存选项。", + "m_d572c78b8583fa19": "编辑 ACL 更改: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_fb140132c244fc1e": "私密设置 __VIREO_SLOT_0__", + "m_7deba0b2c89d4723": "[权限] __VIREO_SLOT_0__", + "m_39da805aa28f9199": "若要通过自动规则保存,必须指定私密/编辑 ACL/类别中的至少一项。", + "m_9d34ec7de65bd465": "子文档设置管理: __VIREO_SLOT_0__/** (扫描=__VIREO_SLOT_1__, 更改=__VIREO_SLOT_2__/__VIREO_SLOT_3__, 私密=__VIREO_SLOT_4__, acl=__VIREO_SLOT_5__, 类别=__VIREO_SLOT_6____VIREO_SLOT_7__)", + "m_cbcbb3a4f3b94b1d": "slug 为空。", + "m_26d991ce5ab3d99d": "文档编辑 ACL 更改: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_167335d1fe4b72af": "is_private 必须为 0 或 1。", + "m_9ee87e5f6318909d": "[权限] 私密设置 __VIREO_SLOT_0__", + "m_191a136b0fb06b11": "文档标志更改: __VIREO_SLOT_0__ → 私密 __VIREO_SLOT_1__", + "m_d8487cf70ba43a40": "不允许的颜色值: __VIREO_SLOT_0__", + "m_08a6adb370b3919b": "请至少输入 1 个 bg 或 color 值。", + "m_9c15cffdb22483bf": "请求正文不正确。", + "m_9c95023c39a049f1": "调色板名称只能使用 1~64 个英文字母/数字/下划线/连字符。", + "m_32b4508fa9dae6fe": "'__VIREO_SLOT_0__' 与硬编码预设冲突,因此无法使用。", + "m_c43cbd277bab8e60": "调色板保存: __VIREO_SLOT_0__", + "m_f8a8daac0ad531d0": "错误的调色板名称。", + "m_a3529e228f5f66d5": "找不到调色板。", + "m_de6063acba84ba4a": "删除调色板: __VIREO_SLOT_0__", + "m_41a6a0a71ad6255d": "管理员作业运行器(ADMIN_JOB_DO)已被禁用。请部署仅限 DO 的 Worker(cloudwiki-do) 并在 wrangler.toml 配置 Durable Object 绑定(script_name) 后再部署。→ docs/durable-object-worker.md", + "m_3a0a5279aa52b485": "未知作业类型。", + "m_de2dcb8236fb280d": "mode 必须是 'soft' 或 'hard'。", + "m_e6a33083a9e9c7ac": "请输入要查找的内容(find)。", + "m_9ff821ce3db62627": "查找内容与替换内容相同。", + "m_51ddd7ceb38ce1db": "找不到要移动的文档。", + "m_38dafb8bfccdd2b3": "启动批量作业: __VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__", + "m_9f9ae346568f9372": " (__VIREO_SLOT_0__项)", + "m_562eb6e6e08ecf12": " [恢复]", + "m_a6d38c860b371436": "Analytics API 凭证未设置。缺失: [__VIREO_SLOT_0__]。请在 Cloudflare 控制面板 > Workers > 设置 > 变量和密码中添加。", + "m_69ce7e22c1a4418a": "创建帐户失败。请重试。", + "m_91056188b8bd82f5": "此认证提供者未启用", + "m_0b0a009c6e0d2392": "请求无效。", + "m_2d794ec3450db6d9": "请输入显示名称。", + "m_7643eee1fec028c1": "令牌已过期或无效。请重新登录。", + "m_56f965926b7480df": "显示名称已被使用。请输入其他名称。", + "m_5826cddf7a82ad72": "申请加入已在排队中。", + "m_327c9350ca756d45": "账户已被阻止加入。", + "m_6f19362b18609eca": "__VIREO_SLOT_0__已申请加入。", + "m_4526bb77acb750ca": "新加入申请", + "m_fb2a59509c237625": "加入申请已受理。", + "m_09a7d1a34a1a0499": "名称请控制在20个字符以内。", + "m_6e6081e97b258993": "名称已被使用。请使用其他名称。", + "m_cb3f916fc4494942": "显示名更改已被禁用。", + "m_62d177927d381e8b": "显示名称正在冷却中。请在__VIREO_SLOT_0__天后再试。", + "m_38aeb838f7210142": "private值必须为布尔值。", + "m_dde0a1dfc274b96c": "enabled值必须为布尔值。", + "m_20063338c854c210": "disabled_tools最多可以指定__VIREO_SLOT_0__个。", + "m_dfbe4914812f5eb8": "disabled_tools数组必须仅包含非空字符串。", + "m_c57d23e2227455dd": "工具名称太长(最多__VIREO_SLOT_0__个字符):__VIREO_SLOT_1__", + "m_c856fd84454cb427": "未知的MCP工具:__VIREO_SLOT_0__", + "m_8b3ea246b148f1d8": "我无权限的MCP工具:__VIREO_SLOT_0__", + "m_39417eb13711a600": "请以{ tool, enabled } / { disabled_tools } / { all }中的一种格式发送。", + "m_0bef21ce8365a5b6": "all值必须为布尔值。", + "m_94242844807e13bd": "disabled_tools值必须是字符串数组。", + "m_2f9af3198cc3cfde": "tool值必须为非空字符串。", + "m_548d9d62ca02ac46": "工具名称太长(最多__VIREO_SLOT_0__个字符)。", + "m_2a3589cc660fb19f": "与同时修改冲突,请重试。", + "m_77ad3d250f06060c": "显示名称将无法再次更改。", + "m_82cfd7aded4a3df1": "显示名称可以再次更改。", + "m_60e2e82e72e9ebde": "__VIREO_SLOT_0__天后可以更改显示名称。", + "m_b5d6bd814801c17d": "无效的用户ID。", + "m_7302886fb9864551": "请通过注销菜单结束当前会话。", + "m_74c05839d304bdfe": "找不到会话。", + "m_e7ef0b5a2cfcf48a": "client_id 无效。", + "m_b41bd74a953f9f20": "没有连接的活动令牌。", + "m_b0ab1fe7e298522d": "数据库中不存在 mcp_api_keys 表。请先应用我的数据迁移。", + "m_e79216fda2e57c4b": "发放 API 密钥时发生错误。", + "m_72d84e45143f4230": "数据库中不存在 mcp_api_keys 表。", + "m_6bd046e4ebef3a3b": "删除 API 密钥时发生错误。", + "m_053bc65874ad6098": "Discord", + "m_c19f90377ab6e2c9": "登录请求无效。请重试。", + "m_bbb52cca8cca84f1": "登录会话已过期或无效。请重试。", + "m_fbfc48924eda24a4": "登录会话无效。请重试。", + "m_dd3940b67e5e416c": "登录会话不合法。请重试。", + "m_ce770667e5f9b0d8": "谷歌", + "m_d2b0e22ce6848f49": "节点位置", + "m_f60c824125e6408e": "无效的 JSON", + "m_877f03b47ea6c52b": "title 必须是字符串。", + "m_8dd4e38868d9e2ba": "content 必须是字符串。", + "m_c9a7bb5bfc3daffd": "标题不得超过 500 个字符。", + "m_589c6079fe4fd614": "博客创建: __VIREO_SLOT_0__", + "m_dfe13dc6a95de8ac": "博客编辑: __VIREO_SLOT_0__", + "m_43389606b46c0865": "永久删除仅限最高管理员。", + "m_3d13a68580ebd7d4": "博客永久删除: __VIREO_SLOT_0__", + "m_5ae1150363fc7430": "博客帖子已被永久删除。", + "m_e18dca82ed4affb8": "帖子已被删除。", + "m_99fd6c450b6f66ea": "博客删除: __VIREO_SLOT_0__", + "m_122b952526e327eb": "取消公告__VIREO_SLOT_0__", + "m_30646c645d38dae7": "标题必须是字符串。", + "m_4a56a9fd9cd50e72": "该帖子已发布为公告。", + "m_5269372cce84ab59": "发布公告: blog#__VIREO_SLOT_0__ \"__VIREO_SLOT_1__\"", + "m_43f6b5f54afb6f6e": "请输入讨论标题。", + "m_589412d24ed3a617": "请输入讨论内容。", + "m_60167e66b99afbb1": "您在讨论 '__VIREO_SLOT_0__' 中被提及。", + "m_262938999161fa7c": "找不到讨论。", + "m_dff9cab3adad9f5f": "讨论已被删除。", + "m_223fe5dd823bd69d": "请输入评论内容。", + "m_1c01e15935816b50": "关闭的讨论无法发表评论。", + "m_887a3d6748f61f1b": "找不到原始评论。", + "m_417980f272a6a783": "'__VIREO_SLOT_0__' 讨论有新评论。", + "m_21e074f59c6a9b9b": "状态值不正确。", + "m_c6ab4ba1441ff48f": "无权限更改讨论状态。", + "m_5a8f94f360fbf077": "权限不足。", + "m_b6d12020a3b7d027": "讨论已被删除。", + "m_3a98a9bf830588d5": "仅超级管理员可以完全删除。", + "m_cf7600fc999a9f1c": "找不到评论。", + "m_cfbd9cf6e8eb8640": "评论已被删除。", + "m_b5121d5901351eee": "无效ID", + "m_907ba78b4545338d": "未找到", + "m_1ca486cacad6b85c": "需要 wiki:edit 权限。", + "m_9ea12fcade96d6c6": "管理员已禁用MCP。", + "m_97b1d0e9352ff0e8": "无效请求", + "m_88e1ad2ef29f64aa": "__VIREO_SLOT_0____VIREO_SLOT_1____VIREO_SLOT_2__ 可用的 MCP 工具: __VIREO_SLOT_3__。每个工具的详细说明可通过调用 information 工具查看。", + "m_1687ca861ac0fc1a": "未找到工具: __VIREO_SLOT_0__", + "m_1565658bee898960": " (__VIREO_SLOT_0__行, __VIREO_SLOT_1__字符)", + "m_f8b228b84e8c7ec3": "错误: titles 数组为空。", + "m_4f55b2936a8b3083": "错误: 一次最多只能读取 __VIREO_SLOT_0__ 个。", + "m_eb0ae25c805719e8": "错误: parent_title 为空。", + "m_1c6d5cc54aa2f804": "'__VIREO_SLOT_0__' 没有子文档。", + "m_91b1d604c6a79dc1": "错误:页面 __VIREO_SLOT_0__ 对应的文档不存在。 (总共 __VIREO_SLOT_1__ 个,__VIREO_SLOT_2__ 页)", + "m_bf3875a1193f72fc": "错误:必须指定 titles 或 parent_title 之一。", + "m_1ed6ec4afa33ec94": "无法读取原始数据。", + "m_860a4031f34189c8": "找不到文档或文档为私密/已删除状态。", + "m_9cf50c843d60bb0c": "没有目录。", + "m_77453d7811852f91": "文档内容不存在。", + "m_85e275d5ef4ec4a4": " [未读]", + "m_941ff4d0ab2b99a0": " (读取失败:__VIREO_SLOT_0__)", + "m_5f16df86699bf330": " (文档不存在)", + "m_54b4e95a62973ac7": "\n\n没有文档的条目 (__VIREO_SLOT_0__):\n__VIREO_SLOT_1__", + "m_aefaf421ef468334": "\n\n无法读取的文档 (__VIREO_SLOT_0__):\n", + "m_7544e51d0c96b835": "\n\n页面:__VIREO_SLOT_0__/__VIREO_SLOT_1__ (总共 __VIREO_SLOT_2__ 个,页面大小 __VIREO_SLOT_3__)", + "m_5782856f6d5f2e59": " — 下一页:page=__VIREO_SLOT_0__", + "m_0b1d2015ee6520c8": "\n注意:子文档总数 __VIREO_SLOT_0__ 超过响应树显示限制 (__VIREO_SLOT_1__ 个)。树中只显示部分,但可以通过 page 参数访问所有文档。", + "m_76a8d3dec65a9b1c": " [已读]", + "m_b2c45b087fd5f353": "[已读]", + "m_ffa08a1fa0c0965f": "[未读]", + "m_426bc375e8ffcda0": "子文档总数 __VIREO_SLOT_0__ 超过响应树显示限制 (__VIREO_SLOT_1__ 个)。树中只显示部分,但可以通过 page 参数分页查看所有文档。", + "m_628e02135c1c8ea4": "错误:页面 __VIREO_SLOT_0__ 对应的博客文章不存在。(共 __VIREO_SLOT_1__ 篇,__VIREO_SLOT_2__ 页)", + "m_2775d221b3599514": "错误:无法找到博客文章或文章已被删除。", + "m_0cad64d1db2dc4d6": "文章内容不存在。", + "m_8fb588328fcea157": "找不到对应目录。", + "m_a362d1ab7712da5f": "未找到方法", + "m_70f6bd48df9de855": "on* 事件处理器", + "m_9165b0be705d22d2": "javascript: URL", + "m_383f5da44ca83bfa": "文件名包含不允许使用的字符。([ ] ( ) # % | < > ^ / \\ . ? \" ' 空格等不可使用)", + "m_49e06d52b004e661": "文件名最多可输入100个字符。", + "m_709923cc1913c54a": "文件不存在。", + "m_4dc3da9504a07d7e": "不允许的文件格式。(允许格式:__VIREO_SLOT_0__)", + "m_50d94ab00cdbc89f": "文件大小仅允许不超过 __VIREO_SLOT_0__MB。", + "m_27debb2125262c5f": "出于安全原因,不允许使用 SVG 文件。(包含 __VIREO_SLOT_0__)", + "m_a1637f65b48e9a28": "正文最多可输入20000个字符。", + "m_a5fe16f447fa51b3": "访问被拒绝。", + "m_ac4b2abda2994c79": "路径错误。", + "m_126d6015a3288239": "找不到文件。", + "m_4c8911ca66612cb4": "需要 link 参数。", + "m_e3557c550ab973d5": "无效的通知 ID。", + "m_1a974badb6e47009": "找不到通知。", + "m_0f410dd168933fef": "请输入消息内容。", + "m_89975bae3b090120": "请指定接收者。", + "m_724b58cf4d967d21": "不能向自己发送消息。", + "m_70a66c8ef6d4b156": "找不到接收者。", + "m_4838f659f04b4d4f": "不能向已注销用户发送消息。", + "m_8a1213b5ecd8904b": "已封锁账号只能向管理员发送消息。", + "m_154d463aa34cb9a0": "个人消息处于禁用状态。", + "m_959db104077054ad": "没有回复权限。", + "m_ee608891fa7c8c85": "__VIREO_SLOT_0__ 给您发送了一条消息。", + "m_5277a4f4f1272fba": "__VIREO_SLOT_0__ 的消息", + "m_0994aca6a079dc8b": "没有权限或找不到消息。", + "m_066622ae90180124": "找不到消息。", + "m_a20ccb3e6b01e324": "没有权限。", + "m_b0f75f3dc9842745": "基本认证头格式错误", + "m_78476174b943f7e1": "需要客户端ID", + "m_f55a618c340a0a6e": "未知的 client_id", + "m_7833b9b21edde940": "需要 client_secret", + "m_968b0883b33214e5": "client_secret 错误", + "m_7e829c4373ba6c5e": "除了文档读取/搜索外, 管理员权限可自动执行维基文档的编辑、移动、删除、恢复和回退。", + "m_4e0fe9efd211ae39": "只能使用维基文档的只读工具,如阅读、搜索和目录查询。", + "m_30fb6083119efa6a": "

                    批准后,此客户端可以以您的管理员权限自动编辑/删除维基文档。请仅批准您信任的客户端。

                    ", + "m_04fe776508260fc8": "MCP 访问批准 — __VIREO_SLOT_0__\n\n
                    \n

                    MCP 访问批准

                    \n

                    __VIREO_SLOT_1__ 您好,外部客户端 __VIREO_SLOT_2__ 正尝试访问 __VIREO_SLOT_3__ 的 MCP 服务器。

                    \n
                    \n
                    客户端 ID
                    __VIREO_SLOT_4__
                    \n
                    重定向 URI
                    __VIREO_SLOT_5__
                    \n
                    请求权限
                    __VIREO_SLOT_6__
                    \n
                    \n__VIREO_SLOT_7__\n
                    \n \n \n \n \n \n \n \n \n
                    \n
                    ", + "m_97e5ea25d19547a9": "无权限 — __VIREO_SLOT_0__\n\n

                    没有访问权限

                    __VIREO_SLOT_1__ 您无权访问 MCP 服务器。请使用有权限的账户登录后再试。

                    ", + "m_5bb43e8304b378be": " (请求批准:[__VIREO_SLOT_0__|__VIREO_SLOT_1__])", + "m_5eebf5ac5d01b73b": "此文档只有管理员可以审核。", + "m_d69a86f59913aeab": "您没有权限审核此文档。", + "m_bffb6dc50a4f0cc5": "找不到原编辑者账户。", + "m_f504b0f8c23b04cd": "'__VIREO_SLOT_0__' 已经是其他文档的标题。", + "m_11d121b9c8d723da": "'__VIREO_SLOT_0__' 已经是其他文档的替代标题。", + "m_9ac80908b87081cb": "\"__VIREO_SLOT_0__\" 的编辑请求已被批准并反映。", + "m_bda36aa7fb0cee8c": "编辑请求批准回滚:附加编辑反映失败(审查:__VIREO_SLOT_0__#__VIREO_SLOT_1__)", + "m_f43e9df8183c842d": "附加编辑反映失败,文档已恢复到批准前状态。请重试。", + "m_89aacb50123361b8": "期间有其他编辑被反映,未能完成批准。请基于最新内容重试。", + "m_17622610c3abcee6": "\"__VIREO_SLOT_0__\" 的编辑请求已被批准。(批准者的附加编辑未纳入 __VIREO_SLOT_1__)", + "m_260c5c8b3587be3b": "\"__VIREO_SLOT_0__\" 的编辑请求已批准并反映。(包括批准者的附加编辑)", + "m_ae96a9eefa60c215": "存在相同标题的软删除文档。管理员需先恢复/永久删除。", + "m_725e09fd82e3d485": "'__VIREO_SLOT_0__' 与其他文档的替代标题冲突,不能用作标题。", + "m_12f55b01aee28df3": "\"__VIREO_SLOT_0__\" 的新文档编辑请求已被批准并发布。", + "m_3d8c34037f5efbb7": "\"__VIREO_SLOT_0__\" 的新文档编辑请求已被批准并发布。(批准者的附加编辑未纳入 __VIREO_SLOT_1__)", + "m_8dc152a57b4f61de": "\"__VIREO_SLOT_0__\" 的新文档编辑请求已批准并发布。(包括批准者附加编辑)", + "m_e8c03a15d11d8a05": "\"__VIREO_SLOT_0__\" 的编辑请求被拒绝。__VIREO_SLOT_1__", + "m_b6c60011a90b11ec": "Web 推送已被禁用。", + "m_ba44d61a5dc6d955": "请求无效。", + "m_a25541b05610e977": "订阅信息不正确。", + "m_d83e449da7ec1d8d": "需要有效的 push_token。", + "m_046820d26e94d180": "令牌已过期或无效。", + "m_004ae7d8c14a4796": "令牌已损坏。", + "m_e7d1fb773fdaa3a2": "找不到待处理的注册申请。", + "m_de90a380fda149f4": "需要 endpoint。", + "m_beb955daeb37f6d4": "已过期或不存在的二维码。", + "m_e7fd0c8c21d6b744": "请求已处理。", + "m_8dfae4ccf5a6b9d1": "已过期或不存在的请求。", + "m_4454fea9ba8381bf": "请求已过期。", + "m_0ee746abfd9c27df": "请求已使用。", + "m_c912235825f0e01c": "尚未批准。", + "m_fe613f72a480159c": "批准信息无效。", + "m_6bb9fa79146e2a5e": "账户不可用。", + "m_ef7eea8f5740423e": "账户已被封锁。", + "m_512989791c19de3f": "普通。", + "m_50da0b175337961e": "文档。", + "m_3d53da771fe0954d": "讨论。", + "m_b0b3d3bc6c2762fe": "账户。", + "m_73e935d4625a54c4": "请输入工单标题。", + "m_e626c97ad4a45854": "请输入咨询内容。", + "m_0a132c1ce880adf0": "请选择正确的咨询类型。", + "m_14c17bf0e664ce23": "被封账户只能提交账户咨询(申诉)类型。", + "m_f7f952cc043cf488": "权限不足。(ticket:create)", + "m_5bf5e399001521a2": "新工单咨询 [#__VIREO_SLOT_0__] __VIREO_SLOT_1__: '__VIREO_SLOT_2__'", + "m_9896da0c836b54fb": "工单 [#__VIREO_SLOT_0__] '__VIREO_SLOT_1__' 中提到了您。", + "m_d8ab105f45b56ef5": "新工单 #__VIREO_SLOT_0__", + "m_5eb2e809eabd4a29": "工单 #__VIREO_SLOT_0__", + "m_efa6a7d1ee843957": "找不到工单。", + "m_20d1a711c808e7f5": "无访问权限。", + "m_b92fd6d4cae11fd8": "权限不足。(comment:create)", + "m_137fe2b8ac68d1d4": "被封禁的账户只能在账户咨询(申诉)工单中发表评论。", + "m_61d62a72e9bbbd6e": "已关闭的工单无法发表评论。", + "m_e55e57e155805806": "工单 [#__VIREO_SLOT_0__] '__VIREO_SLOT_1__' 有新评论。", + "m_887479ba73c7e7d4": "您没有权限更改工单状态。", + "m_201b7d60ef6e8116": "工单已被删除。", + "m_4b5e35581628062d": "新文档", + "m_9789d0dfbdbe37a3": "编辑文档", + "m_c87a5a18ec515157": "__VIREO_SLOT_0__ 提交了对 '__VIREO_SLOT_1__' 的 __VIREO_SLOT_2__ 编辑请求。", + "m_98efb44e75fe2fbe": "[自动] 地址更改: __VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_6a741012dcb9e689": "反向链接批量更新: __VIREO_SLOT_0__ → __VIREO_SLOT_1__ (已更新 __VIREO_SLOT_2__ 个,跳过 __VIREO_SLOT_3__ 个,冲突 __VIREO_SLOT_4__ 个)", + "m_c7dd65df9f841f96": "无法找到随机文档。", + "m_f8d8203743b12cde": "无效的修订版本", + "m_b7d685b544e20462": "此修订版本不可巡查", + "m_4b16444ac8960333": "不能巡查自己的编辑", + "m_518ddb12656ff914": "私有文档。", + "m_29d0659244b2ecf8": "文档已被删除。", + "m_e6cdd4680a803298": "文档标题为空。", + "m_b5e41b626257814b": "替代标题必须是字符串或 null。", + "m_8012d0d029b44768": "替代标题不能包含控制字符。", + "m_d513e3d01b755e83": "替代标题不得超过 __VIREO_SLOT_0__ 个字符。", + "m_e6b962a8eaff5533": "需要进行 Turnstile 验证。", + "m_93f6eb544ffe4725": "Turnstile 验证失败,请重试。", + "m_4c857ed217030e5a": "“图片:” 是仅限图片文档的命名空间,不能用作普通文档标题。", + "m_e6380590c0c06876": "“map:” 是仅限地图视图的命名空间,不能用作普通文档标题。", + "m_91d0966d84be4641": "内容为必填项。", + "m_149c3339aa55ab89": "编辑摘要必须为字符串。", + "m_69e7a2923e08f4ef": "自动编辑摘要必须为字符串。", + "m_49c589bbf965c9bd": " (软删除状态 — 需要管理员恢复或永久删除后才能重新使用)", + "m_21b73ea47099d948": "'__VIREO_SLOT_0__' 已被其他文档用作标题。__VIREO_SLOT_1__", + "m_275afdfa7c6dbe58": "'__VIREO_SLOT_0__' 已被其他文档用作替代标题。__VIREO_SLOT_1__", + "m_9980d5f407562e20": "'__VIREO_SLOT_0__' 已与其他文档的替代标题相同,不能用作标题。__VIREO_SLOT_1__", + "m_56fe00af0af17df4": "已删除的文档无法编辑。", + "m_edb7ee4fec17cc4f": "已存在相同标题的文档。", + "m_32a0e1a4e54d2340": "私密文档无法编辑。", + "m_6f5fe96067957fb8": "您没有权限编辑此文档。", + "m_2f8b8fb15271aac5": "发生编辑冲突,其他用户已修改文档。", + "m_3cc9999f45d2d2ce": "替代标题与其他文档冲突,请稍后再试。", + "m_17fd2364d2772a04": "文档保存失败。请稍后再试。", + "m_60dd4157ca5e69ab": "被设为私密的文档无法新建。", + "m_7092531bf8f16176": "以此slug开头的文档根据ACL策略无法新建。", + "m_a4405bb7ffd0ca7d": "已经同时创建了相同标题的文档。请重试。", + "m_0e12c17fa6f302a5": "此命名空间不支持编辑备注。", + "m_80d16e0cd99765ca": "找不到文档或文档已被删除。", + "m_a47db840b4ed0d13": "[编辑备注] 编辑备注更改", + "m_3ea4afaf812b07c8": "未找到修订版。", + "m_f6ac1c7ff4c7b4fc": "虚拟修订版无法比较。", + "m_58d34fbe05574d64": "永久删除文档:__VIREO_SLOT_0__", + "m_fc520b8437af4266": "文档已被永久删除。", + "m_ac9ec8d35dce78ce": "文档已被删除。", + "m_7dd99545c7b9465a": "没有文档删除权限。", + "m_a76086f3a964774e": "管理员专用文档只能由管理员删除。", + "m_567ddaca9be26ccf": "您没有权限删除此文档。", + "m_8cf77e328b9e3fd5": "删除文档:__VIREO_SLOT_0__", + "m_5ab980c9c1944729": "文档已被删除。", + "m_fe999320d28a6e33": "\"图片:\" 命名空间无法恢复为普通文档。", + "m_c9c2979d1a731a43": "\"地图:\" 命名空间仅用于虚拟树视图,无法恢复。", + "m_3c225b5dab81e41e": "文档未处于已删除状态。", + "m_772a58411f6b32aa": "恢复文档:__VIREO_SLOT_0__", + "m_66fe4041f91167e7": "文档已被恢复。", + "m_4697cbb206bcd001": "请输入新文档名称。", + "m_e5c33435941dd968": "新文档名称与现有名称相同。", + "m_a590834403ff04d2": "\"图片:\" 命名空间仅用于图片文档,不能作为普通文档的移动目标。", + "m_69c48d5ef3c7e7b7": "“map:” 命名空间仅用于虚拟树视图,不能作为普通文档的移动目标。", + "m_2323c8119d6f7b40": "文档名称已存在。__VIREO_SLOT_0__", + "m_ca7312fc1524000c": "'__VIREO_SLOT_0__' 已与其他文档的备用标题相同,无法使用。__VIREO_SLOT_1__", + "m_a609e669a6165e0e": "管理员专用文档仅管理员可以移动。", + "m_e25d85469623f952": "新标题与其他文档冲突。请重试。", + "m_9790e638835f3b49": "文档名称更改:__VIREO_SLOT_0__ → __VIREO_SLOT_1__", + "m_6206229d5de21b9e": "批量更新反向链接失败:__VIREO_SLOT_0__ → __VIREO_SLOT_1__ (__VIREO_SLOT_2__)", + "m_36cc21da55740f49": "管理员专用文档仅管理员可以恢复。", + "m_b63a71af73aa0837": "您没有权限恢复此文档。", + "m_cbbdcb2f01aedaab": "找不到对应的修订。", + "m_b1f6cde79fe3fca2": "无法回退到虚拟修订。", + "m_4d4c034f6c37b1d0": "无法回退到正文已永久删除的修订。", + "m_4a61f034d4152aff": "无法回退到隐藏的修订。请先取消隐藏。", + "m_7a2806b0cfd17e0a": "无法加载修订正文。", + "m_4c5dca363464e2a6": "回退到 __VIREO_SLOT_0__", + "m_e70d17b58f103f70": "保存修订失败。请稍后重试。", + "m_826b173fe2bfd9ac": "已删除文档的修订无法整理。请先恢复文档。", + "m_918680ab7a28d0f4": "无法删除虚拟修订。", + "m_e00459f8f04acf8c": "无法删除最新修订。请先进行回退再尝试。", + "m_9bfb76dd02724174": "修订 ID 不正确。", + "m_d8bb21ed9e6766af": "修订已被删除。", + "m_ee3e2ffbe2672de0": "删除修订版本:__VIREO_SLOT_0__ __VIREO_SLOT_1__(修订号#__VIREO_SLOT_2__)", + "m_a6f7aebbe3ff6dac": "修订版本已删除。", + "m_725313817e6868e1": "永久删除修订版本仅限超级管理员。", + "m_81f288da43a4b5c1": "该修订版本已被永久删除。", + "m_112590efded576b3": "删除标记失败,请稍后重试。", + "m_d68556d83b4740cc": "删除R2正文失败,请稍后重试。", + "m_23bfa329b67f47c1": "元数据清理失败,请稍后重试。", + "m_b00b078e851ea38a": "永久删除修订版本:__VIREO_SLOT_0__ __VIREO_SLOT_1__(修订号#__VIREO_SLOT_2__)", + "m_a536da90de2fa925": "修订版本已被永久删除。", + "m_03fac0a43f3c4117": "类别不正确。", + "m_d7cc4181206e07c5": "注意:表格中的合并单元格将显示为空。\n\n", + "m_29ee1bb7ff289989": "步骤", + "m_34fbc55c71b14896": "0. 引言", + "m_3075d7f4fd31df20": "分析查询失败 (__VIREO_SLOT_0__): __VIREO_SLOT_1__", + "m_5c438cfbb32c4572": "公告更新冲突重复,操作失败,请稍后再试。", + "m_2590befdd9c53728": "edit_acl 必须是对象或 null。", + "m_a214f4e99cfabb73": "edit_acl.flags 必须是数组。", + "m_362bdd480752283f": "edit_acl.flags 包含未知条目:__VIREO_SLOT_0__", + "m_9d4fd22b0ba7de07": "{palette:danger}{bi:eye-slash-fill}{tag:私密}", + "m_c91d28281a05b57c": "(__VIREO_SLOT_0__行, __VIREO_SLOT_1__字符)", + "m_9586b90d1ce240a7": "(文档不存在)", + "m_fd0e3f3f3a64131f": "(根)__VIREO_SLOT_0____VIREO_SLOT_1__", + "m_957d05ddf3e36ede": "...(下级文档超过 __VIREO_SLOT_0__ 个,部分省略)", + "m_2fd9e7d411752b46": "刚刚", + "m_f467a4024cb27ee2": "__VIREO_SLOT_0__ 分钟前", + "m_3a303b18f9b646c2": "__VIREO_SLOT_0__小时前 __VIREO_SLOT_1__分钟前", + "m_b101f92f6c467d74": "__VIREO_SLOT_0__小时前", + "m_e1655b60987cbfd4": "__VIREO_SLOT_0__天前", + "m_783d60738fd55f9d": "__VIREO_SLOT_0__个月前", + "m_fd305f0b56565a13": "__VIREO_SLOT_0__年前", + "m_7466ca263ca1b8e0": "搜索维基文档的简洁标题和替代标题(title)。响应中的slug是所有调用工具使用的标识符,title是仅显示的替代标题(如果没有则为null)。其他工具的title参数必须使用slug值。", + "m_bda397fc5b2a3711": "搜索词", + "m_5360cddf64b641a4": "在维基文档正文中进行全文搜索(FTS)。搜索结果将包含文档的slug以及搜索词出现的所有目录列表。如果在一个文档的多个章节出现,将返回所有章节。", + "m_d8628e79d9242ca8": "使用Cloudflare AI Search(RAG)对维基文档正文进行语义搜索。如果FTS是精确字符串匹配,该工具将按分数(score)返回语义相近的文档。响应的每个条目包括slug(标识符)、title(仅显示的替代标题,无则为null)、score、snippet。其他工具的title参数必须使用slug值。私人/已删除文档根据调用者权限可能会被排除在结果之外。", + "m_117bcb3a4635e6ec": "搜索词(自然语言可用)", + "m_6268e49bf3392fd2": "最大返回数量(默认30,最大50)", + "m_6f58d16cf7366f57": "只调用维基文档的目录(section)。目录将以带有层级编号的格式返回(例如:\"1.\"、\"1.1\"、\"1.1.1\")。如果在第一个标题前有正文文本,将在最前面添加\"0. 引言\"项目,并且在 read_section 中指定\"0\",可以仅读取该引言内容。建议在阅读长文档全部内容之前,先使用 get_toc 工具提取目录,然后在 read_section 工具中指定编号进行部分阅读。设置 raw=true 时,将返回未展开 {{模板}} 转换的原始目录编号——要通过管理员 MCP 的 edit_section 进行编辑,必须使用 raw=true 的编号。", + "m_e01a35a4bdb5e329": "文档别名(=标题)", + "m_2a34a83055a956d0": "设置为 true 时,根据原始标题而不展开转录计算目录编号(用于编辑)", + "m_f48db6e7d1b019e2": "读取维基文档的全部正文。设置 raw=true 时,会跳过维基装饰语法转换,原样返回。", + "m_dfc10bcd0c19ab35": "读取维基文档中特定目录的内容。目录通过 get_toc 返回的层级编号(例如:\"1\"、\"1.1\"、\"1.1.1\")指定。设置 raw=true 时,将根据未展开转录的原始编号提取,并跳过维基装饰语法转换——与 get_toc(raw=true) / edit_section 使用相同的编号体系。raw=false(默认)时,会展开转录后提取,并应用 AI 渲染——与 get_toc(raw=false) 相同。", + "m_ee5600524374a4b0": "get_toc 返回的目录编号(例如:“1”、“1.1”、“1.1.1”)。“0”表示第一个标题前的引言部分。raw 选项请与调用 get_toc 时保持一致。", + "m_519be1bbef197558": "为 true 时,返回未展开的跨文档内容 + 保持原样(用于编辑前阶段)", + "m_7d3cb0c9eecf0798": "返回以输入文档为根的子文档树。例如输入“A/B/C”,则只返回从“A/B/C”开始的子树。", + "m_5455a9d896a17ebe": "树的根文档 slug(=标题)", + "m_1f0e3b8c7cb34e46": "一次最多读取 10 篇文档。支持两种模式。(1) titles:一次读取指定的文档 slug 数组。(2) parent_title:一次读取指定文档的所有子文档。在 parent_title 模式下,如果子文档超过 10 篇,只读取前 10 篇,响应中会包含已读/未读文档的树和分页信息。可以通过 page 参数(从 1 开始)请求下一页。设置 raw=true 时,跳过维基格式转换。", + "m_be6ca15da180391b": "指定的文档 slug 列表(最多 10 个)。如果与 parent_title 一起指定,则 titles 优先。", + "m_7b1b4061a9d93728": "批量读取子文档的父文档 slug", + "m_f5d76cd0078d3708": "parent_title 模式的页码(从 1 开始,默认 1)", + "m_a03e8ae307459459": "可以一次最多调用 10 个文档的目录(section),并根据 slug 层级返回一个树状文本。支持两种模式:(1) titles: 直接指定的文档 slug 数组。如果可以根据 slug 路径创建树,则返回一个树;如果顶层 slug 不同,则分成多个树。(2) parent_title: 指定文档为根节点的子文档树。在每个文档节点下,连同该文档的目录条目以“#1. 标题”、“#1.1. 标题”的格式显示为同级。没有本文的路径节点显示为“(文档不存在)”。在 parent_title 模式中,如果子文档超过 10 个,只提取前 10 个目录条目,其余显示为“[未读取]”。可以通过 page 参数(从 1 开始)请求下一页。", + "m_7e31d414de4babd4": "批量查询子文档目录的父文档 slug", + "m_a2bfebb02edf8fad": "按名称搜索分类。", + "m_4c4a27420a7aacaf": "要搜索的分类名称(部分字符串)", + "m_be7ce819a1d2eec9": "返回属于该分类的文档列表和分类说明。设置 raw=true 时,会跳过分类说明的 wiki 渲染,原样返回。", + "m_2a0a4a92c35e6110": "要查询的分类名称", + "m_909a66569c8d31a8": "返回该文档所属的分类列表。", + "m_b9aa91f27eb4194c": "查询的文档 slug(=标题)", + "m_7324061da6dacbb7": "[已废弃] get_document_category 的旧版本名称。在新代码中请使用 get_document_category。", + "m_ad994dbc23c4c990": "返回引用该文档的反向链接(wiki 链接 [[...]]、模板 transclusion {{...}})文档列表。", + "m_639d520572cd50f7": "查询反向链接的文档 slug(=标题)", + "m_baa7da4dc29d1bde": "返回整个 Wiki 最近修改的文档列表。响应中包含 slug、作者名称、编辑摘要、最后修订 ID(revision_id,与 read_revision/revert_page 关联)。可以组合过滤参数缩小范围。", + "m_2c2360ccdb1288bf": "最大返回数量(默认 10,最大 100)", + "m_1c5ac590ca42742f": "仅此时点之后的更改(ISO 8601,例如:“2024-01-01”或“2024-01-01T00:00:00Z”)", + "m_9d55cf684346d177": "仅特定用户(名称完全匹配)的最后编辑", + "m_526e538baffd5c3a": "仅特定类别下文档的更改", + "m_73d79401118b9f44": "特定命名空间(Slug 前缀)过滤。例如:\"模板:\" 或 \"分类:\"。以 \"/\" 结尾则匹配子树。", + "m_d9ffd0b16262fc2b": "返回特定文档下的讨论线程列表。包含每个线程的 ID、标题、状态(open/closed)、评论数、创建日期。", + "m_b33174b918700b9b": "读取特定讨论线程的标题、状态及所有评论。discussion_id 使用 list_discussions 返回的 ID。", + "m_cbffdc5c8d59c830": "list_discussions 返回的讨论 ID", + "m_757d8d1e4210db88": "根据文件名查询上传到 Wiki 的图像并以图像数据返回。在文档正文中以 ![文件名](https://域名/media/images/文件名) 格式插入的该文件名(包含扩展名)使用。", + "m_aa2b1fba52dee466": "图像文件名(包含扩展名,例如:“example.png”)", + "m_f8ac6d1e08a80948": "返回博客(/blog)帖子列表,按最新顺序排列。每页最多包含 20 个条目,每个帖子包含 id、标题、发表时间(time_ago)、行数和字符数。博客帖子通过整数 id 而非标题进行标识。如果有下一页,响应中将包含 next_page。", + "m_03e894d94ff38499": "页码(从 1 开始,默认 1)", + "m_e6dc125b6303f6e8": "获取博客帖子的完整正文。id 使用 list_blog_posts 返回的整数 id。设置 raw=true 时,将跳过 Markdown/维基语法转换,原样返回。", + "m_f89f48c07ea32b06": "博客帖子 id(整数)", + "m_906675307ca26a8a": "仅获取博客帖子的目录(section)。目录以分层编号(例如“1.”、“1.1”)格式返回。如果在第一个标题之前有正文文本,将在最前面添加“0. 前言”条目,指定 read_blog_section 为“0”时可以仅读取该前言。", + "m_0ea92e2a21f5d480": "仅获取博客帖子中特定目录的内容。目录编号通过 get_blog_toc 返回的分层编号(例如“1”、“1.1”)指定。设置 raw=true 时,将跳过维基语法转换并返回。", + "m_8ffbe10218de0ebf": "get_blog_toc 返回的目录编号(例如“1”、“1.1”)。“0”指第一个标题之前的前言。", + "m_0169b14d9e0774bd": "\n\n语法指南文档:__VIREO_SLOT_0__", + "m_516b6531ac86d0c6": "\n\n除维基文档外,还可以通过 __VIREO_SLOT_0__ 工具浏览博客(/blog)帖子。博客帖子通过整数 id 而非标题进行标识。", + "m_c73abcd53e225fb1": "该工具是可以浏览 __VIREO_SLOT_0__ 文档的 MCP 工具。该维基的语法基于 Markdown,基本上无需阅读语法指南文档也可以理解内容。如果阅读文档时未单独启用 raw 参数,将返回经过 Markdown 整理的内容。建议在使用 raw 参数前先阅读维基语法文档。__VIREO_SLOT_1____VIREO_SLOT_2__", + "m_8c306ae2749ce518": "__VIREO_SLOT_0__ ## 可用工具列表 __VIREO_SLOT_1__", + "m_7fa8a1e0dbc5c616": "错误: RAG 搜索已禁用。", + "m_6609e2b894160aca": "错误: RAG 搜索失败: ", + "m_3c8aaba9778dff5f": "错误: 找不到文档或文档为私人/已删除状态。", + "m_6d994f307ce24bc5": "错误: 需要 title。", + "m_c024e5d390be2e9d": "__VIREO_SLOT_0____VIREO_SLOT_1__ 没有下级文档。", + "m_73837db939871074": "\n没有文档的条目 (__VIREO_SLOT_0__):\n__VIREO_SLOT_1__\n", + "m_7caa694effdba08e": "分类文档不存在。", + "m_f74b6c1d51b564ad": "错误: discussion_id 无效。", + "m_4330b1647ece8efb": "错误: 找不到讨论或讨论为私人/已删除状态。", + "m_76e10614f8d4e406": "(已删除评论)", + "m_f9e850c4ce13164f": "错误: 需要 filename。", + "m_7a637fcd3a575c69": "错误: 找不到与 '__VIREO_SLOT_0__' 匹配的图片。", + "m_ecdb75297ff61dac": "错误: 多张图片匹配。请指定准确的文件名: __VIREO_SLOT_0__", + "m_f046f1182d1ba03d": "错误: 图片文件过大 (__VIREO_SLOT_0__MB)。只能查看小于 5MB 的图片。", + "m_98b7a2103a408bb5": "错误:图像文件在存储中不存在。", + "m_32865686a43ee5c7": "__VIREO_SLOT_0__ / [编辑备注] 已更改", + "m_1747995f753a201c": "[编辑备注] 已更改", + "m_24851445d7e308d5": "将草稿中累积的编辑 **立即** 确认为新的修订,而无需审批阶段(仅在我的页面中开启 \"允许 MCP 编辑立即应用\" 时显示)。与 commit_edit 提交审批待定不同,该工具会立即保存。\n\n应用与 commit_edit 相同的冲突验证——如果 base_revision_id 在此期间被更改(其他用户修改页面),或新页面草稿的相同 Slug 已存在,则会被拒绝。编辑权限(edit_acl)/仅限管理员类别也会在应用时重新验证。\n\nsummary 为新修订的编辑摘要(可选,最多 255 字)。保存时会自动加上 `[MCP] [+N行 -M行]` 前缀。响应中包括新的 revision_id 和行变动量(lines_added / lines_removed)。\n\n如需审批审查,请使用 commit_edit 而非 apply_edit。", + "m_15b5eab43f6782bb": "要立即应用的草稿 id(从编辑工具响应中获取的值)", + "m_3cb04c545466a1f2": "已通过 MCP 即时反映生成了“__VIREO_SLOT_0__”文档。", + "m_ecee15dca2358682": "已通过 MCP 即时反映编辑了“__VIREO_SLOT_0__”文档。__VIREO_SLOT_1__", + "m_610d40599b80cbb8": "MCP 即时反映", + "m_322e63282d28faa3": "错误:MCP 编辑即时反映已被禁用。请在我的页面设置中启用后使用,或通过 commit_edit 提交审批等待。", + "m_56686db518ce8807": "错误:无法应用其他用户的草稿。", + "m_428b5a484acfe97a": "错误:该草稿已提交等待批准。请在我的页面批准或放弃编辑后再试。", + "m_1b5dd20687b6eeb9": "已立即生效并生成新修订。", + "m_1509a20063ffedfe": "__VIREO_SLOT_0__ 编辑了“__VIREO_SLOT_1__”文档。__VIREO_SLOT_2__", + "m_d9563d9a89a9d444": "未找到 R2 修订版本: __VIREO_SLOT_0__", + "m_7171d3c73f9f2ea5": "📢 公告:__VIREO_SLOT_0__", + "m_74b380ce1d5f53bf": "[__VIREO_SLOT_0__](__VIREO_SLOT_1__) 有新的讨论已开启。\n\n> __VIREO_SLOT_2__", + "m_b329efb40b330ac6": "**__VIREO_SLOT_0__** 有新的讨论已开启。\n\n> __VIREO_SLOT_1__", + "m_06feb699074d9c32": "💬 新讨论", + "m_a197030ed96f7990": "创建新文档", + "m_b2792dcfacf6f071": "**__VIREO_SLOT_0__** (__VIREO_SLOT_1__) 的编辑请求已提交。\n[查看](__VIREO_SLOT_2__)__VIREO_SLOT_3__", + "m_028e9f3e58511e35": "**__VIREO_SLOT_0__** (__VIREO_SLOT_1__) 的编辑请求已提交。__VIREO_SLOT_2__", + "m_c260160bdcbc43b7": "📝 编辑请求", + "m_4d07a4b5339c6e9d": "**__VIREO_SLOT_0__** 已申请加入。\n[前往批准](__VIREO_SLOT_1__)", + "m_59802849b7e95cc3": "**__VIREO_SLOT_0__** 已申请加入。", + "m_9990d458ebd03b13": "🆕 加入申请", + "m_3b7dbc4c0c4cebca": "电子邮件", + "m_b84abfbe481c6010": "供应商", + "m_9cd880d519c81b65": "请求 #__VIREO_SLOT_0__", + "m_ab9442a23e772cce": "原因", + "m_f722391e108aee57": "🚫 拒绝加入申请", + "m_fc9929c6d6a254fb": "**__VIREO_SLOT_0__** (`__VIREO_SLOT_1__`) 的注册申请已被拒绝。", + "m_67f12481a97255e5": "👋 新用户注册", + "m_31b3cbb904761ba4": "**__VIREO_SLOT_0__** 已加入。欢迎!", + "m_8c609debc12c2cd0": "目标", + "m_d2f2951a69fd7b43": "🛡 超级管理员操作", + "m_050d981c6c43cdfb": "未指定", + "m_6d7c36a0f5e096ea": "🎫 #__VIREO_SLOT_0__ 状态更改", + "m_b918d5af77b8733a": "时间", + "m_32c11dd4e0e62147": "⛔ 阻止用户", + "m_0bcae653387614f2": "✅ 解除阻止", + "m_9d4b0e23e6fe6cc9": "🔧 权限修改", + "m_1d080437d8462ce9": "图标", + "m_28fa29ac1fa6e31c": "小", + "m_541d1ddb952f8fbf": "中", + "m_9926395d3d8baa1b": "大(默认)", + "m_0531b5486f1b8a48": "背景色", + "m_4a131f6944f28a0e": "__VIREO_SLOT_0__年 __VIREO_SLOT_1__月", + "m_3603b4581160941a": "默认", + "m_cedc796580c58c6b": "\n
                    \n
                    分类 __VIREO_SLOT_0__ 已为以下编辑 ACL 模板设置。
                    \n
                    __VIREO_SLOT_1__ (全部满足 — AND)
                    \n
                    在将此类别应用到文档时,如何反映类别 ACL?
                    \n
                    \n \n \n \n
                    \n
                    \n ", + "m_7d1389c0c9a517a1": "仅管理员类别", + "m_af9027f1a1dee91e": "
                    无结果
                    ", + "m_08b17e433630742b": "标题", + "m_e556342b438d499f": "\n ", + "m_f02b935997f88b93": "\n \n ", + "m_ad517c180afa0165": "\n
                    \n
                    \n 目录\n
                    \n \n
                    \n
                    \n \n
                    ", + "m_b29c4d9dd8ee7fc7": "\n
                    \n
                    \n \n \n
                    \n
                    \n
                    \n
                    __VIREO_SLOT_0__\n
                    __VIREO_SLOT_1__\n
                    \n
                    __VIREO_SLOT_2__\n
                    \n
                    \n ", + "m_e92a0544c85716d0": "搜索失败", + "m_067ee424bdc93ea7": "\n
                    \n \"__VIREO_SLOT_1__\"\n
                    __VIREO_SLOT_2__
                    \n
                    \n
                    \n \n \n \n \n
                    \n ", + "m_6de19876d0e0a5c0": "大(默认)", + "m_e25992f8b1b64bc7": "草稿保存失败", + "m_39b6b8ebbc11c8fb": "\n
                    \n
                    \n __VIREO_SLOT_0__\n
                    \n
                    \n
                    \n
                    \n
                    \n \n 1 / __VIREO_SLOT_1__\n \n \n \n
                    \n
                    \n ", + "m_cee3585ff1175382": "需要持有者令牌", + "m_a9cc4e895f5a5a91": "持有者令牌为空", + "m_605a25cfb239ed2d": "令牌已过期", + "m_4441b4b45947e726": "未找到令牌", + "m_cd7e9dbe5eec7bd9": "令牌已被撤销", + "m_a7b4e9ad19b36f5f": "令牌权限不足,无法访问 MCP", + "m_1035a5731b39d432": "加载中...", + "m_ede110c10283e660": "width=device-width, initial-scale=1.0", + "m_dbb0975319beff08": "管理后台 - 批量管理页面 - VireoWiki", + "m_d707dc2f1936efd8": "标志", + "m_6d5f194bd1f65df5": "VireoWiki", + "m_4b6ded8a7f181397": "通知", + "m_5a2cac68fd2d63f9": "个人中心", + "m_3ab8cc15939f3b5c": "退出登录", + "m_748ae6920776e7c8": "全部标为已读", + "m_568090ece66761ee": "查看全部通知", + "m_adca3cc3b4abafe1": "浏览器推送通知", + "m_f7849180cb1922d6": "搜索页面...", + "m_44ce7ae909bbb28b": "搜索", + "m_788db1cfec2a3db5": "主题", + "m_13e9677c46dd462e": "自动(系统设置)", + "m_7eb336e42cb5076b": "自动", + "m_a6b75d0680322a61": "深色", + "m_aa0819dfc4d8d782": "浅色", + "m_2b04e420a8e524a0": "当前主题仅支持深色模式。", + "m_5338c32ac42a3982": "配色主题", + "m_da01bc4680e49184": "布局模式", + "m_7a03f9cb9815cec5": "站点默认值", + "m_2d77140f7472707b": "站点默认", + "m_3c53ceb38084dc53": "默认 (无侧栏)", + "m_b4b70b0bf9b0e712": "左侧目录", + "m_426c84c165d1b6ea": "右侧目录", + "m_ce8cbab05fabe86b": "页面 (左侧目录树和右侧目录)", + "m_a6e1330f8bfebce6": "宽屏 (隐藏侧栏)", + "m_04b82dd5a6493f28": "宽屏", + "m_bb5719813af6fb85": "启用单键快捷键", + "m_8da97ddda990e7c4": "开启", + "m_9123c48619df4f36": "关闭单键快捷键", + "m_6119857da8126b85": "关闭后", + "m_d7eb74eed17234ef": "等单键快捷键将失效 (", + "m_8a2264e4cd9205ed": "Ctrl/⌘+K", + "m_f8a58910208de2f6": "始终可用).", + "m_4d8359117de6b0ed": "设置仅保存在当前浏览器;更改布局后页面会刷新。", + "m_cc11b6991e2855d2": "返回管理后台", + "m_fc19a3d028718a11": "批量管理页面", + "m_8fe93aa85a945d5f": "选择页面后一次完成搜索", + "m_2a766088ff30b652": "或", + "m_341c70582918ad93": "移动页面(改名)", + "m_d90f64d83741d035": "可以进行", + "m_9fce45c3d25c4d8d": "仅超级管理员", + "m_9b92259f6104e24f": "功能。硬删除(永久删除)无法恢复,并且会同时删除讨论、修订和关注设置。", + "m_5d5b3fad865d8406": "搜索页面", + "m_b94f2785f419e16b": "slug 搜索...", + "m_7f0c8db43ecdee2d": "同时搜索显示标题", + "m_99eb8b2f9137da47": "重建链入索引", + "m_10ca1ba62df99ad1": "对全部页面正文进行抽样调查以重建反向链接。\n 当更改链接提取规则后,可用于批量修正或手动恢复索引不一致的维护工具。\n 即使关闭页面,也会继续进行。", + "m_a49d6a13055e6066": "开始重建索引", + "m_ca4d973c0b006b75": "停止", + "m_7c9691192f1b7340": "继续", + "m_deee0366ae74a548": "补建 RAG 索引", + "m_b28c3e0e3c7775bd": "启用RAG(AI Search)插件后,将已存在的全部页面的现行正文一次性填入用于索引的R2桶。\n 插件启用后的更改会自动镜像,因此此填充只需在引入时执行一次。\n 无论ACL如何,都会索引所有页面(包括私有页面),在搜索时会过滤掉私密/删除页面。\n 即使关闭页面,也会继续进行。", + "m_55b50381eddb8e75": "开始回填", + "m_88d72ece7cf76737": "搜索结果", + "m_b85dd88a4847bc85": "批量删除", + "m_12ec1053141de7ea": "删除所选(可恢复)", + "m_47500d89a4611fad": "对选定项进行永久删除", + "m_3accad1e4fdfe5fc": "批量移动(标题更改)", + "m_564ea28e954e9fc6": "将选定页面的地址(slug)中的", + "m_bf603c449cd875a7": "查找内容", + "m_375745740097d3a9": "替换为", + "m_7d37f059645bf210": "替换为", + "m_c844f617fc30ff08": "并批量移动。例如)选定的", + "m_1234d505d6f6c48d": "及其子页面", + "m_0470be950ae2efcd": "改为。\n 指向每个页面的引用链接(", + "m_7763d011712b2557": ")也可以同时更新。", + "m_8f26c4d7bea556e2": "示例:Cloudwiki", + "m_1d66d95bcaeed7ee": "例如:页面 保存所", + "m_a4dcaa5ce7c06638": "参考链接(反向链接)正文也一并更改", + "m_dcb06beb51a409a5": "预览", + "m_f43745adf1bfb2c6": "执行移动选中项", + "m_7d9eb7acb13e2462": "关闭", + "m_933d10d7a714ea8e": "©", + "m_3136a9bf2ac92e5a": "管理后台 - 图片管理 - VireoWiki", + "m_07c502db4218d64a": "图片管理", + "m_11517afb9a8e86c0": "搜索和管理已上传的图片。", + "m_174a870d266c7cbe": "垃圾回收", + "m_be99a7d5edb04aec": "查找未使用图片", + "m_3a5040b68abf75f9": "全选", + "m_f4d4bae588c4c0ff": "取消全选", + "m_435bf8a234fde6f2": "删除所选", + "m_5b75727ad998857a": "图片列表", + "m_9743941279196582": "最近上传优先", + "m_30a8548b78af84c7": "最早上传优先", + "m_ce4e4486ec3b6b54": "文件名 A–Z", + "m_e15b17b1dfa9a6e1": "文件名 Z–A", + "m_6634a3b81a71fa77": "大文件优先", + "m_6cf3b5b26a784642": "小文件优先", + "m_afaf8211b1d89bf3": "搜索文件名...", + "m_a03f30e8d07385a2": "搜索标签", + "m_a49a58dc4b4807f8": "(按回车或逗号添加,显示包含所有标签的图片)", + "m_5550a6bd11600976": "图片分页", + "m_7b4fa8d66e9ee056": "管理后台 - VireoWiki", + "m_e19796712f1cf0de": "管理员", + "m_ce0401430697ef8c": "管理菜单", + "m_0853bf3c01440ea8": "仪表盘", + "m_fbf413d429bd168a": "用户管理", + "m_c7253a80c714ac17": "内容管理", + "m_68ea5dd4d7af20e6": "系统设置", + "m_d3e3bdceefb587dd": "统计与日志", + "m_9a4abb1987b0928f": "管理 Wiki 设置。", + "m_572cf45ba43634b3": "返回", + "m_34bcac5d7a5cae34": "快速链接", + "m_9ca3e347bd2a255a": "工单咨询", + "m_294be43d38b2c379": "图片管理工具", + "m_fbbbc44e26ab529e": "批量管理页面(超级管理员)", + "m_362098b02d0244bd": "查看统计", + "m_65945e3e2adf2d95": "打开统计面板", + "m_b0cc8a500342168e": "最近 7 天统计概览", + "m_8e91da667e83d3f8": "总浏览量", + "m_629ce27ad4e60622": "访问国家", + "m_4fc3b101446ed72b": "注册申请管理", + "m_02f9a8a28719b423": "注册审核已启用", + "m_7bf25421c6df4ad7": "待审核", + "m_b42cb548c1d411c9": "已批准", + "m_f098218a3032a625": "已拒绝", + "m_ca0ea64115782e55": "已封禁", + "m_fa2ff3c379a7c988": "查看全部", + "m_dd0a97ab3653fa82": "应用筛选", + "m_b94d13a45ea21152": "个人资料", + "m_a98585871c5313ff": "显示名称", + "m_73075237fd0f05f0": "邮箱", + "m_6320b4a8722a851f": "状态", + "m_ed31fbb483ee1b0a": "操作", + "m_af90a08fec8ee28d": "加载更多", + "m_f847b9e2149b50a9": "用户列表与权限管理", + "m_793615f433522e6f": "搜索名称或邮箱", + "m_25e4e2328dfe83e5": "所有权限", + "m_08a7d8daed8f815c": "讨论 管理员", + "m_454b597653f5ab37": "普通 用户", + "m_d44e9b3d3b31d37b": "名称", + "m_978cbca6265d1af2": "权限", + "m_4adc34616f3c900b": "注册时间", + "m_bb6d995724f49a72": "管理", + "m_66af625922befced": "已删除页面管理(软删除)", + "m_78bed30c40562a34": "搜索页面名或标题", + "m_cb5d682bac3d1a2d": "重置", + "m_8812b1cd0781889a": "页面路径(Slug)", + "m_b0d53c3b5c4c7a4c": "删除时间", + "m_f7ee4c424f60cc9f": "已删除页面翻页", + "m_86aba51cf707a19f": "分类 ACL", + "m_7953ecf86928f6fb": "名称 ↑", + "m_4022782076906ec4": "名称 ↓", + "m_80c25621f2448b18": "页面数降序", + "m_24bca5777f0575f6": "最近登记优先", + "m_2de8816f4704cf54": "如果在分类中编辑 ACL 模板,当该分类应用于页面时,页面将根据", + "m_3a2ee02a29524d71": "此模式(覆盖/合并/忽略)进行更新。", + "m_109aba135893a2a3": "打开标志后,非管理员无法应用该分类(效果与旧的“仅管理员分类”相同)。点击分类将返回移动页面。", + "m_1b826effed73f4a6": "分类 ACL 页面移动", + "m_22f91403b63f6ba4": "调色板管理", + "m_a1a6fd3507394097": "在正文中", + "m_56e7a92d37385a63": "管理可用的自定义颜色调色板。指定背景色时,文字颜色将根据亮度自动计算(可手动更改),若在深色模式下使用其他颜色,请打开单独的颜色切换。默认颜色预设", + "m_1fc8555df8c66537": ") 不能使用。", + "m_aa1cbd60d03356f8": "添加调色板", + "m_919090e0bf9f04a9": "调色板名称", + "m_d31a4d6bad47bfcc": "浅色模式", + "m_f21ef4aba5ab4e55": "文字颜色", + "m_19f7a4ea878d5964": "自动对比度", + "m_568e8ffdd040007f": "为深色模式单独设置颜色", + "m_94d2bd014dfd31ba": "深色模式", + "m_65900e469fbff6dd": "预览:", + "m_dbcd5e7bb7a0f538": "浅色", + "m_60acc53f13a5d1bf": "深色", + "m_21bd738e0d7191a7": "正在加载…", + "m_aeb5764c745369df": "站点公告", + "m_05cf32f81ceb6098": "发布多个公告时,将按从上到下顺序叠加在标题栏。博客文章页面的“发布为公告”按钮仍可使用,此处新增的公告将发布为外部链接或无链接文本横幅。", + "m_3031747ae2bd249a": "发布新公告", + "m_37d9c73375dc7a44": "公告标题", + "m_4e222e2a6cbb4040": "链接 URL(可选)", + "m_517e33f50a4f457f": "https://... 或 /blog/123;留空仅显示文字", + "m_8b5794a39cd7c3c5": "重置图标", + "m_d78a6a9cd0304a66": "发布公告", + "m_305378ddd2b86b60": "链接", + "m_e8ff4d335dee5d55": "发布时间", + "m_83163278a6592c52": "编辑公告", + "m_cfc8cd209fe2a722": "只能更改标题和图标。发布时间不会更新,也不会发送 Discord 通知。", + "m_0f6675c094dab042": "Wiki 运营策略", + "m_a9a545aee2d2f6ac": "显示名称修改策略", + "m_e06b63bd4fe302fd": "不限次数", + "m_727f0e041be74148": "禁止修改", + "m_e816a12c29775a4e": "按天限制", + "m_ee239f3943293f87": "周日", + "m_5cea9b8ab0708590": "私信与注册", + "m_1da0ccf3d059c6ee": "允许私信", + "m_04f83ab519b2acda": "开放注册", + "m_ccfa3209cd2cdff7": "管理员审核", + "m_198a9a5357181c54": "关闭注册", + "m_bbd302e659bae8a0": "编辑权限全局设置", + "m_e5ff4a67571b7ba4": "编辑 ACL", + "m_53063ebc6df404bd": "注册至少 N 天", + "m_4c744fdbd8a71ae1": "门槛", + "m_9b1a7ebabfc59142": "pages.edit_acl 的", + "m_2e4efdf119a31cac": "标志引用的全局门槛。为0时,注册后立即通过(=禁用)。", + "m_170c6b52b88441a5": "编辑申请", + "m_7e1c59dde29ccbfc": "对ACL不足用户的编辑不会立即生效,而是作为编辑申请保留,由审查者(管理员·可信用户)\n 在页面上进行批准/拒绝。这一切换已转移到发布设置(", + "m_39ba020943ebbc5c": "的", + "m_712943d8cd52f7ec": ")中。", + "m_67c9030df1b27107": "必须大于0才会发生保留。", + "m_c8550237ba701f64": "保存设置", + "m_335943d9bd78e53b": "MCP 服务设置", + "m_085215f75afda280": "正在检查...", + "m_a950af1d5f31c41d": "通过 wrangler.toml 中的 MCP_MODE 设置。", + "m_303757e930545121": "MCP 服务地址", + "m_63d90d977348ab1f": "复制", + "m_ff3790a87c0a0775": "流量统计", + "m_aee88743413144a2": "刷新", + "m_cdc65d40899ab1dd": "加载数据", + "m_89d9db257f9c2dbf": "热门页面", + "m_4c9a220ed148a7e9": "24 小时热门", + "m_8027f8ca48863bba": "来源渠道", + "m_a05ccf093c91cb2a": "设备与浏览器", + "m_c636d975abd1f51a": "搜索词", + "m_262630ed44685da3": "最近的 HTTP 错误", + "m_77e1ea5c5688eea4": "路径", + "m_0b9157354ab262ae": "错误信息", + "m_06f7d73412128f50": "状态码", + "m_88d7fcd8d7de0e70": "发生次数", + "m_c0d32ad56b14db88": "性能统计(平均响应时间)", + "m_0673748321d78a32": "管理操作日志", + "m_4b414e789934c4ff": "搜索管理员或内容", + "m_267c4a7a86dd1849": "全部类型", + "m_804fb8e4ccb55940": "权限修改", + "m_7b6b1944a52d4cf5": "封禁/解封", + "m_aa4e74c672848368": "批准注册", + "m_6800c353c9e55b1b": "拒绝注册", + "m_17131d16839d5aa7": "禁止注册", + "m_063326a7a1561189": "设置修改", + "m_c6f37061bf42d40c": "添加分类", + "m_8fecb2f55251d4a6": "分类 删除", + "m_85c00334976622a9": "媒体 删除", + "m_c6c8db783b56b86a": "媒体 GC", + "m_9f4f960bb8b06af3": "页面 删除", + "m_d89a000da895d46b": "恢复页面", + "m_5818ad0db46d8259": "移动页面", + "m_5c50530777ed9773": "批量删除页面", + "m_5957c5e9b39d332b": "批量永久删除页面", + "m_83417580a935ca2f": "批量移动页面", + "m_8b6ff498515bcc2f": "时间", + "m_ba40014ff496f64e": "类型", + "m_3f4e5426e6a9667f": "管理日志翻页", + "m_afc8f822ddc2a301": "图标库", + "m_2b6813572c27a663": "MDI", + "m_faab0dc4735c1cfe": "Bootstrap", + "m_86995a1b96fcd346": "无图标", + "m_9be2a4bf979ffcc9": "搜索图标名称...", + "m_9ea3c456343fe9ea": "正在加载图标...", + "m_1e0b298652261fa0": "没有搜索结果.", + "m_62e0407d3d23ffd0": "全部页面 - VireoWiki", + "m_393a2482464f881c": "全部页面", + "m_386d3809ccaab512": "集中浏览页面、分类与图片;点击标题旁的箭头可展开子页面。", + "m_bdb3fee384c86c0d": "显示详细权限", + "m_16bde868b9e63f6e": "名称升序", + "m_5cf21e0983a11338": "名称降序", + "m_a691b28b8f352e35": "最近修改优先", + "m_2fea6887f9992c48": "最早修改优先", + "m_46391bc8cc3d46a0": "最近创建优先", + "m_e25626f1af29dbef": "最早创建优先", + "m_bc25ffdd4eeb42ec": "长页面优先", + "m_9182894875d7d167": "短页面优先", + "m_422a52cc9ddd50e6": "子页面数量降序", + "m_1f5e08348dd1d87e": "子页面数量升序", + "m_ca905de61fbd2986": "页面数量降序", + "m_391fa021267f1dae": "页面数量升序", + "m_43e8d46175790b16": "实时热门", + "m_00bd3960fea8ea98": "展开", + "m_58178ba689c2eead": "最近更改", + "m_f95e454c28b7e17d": "编辑博客 - VireoWiki", + "m_88d91fa49b2c19a9": "没有结果", + "m_9dc0825fba5422e4": "加载中...", + "m_dc92ca6be7ef747c": "选择图片尺寸", + "m_ebd11b2cabe9972c": "插入代码", + "m_08cc2cac91a65892": "插入区块组件", + "m_369b82fa0700db02": "选择颜色", + "m_4171421030a69398": "选择调色板", + "m_be6d37351abba0f9": "日期/时间", + "m_c430f4c12eaa146a": "周一", + "m_d1378a68e620b1cc": "周二", + "m_2961168962be301a": "周三", + "m_e9d3b01a5a00f1af": "周四", + "m_572388f3b096b817": "周五", + "m_f9aa11dbb15ce647": "周六", + "m_74cd9e84af49dc71": "搜索图标名称... (例如 home、user、card)", + "m_397c5d2dde1f3a79": "编辑博客", + "m_a1b406f82efc3814": "博客文章标题", + "m_1737d8802b708474": "1行", + "m_bd1f3f02b0950a95": "0个字符", + "m_b84795fdfa079d3d": "0个字符(含空格)", + "m_a9126274b61a2366": "0词", + "m_bc5b83eddbe9465e": "刷新验证码", + "m_9393fa8872d201c0": "编辑图片", + "m_55a6f0a582b4f5b9": "切换裁剪模式", + "m_5a2a4223e38b105b": "应用裁剪", + "m_104b0e8a6eca3728": "向左旋转 90°", + "m_82751aa3ca5f5a4e": "向右旋转 90°", + "m_76709ce82501d0c2": "恢复原图", + "m_37b5a36966aeab63": "完成编辑", + "m_54d223f23d5de184": "博客 - VireoWiki", + "m_2bb95a729d4bb468": "CloudWiki", + "m_202cc44b7a897f31": "博客", + "m_e5fce40a463b69c1": "新文章", + "m_d953523a3646e792": "管理员 操作", + "m_0830771df3e6da3c": "公告 取消", + "m_ef0dca055914e62c": "永久 删除", + "m_7e564575eb7d5eb2": "分享", + "m_8e86f9b1d54f2c51": "复制链接", + "m_b1f1efeb98a9d972": "复制页面文字", + "m_8d118670097e8a26": "复制页面(Markdown)", + "m_d7bfe7b5055c225a": "打印", + "m_61e5a71f3ca6511c": "询问 Claude", + "m_3a178828694315f2": "询问 ChatGPT", + "m_e9d5ca6c140665da": "返回列表", + "m_437187bdb62716e5": "未找到文章", + "m_6b1df31c2681e88b": "文章不存在或已删除。", + "m_d4a50c2602250e37": "组件JSON生成器 - VireoWiki", + "m_489a845ceeb31c14": "组件JSON生成器", + "m_cd40c8a1d69cdd05": "制作侧边栏·页脚导航的GUI后,将生成的JSON", + "m_7711db9ce00632ec": "贴入值中。", + "m_30dd3b467d75339a": "全部 重置", + "m_670b7237b098a1e3": "侧边栏配置", + "m_5f8f51410e680cd8": "添加条目", + "m_77b30902275257cd": "标题 (Header)", + "m_14b69bd6eeb0839b": "文字", + "m_c64dd5eb2135d0ba": "分隔线", + "m_c0c2044762e6d217": "页脚配置", + "m_d124c7e40548f99a": "侧边栏JSON", + "m_be0fa73996933633": "将输入的 JSON 应用到上方界面", + "m_47d4ec6c36eb0873": "在这里粘贴 JSON 数组,然后点击上方的 '应用' 按钮。", + "m_00b28fc736016af5": "页脚JSON", + "m_26632d0a3a310216": "讨论 - VireoWiki", + "m_cba95f43a12d7d78": "返回页面", + "m_050b1f04e0dee903": "新讨论", + "m_5c55a67935af8f45": "全部", + "m_c14c915da5fbec64": "开放", + "m_9cf5f152776decfc": "发起讨论", + "m_fc4e7c9b637515d7": "讨论标题", + "m_80c010b6e1892329": "输入讨论内容", + "m_b61f333b91b21f79": "发布", + "m_0bfca7bdd2207da4": "发表评论", + "m_75ff606f874424ab": "输入评论内容", + "m_d346633d3a4e54d3": "取消回复", + "m_d0234b632dcbbab5": "编辑页面 - VireoWiki", + "m_e3d507e8f947433f": "发生编辑冲突", + "m_52b172658ccd1f00": "基础 v", + "m_b06a67fdb63d45e4": "服务器 v", + "m_d8e0260302c1feae": "个\n 修改", + "m_e4aaa7fac477c6bf": "我的编辑版本 ·", + "m_cd8a10d781a40851": "项改动", + "m_fd00391ec84ee73a": "浏览冲突", + "m_1d851edde2d1e26a": "上一个冲突", + "m_626f690f96179548": "下一个冲突", + "m_20bf5a70a1b1444f": "差异模式", + "m_ad6a950b4620d66f": "统一", + "m_32afaa7843336480": "拆分", + "m_f7c58140798c4f5c": "比较改动", + "m_749fd9c60a28f34e": "我的编辑 ↔ 服务器最新版本", + "m_2d92ab5f3632b2eb": "我的改动(基础版本 ↔ 我的编辑)", + "m_f86137ada98930bb": "服务器改动(基础版本 ↔ 最新版本)", + "m_8290e2f665c2099b": "服务器正文", + "m_13d61fea9f174905": "预览", + "m_f2861e697c38887b": "合并草稿", + "m_3b0bd3302e7ec46e": "系统会自动插入冲突标记,请手动编辑解决。", + "m_cb61a55481561971": "0 项未解决", + "m_391f167958bd4583": "将解决结果应用到编辑器", + "m_26dc36277d3831fc": "编辑页面", + "m_72d2bae2a744d54f": "当前", + "m_ee16e42cf2c52882": "仅编辑当前章节,保存时只更新此章节。", + "m_bb95998fd00570c2": "拆分为子页面", + "m_d967118a6a467fb2": "页面\n 切换到完整页面编辑", + "m_20955652b7c3d268": "页面 标题", + "m_16f715efa9f0ba6c": "显示标题", + "m_3d5c3c3dbaca6b32": "(可选)", + "m_a67c7c8486969162": "输入分类后按回车或逗号", + "m_ac6ee8a4adcaa68a": "分类 管理", + "m_a58d6f8a9aef5cd8": "页面重定向", + "m_e1516325e6039440": "输入访问此页面时跳转到的目标页面标题", + "m_5f75abc799d3a4a6": "保留当前页面内容,并将访客转到另一页面。", + "m_278a8f83ac5d0ec9": "语法指南", + "m_2ba335f099de9f54": "预览改动", + "m_3f93387bd2d962e4": "预览渲染结果", + "m_310aa9a52377ce2a": "编辑摘要", + "m_47a8ff3f51364711": "简要说明本次改动", + "m_2d22af42a79f019a": "编辑备注", + "m_98047b375180d8fb": "仅编辑者可见,不记录在修订历史中", + "m_303561cc374355bf": "留下仅编辑者可见的备注,读者看不到。", + "m_88168f37ced26d1c": "在此浏览器临时保存当前正文", + "m_5329e3f0ee463df5": "保存草稿", + "m_0cb3fb5b86d7dec6": "发生错误", + "m_d98ee0e5f9399db9": "错误", + "m_2fadf395e582b518": "发生未知错误。", + "m_527ed1f5f1272340": "探索 - VireoWiki", + "m_98ceb57fd8c4192a": "探索", + "m_dc11b75252240cb7": "孤立页面", + "m_4ecce7be480f6f30": "— 没有其他页面链接到的页面", + "m_91da9a0ea953819a": "待创建页面", + "m_81ac554b62fd7744": "— 有页面引用但尚未创建的页面", + "m_868e138a540a8169": "最近讨论", + "m_66107ee6f097cc69": "待审核编辑", + "m_669c9c93aa6585ee": "— 可在相应页面中审核", + "m_900279772114fc7a": "随机浏览", + "m_f482e3e5b8c7be21": "随机浏览页面", + "m_8991e2cd957c4fa4": "页面动态", + "m_c18fdf7c840dbd7d": "最近编辑", + "m_d0779dcb213ea806": "只看待巡查编辑", + "m_427017aa416d183c": "最近编辑分页", + "m_561340c5675ebec3": "页面名称升序", + "m_9b4a824feb2589ab": "页面名称降序", + "m_79ffcd4493ccbc87": "创建时间降序", + "m_c1d6c8a33bdbf06f": "创建时间升序", + "m_7c03015f02805cf6": "最后编辑时间降序", + "m_621179d315791a07": "最后编辑时间升序", + "m_c5089e5ca420bbda": "分类名称升序", + "m_ba22bb6bab115807": "分类名称降序", + "m_4b211956be18fc54": "页面列表分页", + "m_23d882bdf6b507e8": "页面分组导航", + "m_af0ae3351923fc5d": "页面目录", + "m_52daa71ebc310581": "目录", + "m_82b4b8d91a0f11ad": "创建第一个页面", + "m_21b45a82891c3229": "当前页面有正在进行的讨论。", + "m_477e016daabf33df": "查看讨论", + "m_b7e78359233ab5d1": "复制 HTML", + "m_c86d3f1f09905f89": "页面工具", + "m_881ae691c44b361d": "0行", + "m_cc9d207f74c40e3d": "上一页/下一页", + "m_f2d08a239c38f620": "此页面已删除", + "m_6d9ff8ce8d9e2b5e": "此页面为私有页面", + "m_8536c6991311409e": "此页面设为私有,仅有权限的用户可以阅读。", + "m_ed737b618c53f493": "分类:", + "m_a610e0c62b3e1e39": "本页目录", + "m_843bf1cad06adf9d": "目录", + "m_343d9b642b08734e": "退出阅读模式", + "m_89295faf2d570ffb": "退出Raw视图", + "m_43bd5e82c49e4f9c": "回到顶部", + "m_d8043d8bbd373b37": "滚动到底部", + "m_41ec79ea3fc0f117": "VireoWiki - 登录", + "m_ef45c4d5478d199f": ",欢迎使用", + "m_c03129eac3c27cd8": "欢迎使用 Wiki,登录后即可参与编辑。", + "m_9f8706d68a27ee92": "保持登录", + "m_3931e972f88bc57d": "在其他设备登录(二维码)", + "m_b834056f1dc1a019": "记事本 - VireoWiki", + "m_b331f2b5a8abe133": "记事本", + "m_1ef3de06b32e521b": "清空", + "m_9d918986a246b50c": "我的个人资料 - VireoWiki", + "m_cf2151043e18b878": "正在加载个人资料...", + "m_ad92339e37949c3f": "修改显示名称", + "m_0b19c2a89b3d17d0": "新的显示名称", + "m_1b8fdacd48c195df": "其他用户将看到此名称。", + "m_3ea2d23c902cfa31": "头像", + "m_7c5c82ca2ad0dbf0": "隐藏头像", + "m_b4b622e5d787a172": "启用后统一显示默认头像;关闭后下次登录或刷新头像时恢复账号头像。", + "m_92cd4592ada228d6": "MCP 编辑立即生效", + "m_e51daf0118dbde85": "允许 MCP 编辑立即生效", + "m_3cd7dc78042bc06b": "开启后,连接的MCP工具将立即应用", + "m_cb817db385823e7b": "工具会额外显示。AI会", + "m_602ad2acb82a4933": "时,将立即创建新修订,而无需等待批准(", + "m_c48551f559296535": "仍将保持提交以等待批准)。编辑权限、页面锁定和冲突验证将照常应用。", + "m_247ca01ae2808bf7": "通知设置", + "m_3ce5333a13b82bf1": "可在参与的每个讨论中分别开关通知。", + "m_e3a900d9b21c69bc": "活跃统计", + "m_c28a589f5d38fe2e": "待审核的 MCP 编辑", + "m_d03ed9f9db528545": "这里显示已连接 MCP 代理提交的编辑。", + "m_218d5bfa501a1520": "通知归档", + "m_e5049a66d3511e59": "通知保存 90 天,之后自动清理。", + "m_38844b135cf70dfc": "更多", + "m_63a5e7b7391191b1": "收件箱", + "m_02d55e8b9e34124e": "发件箱", + "m_6ed05ab6df7cc610": "关注的页面", + "m_e38c2efbafd32eaf": "关注的页面有编辑时会发送通知,可调整范围或取消关注。", + "m_1cb03bd4cfc9f747": "关注的分类", + "m_d526f58f16527fbb": "关注分类中的页面有编辑时会发送通知。", + "m_dd50c9cefaffe5df": "我编辑的页面", + "m_e2eb172ff696c154": "我参与的讨论", + "m_33bc517653ac5013": "我的工单", + "m_53c358ee2e006f26": "登录会话管理", + "m_d4e7aca54ad58888": "退出其他所有会话", + "m_68b628808f2afacc": "当前活跃的登录会话;如有陌生设备,请立即退出。", + "m_93853e16ae10570b": "Wiki MCP", + "m_609c2e2b937867b8": "将 MCP 客户端(如 Claude Desktop、Claude Code 等)连接到此维基。", + "m_d3347f6764ac396a": "在支持 OAuth 自动搜索的 MCP 客户端(如 Claude Desktop 等)中,将此 URL 输入为服务器地址。", + "m_734726d5724258d3": "已连接的客户端", + "m_226d718499895d4d": "断开所有连接", + "m_98037ea725fd3581": "查看通过 OAuth 连接的客户端。如有陌生客户端请立即断开;记录保留 7 天。", + "m_5f600b307b4eb0fb": "API 密钥", + "m_73e4d83cc4e690da": "这是一个使用 API 密钥直接放在请求头中进行认证的替代方法,而非 OAuth。", + "m_a7b53b47db0647d8": "安全提醒:", + "m_b6ee042ea6cd4f9a": "与 OAuth 相比,不推荐使用 API 密钥方式。若密钥泄露,代理权限可能被窃取,因此必须仅在本地可信环境中使用,并在泄露时立即删除或重新发放。", + "m_ef719aff9261b129": "签发或更新 API 密钥", + "m_5c208e3348180af6": "删除 API 密钥", + "m_635cd189be33b0bd": "MCP 客户端 JSON 请求头示例", + "m_23925bc3a05f4608": "JSON 复制", + "m_97a1df85ff6e77c5": "在 MCP 客户端配置文件(", + "m_16a9138262efd85a": ")的 Authorization 头中指定 API 密钥", + "m_eabf97e700aafe73": "的格式。", + "m_62e0b494cfecbaac": "MCP 工具设置", + "m_2a4540b12718c890": "全部启用", + "m_34f7336d39831fca": "全部关闭", + "m_891e160d20acffac": "以下是分配给我的 MCP 工具列表。关闭的工具在 MCP 握手时会完全排除,在调用时将被拒绝。默认值均为开启。更改后请刷新(重新连接)已连接的 MCP 客户端。", + "m_6b85ce0c6561eb77": "联系管理者", + "m_32b60cb80218c4fd": "注销账号", + "m_98eab38c3ef574c2": "确认二维码登录 - VireoWiki", + "m_00091b9967863749": "确认二维码登录", + "m_ec0ee1c64ed494da": "将在其他设备上登录以下账号。", + "m_b1699eb03cab4271": "正在加载信息…", + "m_4a7849864c3b8d40": "个人资料", + "m_d9a999a7c8e80c8b": "登录账号", + "m_cd438f5d0cca898b": "登录设备", + "m_36f33adaf0942634": "确认", + "m_8b853f892cb85872": "请确认这是你发起的登录请求,陌生设备请勿批准。", + "m_2f96458f0521ac56": "进入 Wiki", + "m_ed13a5144522b278": "编辑历史 - VireoWiki", + "m_848123d14f84faa2": "原始", + "m_8efe3f8aeaefdb91": "编辑历史:", + "m_f1f32d0157fae751": "编辑历史分页", + "m_891b86301d456556": "搜索结果 - VireoWiki", + "m_a96c9a854190874d": "排序", + "m_c0ed6ee9ca70d07f": "相关度排序", + "m_cae945a91d2ad914": "最新优先", + "m_db6dcc2fcc5ddaf4": "标题排序", + "m_4e65d015121fbe4e": "搜索范围", + "m_450abb19edb20d7a": "标题和正文", + "m_9522cc3124092a20": "仅标题", + "m_744bfa455f7caedd": "仅正文", + "m_0e84cdbe31d73354": "准确的分类名称", + "m_43f261290e2dd167": "起始日期", + "m_895cd52fbbb64cd4": "结束日期", + "m_6e6203060edf5726": "包含私有页面", + "m_ddec93e53a9a797a": "搜索方式", + "m_7d15fc867c469a95": "使用 FTS 进行正文全文搜索。", + "m_7815c5140c7ab3f0": "FTS", + "m_785173da26b9c654": "使用 AI Search(RAG)搜索正文,标题搜索保持不变。", + "m_f77fb5fc13e89e5d": "RAG", + "m_7a1f3e4504d87371": "个人资料设置 - VireoWiki", + "m_8c697a8376c5f0ef": "欢迎!", + "m_aba04ee378f3ebee": "请设置在 VireoWiki 中使用的显示名称。", + "m_97f08d0ac41ae4ef": "开启后,将显示默认头像而非 OAuth 提供商的照片。可随时在个人中心修改。", + "m_c236b6b12c680ec2": "注册申请留言", + "m_968333deb0955666": "(选填)", + "m_08b4c0c0c40584d0": "输入给管理员的留言。", + "m_8f7b8409be23dac8": "通过浏览器推送接收审核结果", + "m_b382d588f5512e48": "允许浏览器通知后可及时收到结果。", + "m_715ee9dc842f34e4": "开始使用", + "m_73cf69a2f70be816": "工单咨询 - VireoWiki", + "m_7f7d851991a5f16e": "新咨询", + "m_a66cb0fe57643b7f": "类型:全部", + "m_4119a4919e728252": "发布新咨询", + "m_74891a3addbadecb": "咨询类型", + "m_e1fa4c1323c3ddd1": "被封禁的账号只能发布用于申诉的账号咨询。", + "m_7de7cf6a611ea4f3": "咨询标题", + "m_9609da83b8b4f312": "请输入咨询内容", + "m_96f65ee16b1f4ef5": "用户个人资料 - VireoWiki", + "m_6a3219761890e001": "管理操作", + "m_8cd573f6026d64a6": "编辑记录分页", + "m_5a189009ea301dc2": "无平滑对象", + "m_be7bef35403236ab": "无法解析频率响应数据。", + "m_04d9f97a19a93f89": "
                    应用平滑后,相位(Phase)数据将被移除。
                    ", + "m_daba9777afa31b0a": "
                    现有平滑: ", + "m_37d1bd2e240ceedc": "应用平滑", + "m_d87a4cb7b2cf3797": "

                    当前数据: ", + "m_84e0b2a3fbd2112c": " 点数 ", + "m_b8e334b7c2fdeb90": "(约 ", + "m_4e34c76a6d1f6f0f": " KB)

                    ", + "m_338ad9e3d971af1d": "", + "m_7eed8f0104741b98": "", + "m_3911749132b03ce7": "", + "m_6f419bd0d781c71c": "", + "m_9812fd1911c755ce": "", + "m_90b8d2c6a8242047": "", + "m_3b0f62c7f9961e41": "", + "m_62bd76cca29eee40": "", + "m_53e456491f37bc9c": "以对数均匀分布生成。 (50 ~ 4000)
                    可通过修订恢复到平滑之前。
                    ", + "m_e2ebe184ab11ca28": "请选择八度分数。", + "m_4cdd37d6d41ae06b": "输出点数范围为50~4000。", + "m_7a41047d553357ee": "数据平滑 (1/", + "m_d3a1196fb372994a": "平滑应用完成", + "m_42f54b48383c48fe": "

                    点数: ", + "m_fca475aedb398f68": "

                    大小: ", + "m_da87a98efb7fa482": " KB → ", + "m_68785ba1090341f5": " KB ", + "m_eecd13ecc9dfe144": " 数据平滑", + "m_3e2e7e493bed9251": "1/N 八度平滑", + "m_66a160f8042e2a21": "

                    ⚠️ 无法解析频率数据。
                    ", + "m_e0c45ab49ad7a4b2": "\"__VIREO_SLOT_0__\" 不是有效的频率响应数据。 (freq: 文档仅可作为目标使用)", + "m_940e6692b62ccb8f": "无法加载目标响应(__VIREO_SLOT_0__)。", + "m_d51302ae04a2e98e": "目标响应(__VIREO_SLOT_0__)的扩展已被禁用。", + "m_47a1317f9638980c": "目标响应(__VIREO_SLOT_0__): __VIREO_SLOT_1__", + "m_334817d124fa7a8d": "无法解析目标响应(__VIREO_SLOT_0__)数据。", + "m_236de7316ec1347f": "目标响应(__VIREO_SLOT_0__)无效。", + "m_976fe5361e847363": "", + "m_b20a4b92c84c5f5f": "", + "m_6c57a398a288e665": "", + "m_aa297e7f66f93047": "SPL (dB)", + "m_80ac818ba5040aaa": "目标 (__VIREO_SLOT_0__)", + "m_5f9597e24414b24b": "频率 (Hz)", + "m_fa2631f89de91520": "相位 (°)", + "m_bab8d4ce68ac49f0": "
                    ⚠️ 图形库加载失败。
                    ", + "m_9225b45181da8f16": "图片/表格说明", + "m_302bae1279382d2b": "图片", + "m_b68c7d1bc9592573": "分类", + "m_25f0d827e03ff670": "+$1 行", + "m_75cb099b9144f625": "-$1 行" +} diff --git a/packages/wiki-shared/src/render/render-presentation.ts b/packages/wiki-shared/src/render/render-presentation.ts index 4993c77..61e3a89 100644 --- a/packages/wiki-shared/src/render/render-presentation.ts +++ b/packages/wiki-shared/src/render/render-presentation.ts @@ -22,6 +22,7 @@ // window.renderWikiContent 의 전역 타입은 src/client/edit/types.ts 의 declare global 가 이미 제공. +import { ui } from '../i18n/client'; interface PresentationOptions { palettes?: unknown; // 덱의 활성 슬라이드가 바뀔 때(컨트롤/해시/키보드) 호출되는 콜백. @@ -342,23 +343,7 @@ export async function renderPresentation( // 본문 컨테이너에 슬라이드 덱 마크업 삽입. 기본은 인라인(레이아웃 보존) — 풀스크린 진입 시 // body.presentation-fullscreen 이 부여돼 CSS 가 fixed 풀-뷰포트로 전환한다. - mount.innerHTML = ` -
                    -
                    - ${effective.map((_, i) => `
                    `).join('')} -
                    - - -
                    - `; + mount.innerHTML = ui("m_39b6b8ebbc11c8fb", [effective.map((_, i) => `
                    `).join(''), _slideCount]); _activeDeckEl = mount.querySelector('.slide-deck'); diff --git a/packages/wiki-shared/src/render/render.ts b/packages/wiki-shared/src/render/render.ts index 2bd67e8..92d7dac 100644 --- a/packages/wiki-shared/src/render/render.ts +++ b/packages/wiki-shared/src/render/render.ts @@ -18,6 +18,7 @@ * - DOMContentLoaded 시점 처리(_setupArticleTitleCopy 등) 는 module top-level 에서 * 동기적으로 호출되며, 모듈은 deferred 이므로 DOM 이 이미 준비된 상태이다. */ +import { ui, getLocale } from '../i18n/client'; import { escapeHtml } from '../ui/html'; import { isSafeUrl } from '../ui/url'; import { CDN_URLS, FONTS } from '../cdn'; @@ -991,7 +992,7 @@ function _wrapTransclusionSentinels(protectedText, c, expanded) { function _replaceSelfCalls(text, selfSlug) { const calls = _findTemplateCalls(text); if (calls.length === 0) return text; - const warning = `⚠️ [자기 자신을 참조하는 틀은 사용할 수 없습니다: ${selfSlug}]`; + const warning = ui("m_8ffe88ed5f7f189a", [selfSlug]); let out = ''; let cursor = 0; for (const c of calls) { @@ -1116,7 +1117,7 @@ async function _resolveTransclusionsCore(text, depth, cache, pageSlug, options) for (const slug of slugsToFetch) { if (!cache.has(slug)) { if (pageSlug && slug === pageSlug) { - cache.set(slug, `⚠️ [자기 자신을 참조하는 틀은 사용할 수 없습니다: ${slug}]`); + cache.set(slug, ui("m_8ffe88ed5f7f189a", [slug])); continue; } @@ -1145,13 +1146,13 @@ async function _resolveTransclusionsCore(text, depth, cache, pageSlug, options) } } else { if (!data || typeof data.content !== 'string') { - cache.set(slug, `⚠️ [틀을 찾을 수 없음: ${slug}]`); + cache.set(slug, ui("m_665c358abceedf94", [slug])); return; } // 틀 본문도 CRLF/CR → LF 정규화. 이후 펜스/`:::`/폴드 정규식과 // marked.lexer 의 `raw` 매칭이 어긋나지 않도록 한다. const tplBody = data.content.replace(/\r\n?/g, '\n'); - const selfReferenceWarning = `⚠️ [자기 자신을 참조하는 틀은 사용할 수 없습니다: ${slug}]`; + const selfReferenceWarning = ui("m_8ffe88ed5f7f189a", [slug]); // 틀 본문 내부의 자기 참조를 치환. 중괄호 균형을 맞추는 파서로 호출을 // 찾기 때문에 인자 내부의 {button:...} 같은 토큰이 있어도 정확히 매칭한다. const innerCalls = _findTemplateCalls(tplBody); @@ -1178,9 +1179,9 @@ async function _resolveTransclusionsCore(text, depth, cache, pageSlug, options) }) .catch(() => { if (extensionSlugs.has(slug)) { - cache.set(slug, `⚠️ [익스텐션 로딩 실패: ${slug}]`); + cache.set(slug, ui("m_99f6f81a8aa5b77d", [slug])); } else { - cache.set(slug, `⚠️ [틀 로딩 실패: ${slug}]`); + cache.set(slug, ui("m_18d5c859522a679e", [slug])); } }) ); @@ -1220,7 +1221,7 @@ async function _resolveTransclusionsCore(text, depth, cache, pageSlug, options) // :::meta 블록도 원본 텍스트로 새지 않도록 제거된다 — 문서를 단독으로 열 때와 동일. const section = _sliceMarkdownSection(_applyDocMetaVars(cached), secRef.anchor); if (section === null) { - replacement = `⚠️ [섹션을 찾을 수 없음: ${slug}#${secRef.anchor}]`; + replacement = ui("m_2656e8b39e17148b", [slug, secRef.anchor]); } else { let expanded = _substituteTemplateParams(section, call.args); expanded = _replaceSelfCalls(expanded, slug); @@ -1234,7 +1235,7 @@ async function _resolveTransclusionsCore(text, depth, cache, pageSlug, options) // 워크스페이스 등 익스텐션 미지원 컨텍스트: 메인 위키로 새지 않도록 안내로 치환. const colonIdx = trimmed.indexOf(':'); const extName = colonIdx > 0 ? trimmed.substring(0, colonIdx) : trimmed; - replacement = `⚠️ [이 공간에서는 익스텐션을 사용할 수 없습니다: ${extName}]`; + replacement = ui("m_0d17e8f2f3b4b01b", [extName]); } else { const cached = cache.get(trimmed); if (!cached) { @@ -1242,7 +1243,7 @@ async function _resolveTransclusionsCore(text, depth, cache, pageSlug, options) } else if (typeof cached === 'string') { replacement = cached; // 에러 메시지 } else if (cached._disabled) { - replacement = `⚠️ [비활성화된 익스텐션: ${cached.extName}]`; + replacement = ui("m_f3555cb4161683af", [cached.extName]); } else if (options.emitExtensionPlaceholders) { const idx = _wikiExtensionData.length; // 호출 인자 중 익스텐션 슬러그를 가리키는 값들을 secondary 로 해소. @@ -1258,7 +1259,7 @@ async function _resolveTransclusionsCore(text, depth, cache, pageSlug, options) secondary[argVal] = { slug: argVal, content: sub.content, title: sub.title }; } } else { - secondary[argVal] = { slug: argVal, error: typeof sub === 'string' ? sub : '참조를 찾을 수 없습니다.' }; + secondary[argVal] = { slug: argVal, error: typeof sub === 'string' ? sub : ui("m_99fe9a1adeedd774") }; } } } @@ -1487,7 +1488,7 @@ function _renderCategoryPagination(category, page, totalPages) { html += make(totalPages, String(totalPages), false, page === totalPages); } html += make(Math.min(totalPages, page + 1), '›', page >= totalPages, false); - return ``; + return ui("m_08dc5eb1c11ebf43", [html]); } // 카테고리별 전체 정렬 결과 캐시. SPA 세션 내에서 stale 데이터를 막기 위해 짧은 TTL 적용. @@ -1535,10 +1536,7 @@ async function fetchCategoryList(category, page) { const total = items.length; if (total === 0) { - return `
                    -

                    "${escapeHtml(category)}" 카테고리에 속한 문서

                    -
                    이 카테고리에 속한 문서가 없습니다.
                    -
                    `; + return ui("m_c2cd9cfee65451aa", [catAttr, escapeHtml(category)]); } const totalPages = Math.max(1, Math.ceil(total / pageSize)); @@ -1569,17 +1567,12 @@ async function fetchCategoryList(category, page) { const pagination = _renderCategoryPagination(category, curPage, totalPages); const startIdx = startIdx0 + 1; const endIdx = startIdx0 + pageItems.length; - const summary = `
                    총 ${total}개 문서 · ${startIdx}–${endIdx} 표시
                    `; - - return `
                    -

                    "${escapeHtml(category)}" 카테고리에 속한 문서

                    - ${summary} -
                    ${groupsHtml}
                    - ${pagination} -
                    `; + const summary = ui("m_bc8405d47500e07c", [total, startIdx, endIdx]); + + return ui("m_e28ae288f825c900", [catAttr, curPage, escapeHtml(category), summary, groupsHtml, pagination]); } catch (e) { console.error(e); - return '
                    카테고리 목록을 불러오는 데 실패했습니다.
                    '; + return ui("m_1717ee6c7d32ee5f"); } } @@ -1817,11 +1810,11 @@ function _buildInlineTocLayout(containerEl) { head.className = 'wiki-toc-card-head'; const label = document.createElement('span'); label.className = 'wiki-toc-card-title'; - label.innerHTML = ' 목차'; + label.innerHTML = ui("m_dfda0f129346a004"); const toggle = document.createElement('button'); toggle.type = 'button'; toggle.className = 'wiki-toc-card-toggle'; - toggle.setAttribute('aria-label', '목차 접기/펼치기'); + toggle.setAttribute('aria-label', ui("m_31fcc45938eda752")); toggle.setAttribute('aria-expanded', 'true'); toggle.innerHTML = ''; head.appendChild(label); @@ -1939,7 +1932,7 @@ async function _copySectionLinkToClipboard(url) { if (ok && typeof Swal !== 'undefined') { Swal.fire({ icon: 'success', - title: '섹션 링크가 복사되었습니다.', + title: ui("m_f777d92481925194"), toast: true, position: 'top-end', timer: 1500, @@ -2233,7 +2226,7 @@ function processWikiLinks(contentEl) { } else { const errSpan = document.createElement('span'); errSpan.className = 'text-danger'; - errSpan.title = '알 수 없는 아이콘 접두사: bi- 또는 mdi-로 시작해야 합니다'; + errSpan.title = ui("m_a17ac6d1dceeb395"); errSpan.textContent = part; frag.appendChild(errSpan); } @@ -2293,7 +2286,7 @@ function processMentions(contentEl, mentionUsers) { // 삭제/알 수 없는 사용자 const span = document.createElement('span'); span.className = 'wiki-mention wiki-mention-unknown'; - span.textContent = '@(알 수 없음)'; + span.textContent = ui("m_089832cdf853a5a7"); frag.appendChild(span); } } else if (part) { @@ -2406,7 +2399,7 @@ function processFootnotes(contentEl) { if (order.length > 0) { const fnSection = document.createElement('div'); fnSection.className = 'wiki-footnotes'; - fnSection.innerHTML = `

                    각주

                    `; + fnSection.innerHTML = ui("m_56858b992eccdad0"); const ol = document.createElement('ol'); order.forEach(entry => { @@ -2423,7 +2416,7 @@ function processFootnotes(contentEl) { backLink.href = `#${entry.refIds[0]}`; backLink.className = 'wiki-fn-back'; backLink.innerHTML = ''; - backLink.title = '본문으로 돌아가기'; + backLink.title = ui("m_06ced4f71513d64c"); backLink.onclick = (e) => { e.preventDefault(); document.getElementById(entry.refIds[0])?.scrollIntoView({ behavior: 'smooth', block: 'center' }); @@ -2435,7 +2428,7 @@ function processFootnotes(contentEl) { backLink.href = `#${rid}`; backLink.className = 'wiki-fn-back wiki-fn-back-multi'; backLink.textContent = _fnBackLabel(i); - backLink.title = '이 참조 위치로 돌아가기'; + backLink.title = ui("m_62fd567d662ad0cb"); backLink.onclick = (e) => { e.preventDefault(); document.getElementById(rid)?.scrollIntoView({ behavior: 'smooth', block: 'center' }); @@ -2445,7 +2438,7 @@ function processFootnotes(contentEl) { } const span = document.createElement('span'); - span.innerHTML = ' ' + (entry.html != null ? entry.html : '(내용 없음)'); + span.innerHTML = ' ' + (entry.html != null ? entry.html : ui("m_437d685c16379e87")); li.appendChild(span); ol.appendChild(li); @@ -2485,7 +2478,7 @@ function extractPlainTextWithFootnotes(contentEl) { else parent.appendChild(fnSection); if (lines.length === 0) return bodyText; - return `${bodyText.replace(/\s+$/, '')}\n\n각주\n${lines.join('\n')}`; + return ui("m_f6d4a77dd09ea3ff", [bodyText.replace(/\s+$/, ''), lines.join('\n')]); } // ───────────────────────────────────────────────────────────────────────────── @@ -2608,11 +2601,11 @@ function buildPortableHtml(contentEl, options) { if (png) { const img = document.createElement('img'); img.src = png; - img.alt = '차트'; + img.alt = ui("m_c8084b4d279d80e4"); img.style.maxWidth = '100%'; p.appendChild(img); } else { - p.textContent = '(차트)'; + p.textContent = ui("m_2aaabf1589c3491c"); } fig.replaceWith(p); }); @@ -2626,7 +2619,7 @@ function buildPortableHtml(contentEl, options) { const ser = new XMLSerializer().serializeToString(svg); const img = document.createElement('img'); img.src = 'data:image/svg+xml;base64,' + btoa(unescape(encodeURIComponent(ser))); - img.alt = '다이어그램'; + img.alt = ui("m_b49df9362b9fc04c"); img.style.maxWidth = '100%'; replaced = document.createElement('p'); replaced.appendChild(img); @@ -2634,7 +2627,7 @@ function buildPortableHtml(contentEl, options) { } if (!replaced) { replaced = document.createElement('p'); - replaced.textContent = '(다이어그램)'; + replaced.textContent = ui("m_63e09b6ec1e9d6f7"); } fig.replaceWith(replaced); }); @@ -2664,7 +2657,7 @@ function buildPortableHtml(contentEl, options) { const panes = Array.from(tabs.querySelectorAll(':scope > .tab-content > .tab-pane')); const frag = document.createDocumentFragment(); panes.forEach((pane, i) => { - frag.appendChild(makeTitleP(titles[i] || `탭 ${i + 1}`)); + frag.appendChild(makeTitleP(titles[i] || ui("m_5c2a8f867bc8be99", [i + 1]))); while (pane.firstChild) frag.appendChild(pane.firstChild); }); tabs.replaceWith(frag); @@ -2675,7 +2668,7 @@ function buildPortableHtml(contentEl, options) { const frag = document.createDocumentFragment(); Array.from(acc.querySelectorAll(':scope > .accordion-item')).forEach((item, i) => { const btn = item.querySelector('.accordion-button'); - frag.appendChild(makeTitleP(btn ? flattenLabel(btn) : `항목 ${i + 1}`)); + frag.appendChild(makeTitleP(btn ? flattenLabel(btn) : ui("m_7128e1015a8dd3dc", [i + 1]))); const body = item.querySelector('.accordion-body'); if (body) { while (body.firstChild) frag.appendChild(body.firstChild); } }); @@ -3751,7 +3744,7 @@ function _renderBlockHtml(block, blockData) { // 상태 키도 복원본 기준이어야 문서의 다른 코드 스팬 개수 변화에 따라 // placeholder 인덱스를 타고 키가 흔들리지 않는다. const tabLabel = _restoreCodeSpans(meta.cleanTitle); - const labelEsc = _escapeLabelWithCodeSpans(tabLabel || `탭 ${i + 1}`); + const labelEsc = _escapeLabelWithCodeSpans(tabLabel || ui("m_5c2a8f867bc8be99", [i + 1])); const tabKey = _makeStateKey('tab', tabLabel || `tab-${i}`); // {id:이름} 딥링크 앵커: 패널 내부 첫 자식으로 marker span 을 심어 // [[문서#이름]] 이동 시 getElementById → _expandAncestorsForScroll 이 @@ -3770,7 +3763,7 @@ function _renderBlockHtml(block, blockData) { const childInner = _renderChildInnerHtml(child.innerText, blockData); panes.push( `
                    ${anchorMarker}${childInner}
                    ` + ui("m_326c02a5cb9ae742", [navId, tabKey, anchorMarker, childInner]) ); }); return `
                    ` + @@ -3804,7 +3797,7 @@ function _renderBlockHtml(block, blockData) { } const iconHtml = meta.tokens.icon ? _iconHtmlFromToken(meta.tokens.icon) + ' ' : ''; const itemLabel = _restoreCodeSpans(meta.cleanTitle); - const labelEsc = _escapeLabelWithCodeSpans(itemLabel || `항목 ${i + 1}`); + const labelEsc = _escapeLabelWithCodeSpans(itemLabel || ui("m_7128e1015a8dd3dc", [i + 1])); const parentAttr = allowMultiple ? '' : ` data-bs-parent="#${groupId}"`; const childInner = _renderChildInnerHtml(child.innerText, blockData); const accKey = _makeStateKey('acc', itemLabel || `item-${i}`); @@ -3834,7 +3827,7 @@ function _renderBlockHtml(block, blockData) { status: { type: 'enum', values: ['done', 'current', 'todo'] } }); const status = meta.tokens.status || 'todo'; - const labelEsc = _escapeLabelWithCodeSpans(_restoreCodeSpans(meta.cleanTitle) || `${i + 1}단계`); + const labelEsc = _escapeLabelWithCodeSpans(_restoreCodeSpans(meta.cleanTitle) || ui("m_977c0c00c8ebaa5e", [i + 1])); const ariaCurrent = status === 'current' ? ' aria-current="step"' : ''; const iconCls = status === 'done' ? 'bi-check-circle-fill' : status === 'current' ? 'bi-circle-fill' @@ -3876,7 +3869,7 @@ function _renderBlockHtml(block, blockData) { const visible = type === 'until' ? !passed : passed; const hiddenAttr = visible ? '' : ' hidden'; return `
                    ${innerHtml}
                    `; + ui("m_61ebde6ce0278343", [boundaryMs, type, innerHtml]); } case 'embed': { const accentRaw = (bg && _isSafeCssColor(bg)) ? bg @@ -3897,12 +3890,12 @@ function _renderBlockHtml(block, blockData) { case 'note': { // Bootstrap .alert 변종으로 매핑. note/tip 은 BS 에 직접 대응이 없어 secondary/info 로. const calloutMeta = { - info: { icon: 'mdi-information-outline', title: '정보', bsVariant: 'info' }, - tip: { icon: 'mdi-lightbulb-on-outline', title: '팁', bsVariant: 'info' }, - success: { icon: 'mdi-check-circle-outline', title: '성공', bsVariant: 'success' }, - warning: { icon: 'mdi-alert-outline', title: '주의', bsVariant: 'warning' }, - danger: { icon: 'mdi-alert-octagon-outline', title: '위험', bsVariant: 'danger' }, - note: { icon: 'mdi-note-text-outline', title: '노트', bsVariant: 'secondary' } + info: { icon: 'mdi-information-outline', title: ui("m_b8cf07ac906c8124"), bsVariant: 'info' }, + tip: { icon: 'mdi-lightbulb-on-outline', title: ui("m_d9fcd43cf85293f6"), bsVariant: 'info' }, + success: { icon: 'mdi-check-circle-outline', title: ui("m_b4f76a33b89bb947"), bsVariant: 'success' }, + warning: { icon: 'mdi-alert-outline', title: ui("m_acc90fbf66686d20"), bsVariant: 'warning' }, + danger: { icon: 'mdi-alert-octagon-outline', title: ui("m_baaff05e434f85e3"), bsVariant: 'danger' }, + note: { icon: 'mdi-note-text-outline', title: ui("m_a34b4d0aafc9ecfd"), bsVariant: 'secondary' } }[type]; const headerTitle = titleHtml || escapeHtml(calloutMeta.title); return `
                    ` + @@ -4395,7 +4388,7 @@ function _computeDdayText(dateStr) { if (target === null) return null; const diff = Math.round((target - today) / (1000 * 60 * 60 * 24)); if (diff === 0) return 'D-Day'; - return `${diff}일 남음`; + return ui("m_37f9f3b4dae3a0c2", [diff]); } if (parts.length !== 3) return null; @@ -4403,9 +4396,9 @@ function _computeDdayText(dateStr) { target.setHours(0, 0, 0, 0); if (isNaN(target.getTime())) return null; const diff = Math.round((target - today) / (1000 * 60 * 60 * 24)); - if (diff > 0) return `${diff}일 남음`; + if (diff > 0) return ui("m_37f9f3b4dae3a0c2", [diff]); if (diff === 0) return 'D-Day'; - return `${Math.abs(diff)}일 지남`; + return ui("m_bd5fc8d9d63144b5", [Math.abs(diff)]); } /** {time:UNIX} → 날짜+시간 문자열 */ @@ -4428,13 +4421,13 @@ function _computeTimerText(unixSec) { const minutes = Math.floor((s % 3600) / 60); const seconds = s % 60; const parts = []; - if (years > 0) parts.push(`${years}년`); - if (months > 0) parts.push(`${months}달`); - if (days > 0) parts.push(`${days}일`); - if (hours > 0) parts.push(`${hours}시간`); - if (minutes > 0) parts.push(`${minutes}분`); - if (seconds > 0 || parts.length === 0) parts.push(`${seconds}초`); - return parts.join(' ') + (diff >= 0 ? ' 남음' : ' 지남'); + if (years > 0) parts.push(ui("m_660be8dc05756f29", [years])); + if (months > 0) parts.push(ui("m_b2a75ffc664cfb3e", [months])); + if (days > 0) parts.push(ui("m_24c9da1e988be3bc", [days])); + if (hours > 0) parts.push(ui("m_e4ed44191d2c228b", [hours])); + if (minutes > 0) parts.push(ui("m_8ef0c1f1977d2540", [minutes])); + if (seconds > 0 || parts.length === 0) parts.push(ui("m_f16a85a9e93a8699", [seconds])); + return parts.join(' ') + (diff >= 0 ? ui("m_79e1a55bcaec418e") : ui("m_cd887be638763115")); } // containerId → intervalId (타이머 중복 방지) @@ -4645,7 +4638,7 @@ function _computeAge(dateStr) { const m = today.getMonth() - birth.getMonth(); if (m < 0 || (m === 0 && today.getDate() < birth.getDate())) age--; if (age < 0) return null; - return `${age}세`; + return ui("m_111ec068b7c8a9e8", [age]); } /** HTML 문자열 내의 타임스탬프 문법을 span 태그로 치환 (코드블록 제외) */ @@ -4666,7 +4659,7 @@ function _processTimestampsInHtml(html) { const text = _computeDdayText(dateStr); if (text === null) return match; const cls = text === 'D-Day' ? 'wiki-dday wiki-dday-today' - : text.endsWith('남음') ? 'wiki-dday wiki-dday-future' + : text === ui("m_37f9f3b4dae3a0c2", [parseInt(text.replace(/[^0-9]/g, ''), 10)]) ? 'wiki-dday wiki-dday-future' : 'wiki-dday wiki-dday-past'; return `${text}`; }); @@ -4674,13 +4667,13 @@ function _processTimestampsInHtml(html) { html = html.replace(/\{time:(\d+)\}/g, (match, unixStr) => { const text = _formatUnixTime(parseInt(unixStr, 10)); if (text === null) return match; - return `${text}`; + return ui("m_c716bb70a4231be0", [unixStr, text]); }); // {timer:UNIX} html = html.replace(/\{timer:(\d+)\}/g, (match, unixStr) => { const unix = parseInt(unixStr, 10); const text = _computeTimerText(unix); - return `${text}`; + return ui("m_36a083a833558006", [unix, unixStr, text]); }); // {age:YYYY-MM-DD} html = html.replace(/\{age:(\d{4}-\d{2}-\d{2})\}/g, (match, dateStr) => { @@ -4690,8 +4683,8 @@ function _processTimestampsInHtml(html) { }); // {calendar:YYYY-MM-DD} 또는 {calendar:MM-DD} (연도 생략) html = html.replace(/\{calendar:(?:(\d{4})-)?(\d{2})-(\d{2})\}/g, (match, yearStr, monthStr, dayStr) => { - const monthNames = ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월']; - const dayNames = ['일요일','월요일','화요일','수요일','목요일','금요일','토요일']; + const monthNames = [ui("m_d1f9295e8d370952"),ui("m_811d5d8a6b790167"),ui("m_310010d93f058b83"),ui("m_9d74e6caa95d1e81"),ui("m_3bfa4068589f0a55"),ui("m_b12d17822d583bf0"),ui("m_add36baea45c759b"),ui("m_5f0127f701deadad"),ui("m_b16a827d17339118"),ui("m_e0583d626b98ba7c"),ui("m_5e12e956c42b0eb6"),ui("m_c1ea3f913a36afc5")]; + const dayNames = [ui("m_1094b7d96a9a4109"),ui("m_6c95540e90f1a668"),ui("m_94e234f76b8eab7e"),ui("m_4ee1e5308220dcf1"),ui("m_42d1a6367432ff8e"),ui("m_a594e9b583050ec4"),ui("m_9f4eef79554b65d0")]; const getDowClass = (dayOfWeek) => dayOfWeek === 0 ? ' wiki-cal-sun' : dayOfWeek === 6 ? ' wiki-cal-sat' : ''; const month = parseInt(monthStr, 10); const day = parseInt(dayStr, 10); @@ -4720,7 +4713,7 @@ function _processTimestampsInHtml(html) { const isValidDate = !isNaN(d.getTime()) && d.getFullYear() === currentYear && d.getMonth() === month - 1 && d.getDate() === day; const dowHtml = isValidDate ? `${dayNames[d.getDay()]}` - : ` `; + : ui("m_e09647e56f8b7b25"); return `` + `${monthName}` + `${day}` + @@ -5026,7 +5019,7 @@ function _sortWikiTableByColumn(table, headRow, colIdx) { if (a.text === '' && b.text === '') return 0; if (a.text === '') return 1; // 빈 셀은 정렬 방향과 무관하게 항상 뒤로 if (b.text === '') return -1; - const cmp = numeric ? (a.num - b.num) : a.text.localeCompare(b.text, 'ko'); + const cmp = numeric ? (a.num - b.num) : a.text.localeCompare(b.text, getLocale()); return cmp * dir; }); keyed.forEach(k => tbody.appendChild(k.tr)); @@ -5820,17 +5813,17 @@ async function renderWikiContent(content, slug, containerId, options = {}) { e.preventDefault(); if (typeof Swal !== 'undefined') { Swal.fire({ - title: '외부 링크 이동', - html: `외부 링크 ${escapeHtml(href)} 로 이동합니다.
                    계속하시겠습니까?`, + title: ui("m_2ab2d25416cb9437"), + html: ui("m_586d87d9a8dd8005", [escapeHtml(href)]), icon: 'warning', showCancelButton: true, - confirmButtonText: '예', - cancelButtonText: '아니오' + confirmButtonText: ui("m_2eb73fba696e2fe4"), + cancelButtonText: ui("m_4c490f1ca1d756f8") }).then((result) => { if (result.isConfirmed) window.open(href, '_blank'); }); } else { - if (confirm(`외부 링크 ${href} 로 이동하시겠습니까?`)) { + if (confirm(ui("m_1bd9c7624573e401", [href]))) { window.open(href, '_blank'); } } @@ -5917,7 +5910,7 @@ async function renderWikiContent(content, slug, containerId, options = {}) { const link = document.createElement('a'); link.href = `${_renderCtx.imageDocLinkBase}/${encodeURIComponent('이미지:' + filename)}`; link.className = 'wiki-image-link'; - link.setAttribute('aria-label', `이미지 문서 보기: ${filename}`); + link.setAttribute('aria-label', ui("m_9de1e8f20f53773d", [filename])); img.parentNode.insertBefore(link, img); link.appendChild(img); }); @@ -5964,7 +5957,7 @@ async function renderWikiContent(content, slug, containerId, options = {}) { figure.className = 'mermaid-figure'; figure.setAttribute('role', 'img'); figure.dataset.src = src; - figure.innerHTML = '
                    다이어그램 렌더링 중…
                    '; + figure.innerHTML = ui("m_998f8bc6d96891d4"); pre.parentNode.replaceChild(figure, pre); hasMermaid = true; }); @@ -5986,7 +5979,7 @@ async function renderWikiContent(content, slug, containerId, options = {}) { figure.className = 'wiki-chart-figure'; figure.setAttribute('role', 'img'); figure.dataset.src = src; - figure.innerHTML = '
                    차트 렌더링 중…
                    '; + figure.innerHTML = ui("m_f686e06a1e3e59ab"); pre.parentNode.replaceChild(figure, pre); hasChart = true; }); @@ -6015,7 +6008,7 @@ async function renderWikiContent(content, slug, containerId, options = {}) { const copyBtn = document.createElement('button'); copyBtn.className = 'btn-copy-code'; - copyBtn.title = '코드 복사'; + copyBtn.title = ui("m_2fd5fe4b1f06d612"); copyBtn.innerHTML = ''; copyBtn.onclick = async () => { @@ -6181,7 +6174,7 @@ function _setupArticleTitleCopy() { if (ok && typeof Swal !== 'undefined') { Swal.fire({ icon: 'success', - title: '제목이 복사되었습니다.', + title: ui("m_45b2dba76f782b4a"), toast: true, position: 'top-end', timer: 1500, @@ -6399,7 +6392,7 @@ function _addHeadingCopyButtons(containerEl, resolvedContent, options = {}) { const copyBtn = document.createElement('button'); copyBtn.className = 'wiki-heading-copy-btn'; - copyBtn.title = '섹션 마크다운 복사'; + copyBtn.title = ui("m_a9a082320a57a6aa"); copyBtn.type = 'button'; copyBtn.innerHTML = ''; @@ -6428,7 +6421,7 @@ function _addHeadingCopyButtons(containerEl, resolvedContent, options = {}) { if (ok && typeof Swal !== 'undefined') { Swal.fire({ icon: 'success', - title: '문단이 복사되었습니다.', + title: ui("m_75a4500c1bfe7e1f"), toast: true, position: 'top-end', timer: 1500, @@ -6454,7 +6447,7 @@ function _addHeadingCopyButtons(containerEl, resolvedContent, options = {}) { if (!options.hideSectionLinkCopy) { linkBtn = document.createElement('button'); linkBtn.className = 'wiki-heading-link-btn'; - linkBtn.title = '섹션 링크 복사'; + linkBtn.title = ui("m_fd9385f42fbeb3bb"); linkBtn.type = 'button'; linkBtn.innerHTML = ''; linkBtn.onclick = async (e) => { @@ -6495,8 +6488,8 @@ function _addHeadingCopyButtons(containerEl, resolvedContent, options = {}) { const editLink = document.createElement('a'); editLink.className = 'wiki-heading-edit-btn'; - editLink.title = '이 섹션만 편집'; - editLink.setAttribute('aria-label', '섹션 편집'); + editLink.title = ui("m_58fd747e504105e2"); + editLink.setAttribute('aria-label', ui("m_0587feed32dce2b1")); const params = new URLSearchParams({ slug: editSlug, section: String(rawIdx), @@ -6532,15 +6525,15 @@ function _updateDocumentStatsCounter(text) { const chars = str.replace(/\s/g, '').length; const trimmed = str.trim(); const words = trimmed ? trimmed.split(/\s+/).length : 0; - const fmt = (n) => n.toLocaleString(); + const fmt = (n) => n.toLocaleString(getLocale()); const set = (key, val) => { const el = root.querySelector(`[data-counter="${key}"]`); if (el) el.textContent = val; }; - set('lines', `${fmt(lines)}줄`); - set('chars', `${fmt(chars)}자`); - set('charsWithSpaces', `${fmt(charsWithSpaces)}자(공백포함)`); - set('words', `${fmt(words)}단어`); + set('lines', ui("m_6d483574d6f62c82", [fmt(lines)])); + set('chars', ui("m_3f461b232fc684b2", [fmt(chars)])); + set('charsWithSpaces', ui("m_6677dacfda7bd1cf", [fmt(charsWithSpaces)])); + set('words', ui("m_6f884f72025f6d53", [fmt(words)])); root.classList.remove('d-none'); } @@ -6581,7 +6574,7 @@ function _extLoadScript(src, opts) { // 전체 새로고침 전까지 freq 등이 복구되지 못한다. delete _extScriptPromises[src]; if (s.parentNode) s.parentNode.removeChild(s); - reject(new Error('익스텐션 스크립트 로드 실패: ' + src)); + reject(new Error(ui("m_bba2df43bd36317f") + src)); }; document.body.appendChild(s); }); @@ -6622,7 +6615,7 @@ function defineExtension(manifest, renderer) { const name = manifest.name; const def = (typeof renderer === 'function') ? { render: renderer } : (renderer || {}); if (typeof def.render !== 'function') { - console.error('[ext-sdk] defineExtension: render 함수 누락 (' + name + ')'); + console.error(ui("m_04e6a6c23261a095") + name + ')'); return; } window._extensionDefs[name] = def; @@ -6641,8 +6634,8 @@ function defineExtension(manifest, renderer) { try { ret = def.render(el, extData, _extSdk); } catch (e) { - console.error('[ext-sdk] 익스텐션 렌더 실패 (' + name + '):', e); - el.innerHTML = `
                    ⚠️ 익스텐션 렌더 오류: ${escapeHtml(name)}
                    `; + console.error(ui("m_7330c8d77372b51b") + name + '):', e); + el.innerHTML = ui("m_816717780d53b2bf", [escapeHtml(name)]); recordDestroy(el); return; } @@ -6650,8 +6643,8 @@ function defineExtension(manifest, renderer) { ret.catch((e) => { // 이미 더 새로운 렌더로 교체됐다면(세대 불일치) 그 내용을 덮어쓰지 않는다. if (el._extGen !== gen) return; - console.error('[ext-sdk] 익스텐션 비동기 렌더 실패 (' + name + '):', e); - el.innerHTML = `
                    ⚠️ 익스텐션 렌더 오류: ${escapeHtml(name)}
                    `; + console.error(ui("m_e2e16c57161e128a") + name + '):', e); + el.innerHTML = ui("m_816717780d53b2bf", [escapeHtml(name)]); }); recordDestroy(el); } else if (typeof ret === 'function') { @@ -6676,8 +6669,8 @@ function _rerenderExt(el) { try { renderer(el, extData); } catch (e) { - console.error('[ext-sdk] 익스텐션 재렌더 실패 (' + name + '):', e); - el.innerHTML = `
                    ⚠️ 익스텐션 렌더 오류: ${escapeHtml(name || '')}
                    `; + console.error(ui("m_221ffcbb2b08b016") + name + '):', e); + el.innerHTML = ui("m_816717780d53b2bf", [escapeHtml(name || '')]); } } @@ -6711,7 +6704,7 @@ function _onExtThemeChange() { const def = window._extensionDefs && window._extensionDefs[name]; if (def && typeof def.onThemeChange === 'function') { try { def.onThemeChange(el, _extSdk); } - catch (e) { console.error('[ext-sdk] onThemeChange 실패 (' + name + '):', e); _rerenderExt(el); } + catch (e) { console.error(ui("m_a2af293eb559a854") + name + '):', e); _rerenderExt(el); } } else if (def || typeof el._extDestroy === 'function') { // SDK 등록 익스텐션(def 존재)은 onThemeChange 미정의 시 항상 destroy+재렌더로 테마를 // 반영한다(render 에서 ctx.theme 만 쓰고 정리 훅이 없는 확장도 갱신되도록). 레거시 @@ -6758,7 +6751,7 @@ function _processExtensions(containerEl, extensionData) { const extData = data ? data[extIdx] : null; if (!extData) { - el.innerHTML = '
                    ⚠️ 익스텐션 데이터를 찾을 수 없습니다.
                    '; + el.innerHTML = ui("m_5270ec565b3f59aa"); el.dataset.extRendered = '1'; return; } @@ -6771,15 +6764,15 @@ function _processExtensions(containerEl, extensionData) { try { renderer(el, extData); } catch (e) { - console.error('[ext-sdk] 익스텐션 렌더 실패 (' + extName + '):', e); - el.innerHTML = `
                    ⚠️ 익스텐션 렌더 오류: ${escapeHtml(extName)}
                    `; + console.error(ui("m_7330c8d77372b51b") + extName + '):', e); + el.innerHTML = ui("m_816717780d53b2bf", [escapeHtml(extName)]); } el.dataset.extRendered = '1'; } else if (retries > 0) { // 등록 대기 — 재시도 큐에 둔다 pending.push(el); } else { - el.innerHTML = `
                    ⚠️ 알 수 없는 익스텐션: ${escapeHtml(extName)}
                    `; + el.innerHTML = ui("m_61b165a8c8808951", [escapeHtml(extName)]); el.dataset.extRendered = '1'; } }); @@ -6866,7 +6859,7 @@ async function _renderMermaidFigures(root) { mermaid = await _loadMermaid(); } catch (err) { figures.forEach(fig => { - fig.innerHTML = '
                    다이어그램 라이브러리를 불러오지 못했습니다.
                    '; + fig.innerHTML = ui("m_98b3a605c4dfcab1"); }); _emitMermaidRendered(); return; @@ -6887,11 +6880,11 @@ async function _renderMermaidFigures(root) { svgEl.removeAttribute('height'); svgEl.style.maxWidth = '100%'; } - if (!fig.getAttribute('aria-label')) fig.setAttribute('aria-label', '다이어그램'); + if (!fig.getAttribute('aria-label')) fig.setAttribute('aria-label', ui("m_b49df9362b9fc04c")); } catch (err) { // 잘못된 DSL 은 페이지를 깨지 않고 인라인 에러 박스로 표시. const msg = (err && err.message) ? err.message : String(err); - fig.innerHTML = `
                    다이어그램 오류
                    ${escapeHtml(msg)}
                    `; + fig.innerHTML = ui("m_3ca3edc2a96a0b58", [escapeHtml(msg)]); // mermaid 가 렌더 실패 시 body 에 남긴 임시 노드(d{renderId}) 정리. const orphan = document.getElementById('d' + renderId); if (orphan && orphan.parentNode) orphan.parentNode.removeChild(orphan); @@ -6971,7 +6964,7 @@ function _parseWikiChartSource(src) { let inSeries = false; const parseList = (v, what) => { const m = v.trim().match(/^\[(.*)\]$/); - if (!m) throw new Error(`${what} 값은 [a, b, c] 형식이어야 합니다.`); + if (!m) throw new Error(ui("m_895ed39975f12244", [what])); return m[1].split(',').map(s => s.trim()).filter(s => s !== ''); }; for (const rawLine of lines) { @@ -6981,45 +6974,45 @@ function _parseWikiChartSource(src) { if (inSeries && indented) { const ci = line.indexOf(':'); const name = ci === -1 ? '' : line.slice(0, ci).trim(); - if (!name) throw new Error(`시리즈 항목 형식 오류: "${line}" — "이름: [숫자, ...]" 형식이어야 합니다.`); - const nums = parseList(line.slice(ci + 1), `시리즈 "${name}"`).map(Number); + if (!name) throw new Error(ui("m_5a34b417191ccfc4", [line])); + const nums = parseList(line.slice(ci + 1), ui("m_834519cb468392f6", [name])).map(Number); if (nums.length === 0 || nums.some(n => !Number.isFinite(n))) { - throw new Error(`시리즈 "${name}" 값은 숫자 목록([120, 150, ...])이어야 합니다.`); + throw new Error(ui("m_05c591378dcc57d4", [name])); } series.push({ label: name, data: nums }); continue; } inSeries = false; const ci = line.indexOf(':'); - if (ci === -1) throw new Error(`알 수 없는 줄: "${line}"`); + if (ci === -1) throw new Error(ui("m_d2433aabb003afe2", [line])); const key = line.slice(0, ci).trim().toLowerCase(); const value = line.slice(ci + 1).trim(); if (key === 'type') { if (!WIKI_CHART_TYPES.includes(value)) { - throw new Error(`지원하지 않는 type: "${value}" — bar·line·pie·doughnut·radar 중 하나여야 합니다.`); + throw new Error(ui("m_c2930c6fbd88cc61", [value])); } type = value; } else if (key === 'labels') { labels = parseList(value, 'labels'); } else if (key === 'series') { - if (value) throw new Error('series: 다음 줄부터 들여쓰기로 "이름: [숫자, ...]" 를 나열합니다.'); + if (value) throw new Error(ui("m_d5c2dee002704944")); inSeries = true; } else { - throw new Error(`알 수 없는 키: "${key}" — type·labels·series 만 지원합니다(시리즈 항목은 들여쓰기 필요).`); + throw new Error(ui("m_ab81ac6483934fb3", [key])); } } - if (!type) throw new Error('type 이 필요합니다 (bar·line·pie·doughnut·radar).'); - if (!labels || labels.length === 0) throw new Error('labels 가 필요합니다 (예: labels: [1Q, 2Q, 3Q, 4Q]).'); - if (series.length === 0) throw new Error('series 항목이 최소 1개 필요합니다.'); - if (series.length > 8) throw new Error('시리즈는 최대 8개까지 지원합니다.'); + if (!type) throw new Error(ui("m_0e36ab1fef14b593")); + if (!labels || labels.length === 0) throw new Error(ui("m_ed77553468de39f6")); + if (series.length === 0) throw new Error(ui("m_30bbebfd650e1342")); + if (series.length > 8) throw new Error(ui("m_825f2c4976ebc036")); if ((type === 'pie' || type === 'doughnut') && labels.length > 8) { - throw new Error('pie/doughnut 차트는 항목(labels)을 최대 8개까지 지원합니다.'); + throw new Error(ui("m_b47794ae85254045")); } // 값 개수가 labels 와 다르면 Chart.js 가 빈 칸/라벨 없는 점을 조용히 렌더해 // 잘못된 데이터로 보일 수 있으므로 명시적으로 거부한다. for (const s of series) { if (s.data.length !== labels.length) { - throw new Error(`시리즈 "${s.label}" 값 개수(${s.data.length})가 labels 개수(${labels.length})와 일치해야 합니다.`); + throw new Error(ui("m_8d2ec125e902f5db", [s.label, s.data.length, labels.length])); } } return { type, labels, series }; @@ -7120,20 +7113,20 @@ function _renderWikiChartFigure(fig) { parsed = _parseWikiChartSource(fig.dataset.src || ''); } catch (err) { const msg = (err && err.message) ? err.message : String(err); - fig.innerHTML = `
                    차트 오류
                    ${escapeHtml(msg)}
                    `; + fig.innerHTML = ui("m_1674c85d9fa4ee82", [escapeHtml(msg)]); return; } fig.innerHTML = ''; const canvas = document.createElement('canvas'); fig.appendChild(canvas); if (!fig.getAttribute('aria-label')) { - fig.setAttribute('aria-label', `차트: ${parsed.series.map(s => s.label).join(', ')}`); + fig.setAttribute('aria-label', ui("m_1b47559afb653720", [parsed.series.map(s => s.label).join(', ')])); } try { fig._wikiChart = new window.Chart(canvas, _buildWikiChartConfig(parsed)); } catch (err) { console.error('위키 차트 렌더 실패:', err); - fig.innerHTML = '
                    차트를 렌더링하지 못했습니다.
                    '; + fig.innerHTML = ui("m_19c8b1eaaa5b3232"); } } @@ -7146,7 +7139,7 @@ async function _renderWikiChartFigures(root) { } catch (err) { console.error('Chart.js 로드 실패:', err); figures.forEach(fig => { - fig.innerHTML = '
                    차트 라이브러리를 불러오지 못했습니다.
                    '; + fig.innerHTML = ui("m_3a92f0945a5ebe34"); }); return; } diff --git a/packages/wiki-shared/src/server/bearerAuth.ts b/packages/wiki-shared/src/server/bearerAuth.ts index 6cee8a1..195ce84 100644 --- a/packages/wiki-shared/src/server/bearerAuth.ts +++ b/packages/wiki-shared/src/server/bearerAuth.ts @@ -11,6 +11,7 @@ */ /** MCP OAuth 스코프 상수 (두 앱 공용). */ +import { translate, DEFAULT_LOCALE, type Locale } from '../i18n/core'; export const OAUTH_SCOPE_MCP = 'mcp'; export const OAUTH_SCOPE_ADMIN_MCP = 'admin-mcp'; export const OAUTH_ACCEPTED_SCOPES = new Set([OAUTH_SCOPE_MCP, OAUTH_SCOPE_ADMIN_MCP]); @@ -83,13 +84,15 @@ export async function resolveBearerAuth( authHeader: string, db: D1DatabaseLike, ctx: ExecutionContextLike | null, + locale: Locale = DEFAULT_LOCALE, ): Promise { + const ui = (key: string) => translate(key, locale); if (!authHeader) return { kind: 'none' }; if (!authHeader.toLowerCase().startsWith('bearer ')) { - return { kind: 'error', message: 'Bearer token required' }; + return { kind: 'error', message: ui("m_cee3585ff1175382") }; } const token = authHeader.slice(7).trim(); - if (!token) return { kind: 'error', message: 'Empty bearer token' }; + if (!token) return { kind: 'error', message: ui("m_a9cc4e895f5a5a91") }; const tokenHash = await sha256Hex(token); const now = Math.floor(Date.now() / 1000); @@ -116,7 +119,7 @@ export async function resolveBearerAuth( .first(); if (row) { - if (row.expires_at < now) return { kind: 'error', message: 'Token expired' }; + if (row.expires_at < now) return { kind: 'error', message: ui("m_605a25cfb239ed2d") }; userRow = row; scope = 'mcp admin-mcp'; } else { @@ -141,14 +144,14 @@ export async function resolveBearerAuth( .bind(tokenHash) .first(); - if (!row) return { kind: 'error', message: 'Token not found' }; - if (row.revoked_at) return { kind: 'error', message: 'Token revoked' }; - if (row.access_expires_at < now) return { kind: 'error', message: 'Token expired' }; + if (!row) return { kind: 'error', message: ui("m_4441b4b45947e726") }; + if (row.revoked_at) return { kind: 'error', message: ui("m_cd7e9dbe5eec7bd9") }; + if (row.access_expires_at < now) return { kind: 'error', message: ui("m_605a25cfb239ed2d") }; const scopeVal = row.scope || OAUTH_SCOPE_ADMIN_MCP; const scopeTokens = scopeVal.split(/\s+/).filter(Boolean); if (!scopeTokens.some(s => OAUTH_ACCEPTED_SCOPES.has(s))) { - return { kind: 'error', message: 'Token scope does not permit MCP access' }; + return { kind: 'error', message: ui("m_a7b4e9ad19b36f5f") }; } userRow = row; @@ -164,7 +167,7 @@ export async function resolveBearerAuth( } if (!userRow) { - return { kind: 'error', message: 'Token not found' }; + return { kind: 'error', message: ui("m_4441b4b45947e726") }; } return { kind: 'authenticated', user: userRow, tokenId, scope }; diff --git a/packages/wiki-shared/src/ui/ui-state.ts b/packages/wiki-shared/src/ui/ui-state.ts index d50fb4b..921d4f1 100644 --- a/packages/wiki-shared/src/ui/ui-state.ts +++ b/packages/wiki-shared/src/ui/ui-state.ts @@ -15,6 +15,7 @@ * 입력 등 동적 문자열을 넣을 때는 호출 측에서 먼저 escapeHtml 해야 한다. */ +import { ui } from '../i18n/client'; export interface EmptyStateCta { /** 버튼 라벨 (신뢰 리터럴; 동적이면 호출부에서 이스케이프) */ label: string; @@ -85,7 +86,7 @@ export function emptyState(opts: EmptyStateOptions): string { * 이미 테마가 적용된 부트스트랩 `.spinner-border` 를 재사용한다. */ export function inlineLoading(opts: InlineLoadingOptions = {}): string { - const text = opts.text === undefined ? '불러오는 중...' : opts.text; + const text = opts.text === undefined ? ui("m_1035a5731b39d432") : opts.text; const sizeClass = opts.size === 'md' ? '' : ' spinner-border-sm'; const blockClass = opts.block ? ' loading-block' : ''; const label = text ? `${text}` : ''; diff --git a/public/ext/freq/freq-editor.js b/public/ext/freq/freq-editor.js index 78d4d92..535c6c3 100644 --- a/public/ext/freq/freq-editor.js +++ b/public/ext/freq/freq-editor.js @@ -18,6 +18,7 @@ * api = { getValue(), setValue(s), slug, extName }. */ (function () { + const ui = (key, values) => window.VireoI18n.ui(key, values); 'use strict'; // ── 파서: freq.js 의 _parseFreqData 와 동일한 규약 ── @@ -202,43 +203,43 @@ if (parsed.freq.length === 0) { window.Swal.fire({ icon: 'warning', - title: '스무딩 대상 없음', - text: '주파수 응답 데이터를 파싱할 수 없습니다.', + title: ui("m_5a189009ea301dc2"), + text: ui("m_be7bef35403236ab"), }); return; } const phaseWarning = parsed.hasPhase - ? '
                    스무딩 적용 후 위상(Phase) 데이터는 제거됩니다.
                    ' + ? ui("m_04d9f97a19a93f89") : ''; const existingSmoothing = parsed.meta.smoothing - ? '
                    기존 Smoothing: ' + escapeForHtml(parsed.meta.smoothing) + '
                    ' + ? ui("m_daba9777afa31b0a") + escapeForHtml(parsed.meta.smoothing) + '
                    ' : ''; window.Swal.fire({ - title: '스무딩 적용', + title: ui("m_37d1bd2e240ceedc"), html: '
                    ' + - '

                    현재 데이터: ' + parsed.freq.length.toLocaleString() + ' 포인트 ' + - '(약 ' + (currentValue.length / 1024).toFixed(1) + ' KB)

                    ' + + ui("m_d87a4cb7b2cf3797") + parsed.freq.length.toLocaleString() + ui("m_84e0b2a3fbd2112c") + + ui("m_b8e334b7c2fdeb90") + (currentValue.length / 1024).toFixed(1) + ui("m_4e34c76a6d1f6f0f") + existingSmoothing + - '' + + ui("m_338ad9e3d971af1d") + '' + - '' + + ui("m_62bd76cca29eee40") + '' + - '로그 균등 분포로 생성됩니다. (50 ~ 4000)
                    리비전을 통해 스무딩 이전으로 복원이 가능합니다.
                    ' + + ui("m_53e456491f37bc9c") + phaseWarning + '
                    ', showCancelButton: true, - confirmButtonText: '스무딩 적용', - cancelButtonText: '취소', + confirmButtonText: ui("m_37d1bd2e240ceedc"), + cancelButtonText: ui("m_be876433993ab7ba"), focusConfirm: false, preConfirm: () => { const octEl = document.getElementById('freqSmoothOctaveSel'); @@ -246,11 +247,11 @@ const oct = octEl ? parseInt(octEl.value, 10) : NaN; const pts = ptsEl ? parseInt(ptsEl.value, 10) : NaN; if (!Number.isFinite(oct) || oct <= 0) { - window.Swal.showValidationMessage('옥타브 분수를 선택하세요.'); + window.Swal.showValidationMessage(ui("m_e2ebe184ab11ca28")); return false; } if (!Number.isFinite(pts) || pts < 50 || pts > 4000) { - window.Swal.showValidationMessage('출력 포인트 수는 50~4000 범위입니다.'); + window.Swal.showValidationMessage(ui("m_4cdd37d6d41ae06b")); return false; } return { oct, pts }; @@ -277,16 +278,16 @@ if (!summaryEl) return; summaryEl.removeEventListener('input', onSummaryUserInput); if (userTouchedSummary) return; - summaryEl.value = '데이터 스무딩 (1/' + oct + ' oct, ' + smoothed.freq.length + ' pts)'; + summaryEl.value = ui("m_7a41047d553357ee") + oct + ' oct, ' + smoothed.freq.length + ' pts)'; summaryEl.dispatchEvent(new Event('input')); }, 600); const reductionPct = oldBytes > 0 ? ((1 - newBytes / oldBytes) * 100) : 0; window.Swal.fire({ icon: 'success', - title: '스무딩 적용 완료', + title: ui("m_d3a1196fb372994a"), html: '
                    ' + - '

                    포인트: ' + parsed.freq.length.toLocaleString() + ' → ' + smoothed.freq.length.toLocaleString() + '

                    ' + - '

                    크기: ' + (oldBytes / 1024).toFixed(1) + ' KB → ' + (newBytes / 1024).toFixed(1) + ' KB ' + + ui("m_42f54b48383c48fe") + parsed.freq.length.toLocaleString() + ' → ' + smoothed.freq.length.toLocaleString() + '

                    ' + + ui("m_fca475aedb398f68") + (oldBytes / 1024).toFixed(1) + ui("m_da87a98efb7fa482") + (newBytes / 1024).toFixed(1) + ui("m_68785ba1090341f5") + '(' + (reductionPct >= 0 ? '−' : '+') + Math.abs(reductionPct).toFixed(1) + '%)

                    ' + '
                    ', timer: 3500, @@ -313,8 +314,8 @@ const btn = document.createElement('button'); btn.type = 'button'; btn.className = 'wiki-ext-toolbar-btn'; - btn.innerHTML = ' 데이터 스무딩'; - btn.title = '1/N 옥타브 스무딩'; + btn.innerHTML = ui("m_eecd13ecc9dfe144"); + btn.title = ui("m_3e2e7e493bed9251"); btn.addEventListener('click', () => openSmoothingDialog(api)); toolbarEl.appendChild(btn); diff --git a/public/ext/freq/freq.js b/public/ext/freq/freq.js index 6dc75c2..bc53a33 100644 --- a/public/ext/freq/freq.js +++ b/public/ext/freq/freq.js @@ -11,6 +11,7 @@ * {{freq:제목1|freq:제목2}} — 제목2를 타겟 응답으로 사용 (비교/보정 옵션) */ (function () { + const ui = (key, values) => window.VireoI18n.ui(key, values); 'use strict'; /** REW 텍스트 데이터를 파싱하여 { freq[], spl[], phase[], meta{}, hasPhase } 반환 */ @@ -104,7 +105,7 @@ const parsed = _parseFreqData(extData.content); if (parsed.freq.length === 0) { - containerDiv.innerHTML = '
                    ⚠️ 주파수 데이터를 파싱할 수 없습니다.
                    '; + containerDiv.innerHTML = ui("m_66a160f8042e2a21"); return; } @@ -121,24 +122,24 @@ const titleAfterPrefix = targetArg.startsWith('freq:') ? targetArg.substring(5).trim() : ''; if (!targetArg.startsWith('freq:') || !titleAfterPrefix) { // freq: 네임스페이스가 아닌 문서 — 유효한 주파수응답 데이터가 아님 - targetError = `"${targetArg}" 은(는) 유효한 주파수응답 데이터가 아닙니다. (freq: 문서만 타겟으로 사용 가능)`; + targetError = ui("m_e0c45ab49ad7a4b2", [targetArg]); } else { const sec = (extData.secondary && extData.secondary[targetSlug]) || null; if (!sec) { - targetError = `타겟 응답(${titleAfterPrefix})을 불러올 수 없습니다.`; + targetError = ui("m_940e6692b62ccb8f", [titleAfterPrefix]); } else if (sec.disabled) { - targetError = `타겟 응답(${titleAfterPrefix})의 익스텐션이 비활성화되어 있습니다.`; + targetError = ui("m_d51302ae04a2e98e", [titleAfterPrefix]); } else if (sec.error) { - targetError = `타겟 응답(${titleAfterPrefix}): ${sec.error}`; + targetError = ui("m_47a1317f9638980c", [titleAfterPrefix, sec.error]); } else if (typeof sec.content === 'string') { const tp = _parseFreqData(sec.content); if (tp.freq.length === 0) { - targetError = `타겟 응답(${titleAfterPrefix}) 데이터를 파싱할 수 없습니다.`; + targetError = ui("m_334817d124fa7a8d", [titleAfterPrefix]); } else { targetParsed = tp; } } else { - targetError = `타겟 응답(${titleAfterPrefix})이 유효하지 않습니다.`; + targetError = ui("m_236de7316ec1347f", [titleAfterPrefix]); } } } @@ -194,14 +195,14 @@ let compensateBtnHtml = ''; let warningHtml = ''; if (targetParsed) { - compensateBtnHtml = ``; + compensateBtnHtml = ui("m_976fe5361e847363"); } else if (targetError) { warningHtml = `
                    ⚠️ ${escapeHtml(targetError)}
                    `; } const hasComments = parsed.meta.comments && parsed.meta.comments.length > 0; const infoBtnHtml = hasComments - ? '' + ? ui("m_b20a4b92c84c5f5f") : ''; containerDiv.innerHTML = ` @@ -210,7 +211,7 @@ ${escapeHtml(docTitle)}${escapeHtml(metaLabel)}${infoBtnHtml}
                    ${compensateBtnHtml} - ${parsed.hasPhase ? '' : ''} + ${parsed.hasPhase ? ui("m_6c57a398a288e665") : ''}
                    ${warningHtml} @@ -235,7 +236,7 @@ Swal.fire({ title: escapeHtml(docTitle), html: `
                    ${commentsHtml}
                    `, - confirmButtonText: '닫기', + confirmButtonText: ui("m_1e8c10206f5b35bd"), width: '600px', }); } @@ -287,7 +288,7 @@ const datasets = [ { - label: 'SPL (dB)', + label: ui("m_aa297e7f66f93047"), data: buildPrimaryData(), borderColor: splColor, backgroundColor: 'transparent', @@ -302,7 +303,7 @@ // Target 데이터셋 — 기본 표시 (점선 겹쳐보기). 보정/위상 모드에서는 숨김. if (targetFreq) { datasets.push({ - label: `Target (${targetTitle})`, + label: ui("m_80ac818ba5040aaa", [targetTitle]), data: freq.map(f => ({ x: f, y: _interpolateAt(targetFreq, targetSpl, f) })), borderColor: targetColor, backgroundColor: 'transparent', @@ -322,7 +323,7 @@ const scales = { x: { type: 'logarithmic', - title: { display: true, text: 'Frequency (Hz)', color: textColor }, + title: { display: true, text: ui("m_5f9597e24414b24b"), color: textColor }, min: Math.max(20, xLow), max: Math.min(20000, xHigh), grid: { color: gridColor }, @@ -340,7 +341,7 @@ }, y: { type: 'linear', - title: { display: true, text: 'SPL (dB)', color: splColor }, + title: { display: true, text: ui("m_aa297e7f66f93047"), color: splColor }, grid: { color: gridColor }, ticks: { color: splColor }, position: 'left', @@ -350,7 +351,7 @@ // Phase 데이터셋 (기본 숨김) if (parsed.hasPhase && phase.length > 0) { datasets.push({ - label: 'Phase (°)', + label: ui("m_fa2631f89de91520"), data: freq.map((f, i) => ({ x: f, y: phase[i] })), borderColor: phaseColor, backgroundColor: 'transparent', @@ -362,7 +363,7 @@ }); scales.yPhase = { type: 'linear', - title: { display: true, text: 'Phase (°)', color: phaseColor }, + title: { display: true, text: ui("m_fa2631f89de91520"), color: phaseColor }, grid: { drawOnChartArea: false }, ticks: { color: phaseColor }, position: 'right', @@ -460,7 +461,7 @@ // 교체/정리된 렌더의 늦은 실패는 무시(현재 활성 렌더 내용 보존). if (containerDiv._extGen !== renderGen) return; console.error('Chart.js load failed:', err); - containerDiv.innerHTML = '
                    ⚠️ 그래프 라이브러리 로드에 실패했습니다.
                    '; + containerDiv.innerHTML = ui("m_bab8d4ce68ac49f0"); }); } diff --git a/public/ext/stock/stock.js b/public/ext/stock/stock.js index 5d729e9..5fa0723 100644 --- a/public/ext/stock/stock.js +++ b/public/ext/stock/stock.js @@ -57,7 +57,7 @@ timezone: 'Asia/Seoul', theme: colorTheme, style: '1', - locale: 'kr', + locale: window.VireoI18n?.getLocale() === 'zh-CN' ? 'zh_CN' : 'en', allow_symbol_change: false, calendar: false, support_host: 'https://www.tradingview.com', @@ -71,7 +71,7 @@ width: '100%', colorTheme, isTransparent: false, - locale: 'kr', + locale: window.VireoI18n?.getLocale() === 'zh-CN' ? 'zh_CN' : 'en', }); } else { @@ -82,7 +82,7 @@ chartOnly: false, width: '100%', height: 300, - locale: 'kr', + locale: window.VireoI18n?.getLocale() === 'zh-CN' ? 'zh_CN' : 'en', colorTheme, autosize: false, showVolume: false, diff --git a/scripts/localize-shells.mjs b/scripts/localize-shells.mjs new file mode 100644 index 0000000..a278d03 --- /dev/null +++ b/scripts/localize-shells.mjs @@ -0,0 +1,54 @@ +import { readFile, writeFile, mkdir, readdir } from 'node:fs/promises'; +import { resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { parse, serialize } from 'parse5'; + +const root = fileURLToPath(new URL('../', import.meta.url)); +const catalogRoot = resolve(root, 'packages/wiki-shared/src/i18n'); +const sources = JSON.parse(await readFile(resolve(catalogRoot, 'source.json'), 'utf8')); +const lookup = new Map(Object.entries(sources).map(([key, value]) => [value, key])); +const attrs = new Set(['title', 'alt', 'placeholder', 'aria-label', 'content']); + +export function localizeShell(html, locale, catalog) { + const document = parse(html); + const text = value => { + const key = lookup.get(value.trim()); + if (!key) return value; + return (value.match(/^\s*/)?.[0] ?? '') + (catalog[key] ?? value.trim()) + (value.match(/\s*$/)?.[0] ?? ''); + }; + function visit(node, excluded = false) { + const protectedContent = excluded || ['script', 'style', 'pre', 'code'].includes(node.tagName) || + (node.attrs ?? []).some(a => a.name === 'data-no-i18n'); + if (node.nodeName === '#text' && !protectedContent) node.value = text(node.value); + for (const attr of node.attrs ?? []) { + if (node.tagName === 'html' && attr.name === 'lang') attr.value = locale; + else if (attrs.has(attr.name) && !protectedContent) { + if (attr.name === 'aria-label' && (node.attrs ?? []).some(a => a.name === 'data-language-selector')) attr.value = locale === 'en' ? 'Interface language' : '界面语言'; + else attr.value = text(attr.value); + } + } + for (const child of node.childNodes ?? []) visit(child, protectedContent); + if (node.content) visit(node.content, protectedContent); + } + visit(document); + return serialize(document); +} + +export async function buildLocalizedShells() { + const pages = (await readdir(resolve(root, '.astro-dist'))).filter(name => name.endsWith('.html')); + for (const locale of ['zh-CN', 'en']) { + const catalog = JSON.parse(await readFile(resolve(catalogRoot, locale + '.json'), 'utf8')); + const destination = resolve(root, 'public/_i18n', locale); + await mkdir(destination, { recursive: true }); + for (const page of pages) { + const html = await readFile(resolve(root, '.astro-dist', page), 'utf8'); + const localized = localizeShell(html, locale, catalog); + await writeFile(resolve(destination, page), localized); + // Direct .html requests and asset-only hosting use the default Chinese shell. + if (locale === 'zh-CN') await writeFile(resolve(root, 'public', page), localized); + } + } + console.log(`Localized ${pages.length} shells in Chinese and English.`); +} + +if (process.argv[1] === fileURLToPath(import.meta.url)) await buildLocalizedShells(); diff --git a/scripts/test-i18n.mjs b/scripts/test-i18n.mjs new file mode 100644 index 0000000..bcbb679 --- /dev/null +++ b/scripts/test-i18n.mjs @@ -0,0 +1,12 @@ +import { build } from 'esbuild'; +import { mkdtemp, rm } from 'node:fs/promises'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { spawnSync } from 'node:child_process'; +const dir = await mkdtemp(join(tmpdir(), 'vireo-i18n-')); +try { + const outfile = join(dir, 'i18n.test.cjs'); + await build({ entryPoints: ['tests/i18n.test.ts'], outfile, bundle: true, platform: 'node', format: 'cjs' }); + const result = spawnSync(process.execPath, ['--test', outfile, 'tests/i18n-shells.test.mjs'], { stdio: 'inherit' }); + process.exitCode = result.status ?? 1; +} finally { await rm(dir, { recursive: true, force: true }); } diff --git a/src/astro/layouts/BaseLayout.astro b/src/astro/layouts/BaseLayout.astro index 495aa2d..1fbc773 100644 --- a/src/astro/layouts/BaseLayout.astro +++ b/src/astro/layouts/BaseLayout.astro @@ -107,6 +107,12 @@ const forceDarkBootScript = singleDarkOnly +
                    + +
                    + diff --git a/src/client/admin/palettes.ts b/src/client/admin/palettes.ts index 99f1cb5..5b3919e 100644 --- a/src/client/admin/palettes.ts +++ b/src/client/admin/palettes.ts @@ -15,6 +15,7 @@ * Hex 입력. 글씨색 채널은 "자동 대비" 토글로 WCAG 대비 색상을 자동 적용. */ +import { ui } from '../../../packages/wiki-shared/src/i18n/client'; import { escapeHtml } from '../utils/html'; declare const Swal: any; @@ -357,11 +358,11 @@ function setNameError(msg: string | null) { function validateName(raw: string): string | null { const name = raw.trim(); - if (!name) return '이름을 입력해주세요.'; + if (!name) return ui("m_b6c1c96c52ea9de7"); if (!PALETTE_NAME_RE.test(name)) - return '영문/숫자/언더스코어/하이픈 1~64자만 사용할 수 있습니다.'; + return ui("m_17fd2bab60f5fa02"); if (RESERVED.has(name.toLowerCase())) - return '하드코딩 프리셋 이름과 겹칠 수 없습니다.'; + return ui("m_32d3a1d05f377182"); return null; } @@ -385,7 +386,7 @@ function resetForm() { touchedChannels.clear(); const title = $('paletteFormTitle'); - if (title) title.textContent = '새 팔레트 추가'; + if (title) title.textContent = ui("m_cc9f8b1e951c4b0c"); const nameInput = $input('paletteNameInput'); if (nameInput) { @@ -415,7 +416,7 @@ function resetForm() { if (resetBtn) resetBtn.style.display = 'none'; const submitBtn = $('paletteFormSubmit'); - if (submitBtn) submitBtn.textContent = '저장'; + if (submitBtn) submitBtn.textContent = ui("m_5fb926229090001c"); syncAutoState('light'); syncDarkRow(); @@ -427,7 +428,7 @@ function loadIntoForm(row: PaletteRow) { editingRow = row; const title = $('paletteFormTitle'); - if (title) title.textContent = `팔레트 편집: ${name}`; + if (title) title.textContent = ui("m_2f8d5d46605e2cde", [name]); const nameInput = $input('paletteNameInput'); if (nameInput) { @@ -469,7 +470,7 @@ function loadIntoForm(row: PaletteRow) { if (resetBtn) resetBtn.style.display = ''; const submitBtn = $('paletteFormSubmit'); - if (submitBtn) submitBtn.textContent = '수정'; + if (submitBtn) submitBtn.textContent = ui("m_3537f0cc3ec9fa10"); syncAutoState('light'); syncDarkRow(); @@ -487,7 +488,7 @@ function renderList() { const names = Object.keys(cache).sort(); if (names.length === 0) { container.innerHTML = - '
                    등록된 커스텀 팔레트가 없습니다.
                    '; + ui("m_c645164a4beb76ac"); return; } container.innerHTML = names @@ -501,33 +502,10 @@ function renderList() { (row.dark_bg !== null && row.dark_bg !== row.light_bg) || (row.dark_color !== null && row.dark_color !== row.light_color); const fmt = (v: string | null, fallback: string) => - v === null ? `(미지정 → ${fallback})` : v; - return ` -
                    - ${escapeHtml(name)} - - - - - ${ - darkExplicit - ? ` - / - - - ` - : '' - } - - - - -
                    - `; + v === null ? ui("m_4504090c6a71c3b5", [fallback]) : v; + return ui("m_ad423fa90e1d916c", [escapeHtml(name), escapeHtml(name), escapeHtml(fmt(row.light_bg, lightBgRaw)), escapeHtml(fmt(row.light_color, lightFgRaw)), escapeHtml(lightBgRaw), escapeHtml(lightFgRaw), darkExplicit + ? ui("m_53518a1483b7f94b", [escapeHtml(fmt(row.dark_bg, darkBgRaw)), escapeHtml(fmt(row.dark_color, darkFgRaw)), escapeHtml(darkBgRaw), escapeHtml(darkFgRaw)]) + : '', escapeHtml(name), escapeHtml(name)]); }) .join(''); } @@ -545,7 +523,7 @@ async function loadPaletteList() { renderList(); } catch { container.innerHTML = - '
                    팔레트 목록을 불러오지 못했습니다.
                    '; + ui("m_b178b2b6a6f06331"); } } @@ -561,7 +539,7 @@ async function submitForm() { if (hasInvalidHexInput()) { if (typeof Swal !== 'undefined') { - Swal.fire('오류', '잘못된 색상 코드가 입력되어 있습니다. (#RRGGBB 또는 #RGB)', 'error'); + Swal.fire(ui("m_b49f20d86148ddfd"), ui("m_289d5963498c8fac"), 'error'); } return; } @@ -618,14 +596,14 @@ async function submitForm() { }); if (!res.ok) { const data = await res.json().catch(() => ({} as any)); - throw new Error(data.error || `저장 실패 (${res.status})`); + throw new Error(data.error || ui("m_7e6dcbfd369a97fc", [res.status])); } await loadPaletteList(); resetForm(); if (typeof Swal !== 'undefined') { Swal.fire({ icon: 'success', - title: '저장되었습니다.', + title: ui("m_ba971bfea1b3477d"), toast: true, position: 'top-end', showConfirmButton: false, @@ -634,7 +612,7 @@ async function submitForm() { } } catch (err: any) { if (typeof Swal !== 'undefined') { - Swal.fire('오류', err.message || String(err), 'error'); + Swal.fire(ui("m_b49f20d86148ddfd"), err.message || String(err), 'error'); } else { alert(err.message || String(err)); } @@ -645,14 +623,14 @@ async function deletePalette(name: string) { const confirmed = await (typeof Swal !== 'undefined' ? Swal.fire({ icon: 'warning', - title: '팔레트 삭제', - text: `'${name}' 팔레트를 삭제하시겠습니까? 이 팔레트를 사용 중인 문서는 색상이 적용되지 않게 됩니다.`, + title: ui("m_e24943bb3e7cc75d"), + text: ui("m_ca8df919e95738a1", [name]), showCancelButton: true, - confirmButtonText: '삭제', - cancelButtonText: '취소', + confirmButtonText: ui("m_6139b6c3ed73cd4a"), + cancelButtonText: ui("m_be876433993ab7ba"), confirmButtonColor: '#d33', }).then((r: any) => r.isConfirmed) - : Promise.resolve(window.confirm(`'${name}' 을 삭제하시겠습니까?`))); + : Promise.resolve(window.confirm(ui("m_ca0be49e14db6168", [name])))); if (!confirmed) return; try { const res = await fetch(`/api/admin/palettes/${encodeURIComponent(name)}`, { @@ -661,13 +639,13 @@ async function deletePalette(name: string) { }); if (!res.ok) { const data = await res.json().catch(() => ({} as any)); - throw new Error(data.error || `삭제 실패 (${res.status})`); + throw new Error(data.error || ui("m_5cb5981d516bbfe3", [res.status])); } if (editingName === name) resetForm(); await loadPaletteList(); } catch (err: any) { if (typeof Swal !== 'undefined') { - Swal.fire('오류', err.message || String(err), 'error'); + Swal.fire(ui("m_b49f20d86148ddfd"), err.message || String(err), 'error'); } else { alert(err.message || String(err)); } diff --git a/src/client/article/backlinks.ts b/src/client/article/backlinks.ts index 93f08b8..0246e84 100644 --- a/src/client/article/backlinks.ts +++ b/src/client/article/backlinks.ts @@ -4,6 +4,7 @@ // 응답에만 존재하므로(워크스페이스는 {slug,title} 만) 워크스페이스에서는 자연히 일반 // 문서 분기만 탄다. 동작은 과거 index.ts 의 loadBacklinks 와 동일. +import { ui, getLocale } from '../../../packages/wiki-shared/src/i18n/client'; import type { ArticleContext } from './context'; /** @@ -25,42 +26,20 @@ export async function renderBacklinks(ctx: ArticleContext, opts: { slug?: string const data = await res.json(); if (data.backlinks && data.backlinks.length > 0) { list.innerHTML = data.backlinks.map((bl) => { - const date = bl.updated_at ? new Date(bl.updated_at * 1000).toLocaleString('zh-CN') : ''; - const deletedBadge = bl.is_deleted ? ' 已删除' : ''; + const date = bl.updated_at ? new Date(bl.updated_at * 1000).toLocaleString(getLocale()) : ''; + const deletedBadge = bl.is_deleted ? ui("m_d2e05037626d501d") : ''; if (bl.type === 'blog') { const blogTitle = bl.title || `#${bl.id}`; - return ` - -
                    - 블로그 - ${window.escapeHtml(blogTitle)}${deletedBadge} -
                    - ${date} -
                    `; + return ui("m_c98b990e5d9b8b91", [encodeURIComponent(bl.id), window.escapeHtml(blogTitle), deletedBadge, date]); } if (bl.type === 'discussion_comment') { const dTitle = bl.discussion_title || `#${bl.discussion_id}`; const href = `/w/${encodeURIComponent(bl.page_slug)}?mode=discussions&id=${encodeURIComponent(bl.discussion_id)}`; - return ` - -
                    - 讨论 - ${window.escapeHtml(dTitle)} - ${window.escapeHtml(bl.page_slug)}${deletedBadge} -
                    - ${date} -
                    `; + return ui("m_7eb48ab9b79e6ee6", [href, window.escapeHtml(dTitle), window.escapeHtml(bl.page_slug), deletedBadge, date]); } if (bl.type === 'ticket_comment') { const tTitle = bl.ticket_title || `#${bl.ticket_id}`; - return ` - -
                    - 티켓 - ${window.escapeHtml(tTitle)}${deletedBadge} -
                    - ${date} -
                    `; + return ui("m_a0ed21219d08052a", [encodeURIComponent(bl.ticket_id), window.escapeHtml(tTitle), deletedBadge, date]); } // 일반 문서 역링크 — 전역·워크스페이스 공용. title 이 있으면 표시(워크스페이스), // 없으면 slug(전역 위키)로 폴백. 클릭은 article-backlink-link 핸들러가 처리. @@ -83,7 +62,7 @@ export async function renderBacklinks(ctx: ArticleContext, opts: { slug?: string section.classList.remove('d-none'); return true; } - list.innerHTML = '
                    链入页面가 없습니다.
                    '; + list.innerHTML = ui("m_37eba2bfd2ba98ed"); section.classList.add('d-none'); return false; } catch (e) { diff --git a/src/client/article/breadcrumb.ts b/src/client/article/breadcrumb.ts index fd8d960..9c85a5c 100644 --- a/src/client/article/breadcrumb.ts +++ b/src/client/article/breadcrumb.ts @@ -5,6 +5,7 @@ // 하위문서 생성 권한)만 ArticleContext 로 주입받는다. 동작은 과거 index.ts 의 // renderParentDocsNav + 형제 패널 헬퍼와 동일하다. +import { ui } from '../../../packages/wiki-shared/src/i18n/client'; import type { ArticleContext } from './context'; /** @@ -90,7 +91,7 @@ export function createBreadcrumbNav(ctx: ArticleContext) { panelEl.classList.remove('d-none'); panelEl.setAttribute('role', 'menu'); - panelEl.innerHTML = `正在加载...`; + panelEl.innerHTML = ui("m_7a0ef1e9e023fa04"); positionSiblings(btn); document.addEventListener('click', onOutsideClick, true); @@ -100,7 +101,7 @@ export function createBreadcrumbNav(ctx: ArticleContext) { try { const res = await fetch(ctx.subdocsUrl(parentSlug, true)); if (reqId !== siblingsReqSeq) return; - if (!res.ok) throw new Error('failed'); + if (!res.ok) throw new Error("failed"); const data = await res.json(); if (reqId !== siblingsReqSeq) return; const docs = (data.subdocs || []).filter((d) => { @@ -109,7 +110,7 @@ export function createBreadcrumbNav(ctx: ArticleContext) { }); if (docs.length === 0) { - panelEl.innerHTML = `동일 단계 暂无页面`; + panelEl.innerHTML = ui("m_038b55bd7b3d8fa2"); positionSiblings(btn); return; } @@ -131,7 +132,7 @@ export function createBreadcrumbNav(ctx: ArticleContext) { } catch (err) { if (reqId !== siblingsReqSeq) return; console.error(err); - panelEl.innerHTML = `불러오기 실패`; + panelEl.innerHTML = ui("m_06f20c851bc730ec"); positionSiblings(btn); } } @@ -155,16 +156,16 @@ export function createBreadcrumbNav(ctx: ArticleContext) { : `${window.escapeHtml(parts[i])}`; const chevronHtml = i === 0 ? '' - : ` `; + : ui("m_589949d0ce1b0617", [window.escapeHtml(parentSlug), window.escapeHtml(parts[i]), i]); segments.push(`${labelHtml}${chevronHtml}`); } const canCreate = ctx.canCreateSubdoc(actionSlug); const subdocButtonHtml = canCreate - ? ` / ` + ? ui("m_d278e66fa5d99310", [window.escapeHtml(actionSlug)]) : ''; - parentDocsEl.innerHTML = `문서 구조:${segments.join(' / ')}${subdocButtonHtml}`; + parentDocsEl.innerHTML = ui("m_661f7e44a4aa7fa1", [segments.join(' / '), subdocButtonHtml]); parentDocsEl.querySelectorAll('.article-nav-link').forEach((link) => { link.addEventListener('click', function (event) { event.preventDefault(); diff --git a/src/client/article/share.ts b/src/client/article/share.ts index 52e3ead..8bdb2a6 100644 --- a/src/client/article/share.ts +++ b/src/client/article/share.ts @@ -4,6 +4,7 @@ // AI 질문(Claude/ChatGPT) 옵션은 ctx.includeAi 가 true 일 때만 의미를 가진다 — // 워크스페이스 문서는 비공개가 기본이라 외부 AI 가 URL 을 가져올 수 없어 제외한다. +import { ui } from '../../../packages/wiki-shared/src/i18n/client'; import type { ArticleContext } from './context'; declare const Swal: any; @@ -28,10 +29,10 @@ export function createShareActions(ctx: ArticleContext) { async function shareCopyLink() { try { await navigator.clipboard.writeText(cleanUrl()); - toast('문서 링크가 클립보드에 복사되었습니다.'); + toast(ui("m_63935251e583b27f")); } catch (err) { console.error('복사 실패:', err); - Swal.fire('错误', '클립보드 복사에 실패했습니다.', 'error'); + Swal.fire(ui("m_0bc1fb72ae1be5c5"), ui("m_ec6f40a9e763d7c1"), 'error'); } } @@ -43,17 +44,17 @@ export function createShareActions(ctx: ArticleContext) { ? window.extractPlainTextWithFootnotes(content) : content.innerText; await navigator.clipboard.writeText(text); - toast('문서 내용이 클립보드에 복사되었습니다.'); + toast(ui("m_38d098ba7768a3d1")); } catch (err) { console.error('복사 실패:', err); - Swal.fire('错误', '클립보드 복사에 실패했습니다.', 'error'); + Swal.fire(ui("m_0bc1fb72ae1be5c5"), ui("m_ec6f40a9e763d7c1"), 'error'); } } async function shareCopyMarkdown() { const doc = ctx.getDoc(); if (!doc || !doc.content) { - Swal.fire('错误', '문서 내용을 가져올 수 없습니다.', 'error'); + Swal.fire(ui("m_0bc1fb72ae1be5c5"), ui("m_5d316b522e9b3812"), 'error'); return; } try { @@ -61,10 +62,10 @@ export function createShareActions(ctx: ArticleContext) { const pageTitle = doc.slug ? doc.slug : ''; const markdownWithTitle = pageTitle ? pageTitle + '\n\n' + resolvedContent : resolvedContent; await navigator.clipboard.writeText(markdownWithTitle); - toast('마크다운 원문이 클립보드에 복사되었습니다.'); + toast(ui("m_384c7951cf63c117")); } catch (err) { console.error('복사 실패:', err); - Swal.fire('错误', '클립보드 복사에 실패했습니다.', 'error'); + Swal.fire(ui("m_0bc1fb72ae1be5c5"), ui("m_ec6f40a9e763d7c1"), 'error'); } } @@ -76,7 +77,7 @@ export function createShareActions(ctx: ArticleContext) { async function shareCopyHtml() { const content = document.getElementById('articleContent'); if (!content || typeof window.buildPortableHtml !== 'function') { - Swal.fire('错误', '문서 내용을 가져올 수 없습니다.', 'error'); + Swal.fire(ui("m_0bc1fb72ae1be5c5"), ui("m_5d316b522e9b3812"), 'error'); return; } try { @@ -96,10 +97,10 @@ export function createShareActions(ctx: ArticleContext) { } catch (_) { copied = false; } } if (!copied) await navigator.clipboard.writeText(html); - toast('문서 HTML이 클립보드에 복사되었습니다.'); + toast(ui("m_24626229dc0b225b")); } catch (err) { console.error('복사 실패:', err); - Swal.fire('错误', '클립보드 복사에 실패했습니다.', 'error'); + Swal.fire(ui("m_0bc1fb72ae1be5c5"), ui("m_ec6f40a9e763d7c1"), 'error'); } } @@ -108,12 +109,12 @@ export function createShareActions(ctx: ArticleContext) { } function shareAskClaude() { - const prompt = '다음 위키 페이지를 읽고 내용에 대한 질문에 답해줘: ' + cleanUrl(); + const prompt = ui("m_513eaca6e4834d62") + cleanUrl(); window.open('https://claude.ai/new?q=' + encodeURIComponent(prompt), '_blank'); } function shareAskChatGPT() { - const prompt = '다음 위키 페이지를 읽고 내용에 대한 질문에 답해줘: ' + cleanUrl(); + const prompt = ui("m_513eaca6e4834d62") + cleanUrl(); window.open('https://chatgpt.com/?q=' + encodeURIComponent(prompt), '_blank'); } diff --git a/src/client/article/structure.ts b/src/client/article/structure.ts index 7f5b6f6..0530b6a 100644 --- a/src/client/article/structure.ts +++ b/src/client/article/structure.ts @@ -16,6 +16,7 @@ // 있기 때문이다. 한 번 받은 base 의 결과는 캐시해 토글 반복 시 재요청하지 않는다. // 현재 문서가 최상위 문서이면 두 뷰가 동일하므로 체크박스를 노출하지 않는다. +import { ui } from '../../../packages/wiki-shared/src/i18n/client'; import type { ArticleContext } from './context'; declare const Swal: any; @@ -33,7 +34,7 @@ export function createStructureModal(ctx: ArticleContext) { const cached = cache.get(baseSlug); if (cached) return cached; const res = await fetch(ctx.subdocsUrl(baseSlug, false)); - if (!res.ok) throw new Error('failed'); + if (!res.ok) throw new Error("failed"); const data = await res.json(); const list = data.subdocs || []; cache.set(baseSlug, list); @@ -168,7 +169,7 @@ export function createStructureModal(ctx: ArticleContext) { startFull = currentList.length === 0; } catch (err) { console.error(err); - Swal.fire('错误', '하위 문서를 불러오는 데 실패했습니다.', 'error'); + Swal.fire(ui("m_0bc1fb72ae1be5c5"), ui("m_34f74a1b1a652190"), 'error'); return; } } @@ -181,14 +182,14 @@ export function createStructureModal(ctx: ArticleContext) { initialList = await loadSubdocs(initialBase); } catch (err) { console.error(err); - Swal.fire('错误', '하위 문서를 불러오는 데 실패했습니다.', 'error'); + Swal.fire(ui("m_0bc1fb72ae1be5c5"), ui("m_34f74a1b1a652190"), 'error'); return; } // 현재 문서가 최상위 문서인데 하위 문서가 없으면 안내만 표시(기존 동작). // 현재 문서가 하위 문서이면 비어 있어도 모달을 열어 "전체 구조 보기"로 전환할 수 있게 한다. if (!isSubdoc && initialList.length === 0) { - Swal.fire('문서 구조', '하위 暂无页面.', 'info'); + Swal.fire(ui("m_e97fa0a8680309fb"), ui("m_dfb2fc6223803099"), 'info'); return; } @@ -208,7 +209,7 @@ export function createStructureModal(ctx: ArticleContext) { try { await navigator.clipboard.writeText(text); const original = btn.innerHTML; - btn.innerHTML = ' 복사됨'; + btn.innerHTML = ui("m_70de8e074ef644cd"); btn.classList.remove('btn-outline-secondary'); btn.classList.add('btn-success'); setTimeout(() => { @@ -236,23 +237,15 @@ export function createStructureModal(ctx: ArticleContext) { copyData.md = initialView.markdown; // 현재 문서가 하위 문서일 때만 전체/현재 전환 체크박스를 노출한다. - const checkboxHtml = isSubdoc ? ` -
                    - - -
                    ` : ''; + const checkboxHtml = isSubdoc ? ui("m_2f7cace2e470cb6f", [startFull ? ' checked' : '']) : ''; - const buttonsHtml = ` -
                    - - -
                    `; + const buttonsHtml = ui("m_fd065914070c3ee5"); Swal.fire({ - title: '문서 구조', + title: ui("m_e97fa0a8680309fb"), html: `${checkboxHtml}${buttonsHtml}
                    ${initialView.treeHtml}
                    `, width: 600, - confirmButtonText: '关闭', + confirmButtonText: ui("m_3fd47edce45b3603"), customClass: { htmlContainer: 'text-start' }, didOpen: (popup: HTMLElement) => { const treeContainer = popup.querySelector('#article-structure-tree') as HTMLElement | null; @@ -267,7 +260,7 @@ export function createStructureModal(ctx: ArticleContext) { const targetBase = toggle.checked ? topSlug : slug; toggle.disabled = true; if (!cache.has(targetBase) && treeContainer) { - treeContainer.innerHTML = '
                    正在加载...
                    '; + treeContainer.innerHTML = ui("m_7e0bfd6a2f4cf2c2"); } try { const list = await loadSubdocs(targetBase); @@ -275,7 +268,7 @@ export function createStructureModal(ctx: ArticleContext) { } catch (err) { console.error(err); if (treeContainer) { - treeContainer.innerHTML = '
                    하위 문서를 불러오는 데 실패했습니다.
                    '; + treeContainer.innerHTML = ui("m_1194736d55543b31"); } } finally { toggle.disabled = false; diff --git a/src/client/command-palette.ts b/src/client/command-palette.ts index 71ed48c..c6ca693 100644 --- a/src/client/command-palette.ts +++ b/src/client/command-palette.ts @@ -13,6 +13,7 @@ * 문서/카테고리 제안은 기존 `GET /api/search/suggest` 를 그대로 재사용한다(백엔드 변경 없음). */ +import { ui } from '../../packages/wiki-shared/src/i18n/client'; import { emptyState, skeletonList } from './utils/ui-state'; // window.* 로 노출된 common.ts / index.ts 전역 브리지에 접근하기 위한 캐스팅 헬퍼. @@ -83,13 +84,13 @@ function newDocument(): void { const Swal = w.Swal; if (!Swal || typeof Swal.fire !== 'function') return; Swal.fire({ - title: '新页面 만들기', + title: ui("m_33dcddf15dc978d8"), input: 'text', - inputLabel: '문서 이름', - inputPlaceholder: '예: my-first-page', + inputLabel: ui("m_876c6189ce292af4"), + inputPlaceholder: ui("m_c9370c3f2f8dde70"), showCancelButton: true, - confirmButtonText: '만들기', - cancelButtonText: '取消', + confirmButtonText: ui("m_81b8d99b4f9bdf3c"), + cancelButtonText: ui("m_2cd0f3be8738a86c"), }).then((result) => { if (result.isConfirmed && result.value) { window.location.href = '/edit?slug=' + encodeURIComponent(result.value); @@ -193,9 +194,9 @@ function canEditWiki(): boolean { const ACTIONS: PaletteAction[] = [ { id: 'edit', - label: '현재 编辑页面', + label: ui("m_b68b9aa395e1d283"), icon: 'mdi mdi-pencil', - keywords: '편집 edit 수정', + keywords: ui("m_1d3c8bb552e44b23"), canRun: () => !!getEditTarget(), run: () => { const slug = getEditTarget(); @@ -204,17 +205,17 @@ const ACTIONS: PaletteAction[] = [ }, { id: 'newdoc', - label: '新页面 작성', + label: ui("m_6c0ad4da87f4b4b3"), icon: 'mdi mdi-file-plus-outline', - keywords: '새문서 작성 new create 만들기', + keywords: ui("m_4af2f5a4ab686f85"), canRun: canEditWiki, run: () => newDocument(), }, { id: 'random', - label: '随机页面', + label: ui("m_cd86b10b359ba0f7"), icon: 'bi bi-shuffle', - keywords: '랜덤 무작위 random', + keywords: ui("m_eef9c6abde132084"), run: () => { if (typeof w.goRandomPage === 'function') w.goRandomPage(); else window.location.href = '/api/w/random'; @@ -222,68 +223,68 @@ const ACTIONS: PaletteAction[] = [ }, { id: 'explore', - label: '탐색 포털', + label: ui("m_b8957c30d19267f3"), icon: 'mdi mdi-compass-outline', - keywords: '탐색 explore 포털', + keywords: ui("m_dcfde3b8d380d541"), run: () => go('/explore'), }, { id: 'home', - label: '홈으로', + label: ui("m_ffe893bace2a4aba"), icon: 'mdi mdi-home-outline', - keywords: '홈 home 메인', + keywords: ui("m_5a269c0e2c6ac18b"), run: () => go('/'), }, { id: 'admin', - label: '管理后台', + label: ui("m_87354adb1c31e43d"), icon: 'mdi mdi-shield-account-outline', - keywords: '관리자 admin 콘솔 설정', + keywords: ui("m_8c74baa4038b9dec"), canRun: isAdmin, run: () => go('/admin'), }, { id: 'theme-dark', - label: '다크 모드', + label: ui("m_a7a6fa8c2a56c940"), icon: 'mdi mdi-moon-waxing-crescent', - keywords: '다크 dark 테마 theme 어두운', + keywords: ui("m_0b9ebbd426468b58"), run: () => w.setTheme?.('dark'), }, { id: 'theme-light', - label: '라이트 모드', + label: ui("m_e44a6a58308e37db"), icon: 'mdi mdi-white-balance-sunny', - keywords: '라이트 light 테마 theme 밝은', + keywords: ui("m_3f13602d704b1fd0"), run: () => w.setTheme?.('light'), }, { id: 'theme-auto', - label: '자동 테마 (시스템)', + label: ui("m_71d696e2079989c2"), icon: 'mdi mdi-circle-half-full', - keywords: '자동 auto 테마 theme 시스템', + keywords: ui("m_4e65100f2af2e903"), run: () => w.setTheme?.('auto'), }, { id: 'settings', - label: '个人设置', + label: ui("m_c2952a5ffcc34883"), icon: 'mdi mdi-cog-outline', - keywords: '설정 settings 환경설정 테마 레이아웃', + keywords: ui("m_4550d1947c5097d8"), run: () => w.openSettingsModal?.(), }, { id: 'syntax-cheatsheet', - label: '문법 치트시트 (문법 검색)', + label: ui("m_f6eeae9b0f5d9dbb"), icon: 'mdi mdi-book-search-outline', - keywords: '문법 치트시트 syntax cheatsheet 토큰 검색 삽입', + keywords: ui("m_2ce5a8b1a915598d"), // 에디터 페이지에서만 노출 (edit-cheatsheet 번들이 진입점을 정의). canRun: () => typeof w.openSyntaxCheatsheet === 'function', run: () => w.openSyntaxCheatsheet?.(), }, { id: 'help', - label: '단축키 도움말', + label: ui("m_61935cdc25a7b5c8"), icon: 'mdi mdi-keyboard-outline', - keywords: '단축키 도움말 help shortcut keyboard', + keywords: ui("m_d3af477e12a7a4b3"), run: () => openHelpModal(), }, ]; @@ -342,7 +343,7 @@ function ensureDom(): void { overlayEl.id = 'cmdPalette'; overlayEl.setAttribute('role', 'dialog'); overlayEl.setAttribute('aria-modal', 'true'); - overlayEl.setAttribute('aria-label', '커맨드 팔레트'); + overlayEl.setAttribute('aria-label', ui("m_51f9a31c0ae7a10b")); overlayEl.hidden = true; overlayEl.innerHTML = @@ -350,16 +351,16 @@ function ensureDom(): void { '
                    ' + '' + '' + - 'Esc' + + ui("m_76e21e04481b1910") + '
                    ' + - '
                      ' + + ui("m_dbfc08212ac85579") + '
                      ' + - '↑↓ 이동' + - 'Enter 선택' + - 'Tab 전체 검색' + - 'Esc 关闭' + + ui("m_4f255984f7f8e45a") + + ui("m_1596d8fae424d0ca") + + ui("m_115518dce9b7a39f") + + ui("m_2a9b0e7c31cc401b") + '
                      ' + '
                      '; @@ -440,7 +441,7 @@ function actionItem(a: PaletteAction): PaletteItem { function searchAllItem(q: string): PaletteItem { return { icon: 'mdi mdi-magnify', - label: '“' + esc(q) + '” 전체 검색', + label: '“' + esc(q) + ui("m_d5fe8044502d75dd"), run: () => { closePalette(); window.location.href = '/search?q=' + encodeURIComponent(q) + '&mode=content'; @@ -455,16 +456,16 @@ function buildSections(): PaletteSection[] { if (!q) { const recents = getRecentDocs(); if (recents.length) { - sections.push({ title: '최근 방문 문서', items: recents.slice(0, 7).map(docItem) }); + sections.push({ title: ui("m_463dd346080e7ab3"), items: recents.slice(0, 7).map(docItem) }); } - sections.push({ title: '빠른 액션', items: visibleActions().map(actionItem) }); + sections.push({ title: ui("m_7bb3f9811758f0e9"), items: visibleActions().map(actionItem) }); return sections; } if (q.startsWith('>')) { const term = q.slice(1).trim(); const acts = visibleActions().filter((a) => matchAction(a, term)); - sections.push({ title: '명령', items: acts.map(actionItem) }); + sections.push({ title: ui("m_1f12b8e23dfddbba"), items: acts.map(actionItem) }); return sections; } @@ -472,16 +473,16 @@ function buildSections(): PaletteSection[] { sections.push({ title: null, items: [searchAllItem(q)] }); const acts = visibleActions().filter((a) => matchAction(a, q)); - if (acts.length) sections.push({ title: '명령', items: acts.map(actionItem) }); + if (acts.length) sections.push({ title: ui("m_1f12b8e23dfddbba"), items: acts.map(actionItem) }); if (q.length >= 2) { if (loading || curSuggestions === null) { - sections.push({ title: '页面', loading: true }); + sections.push({ title: ui("m_452c7b10d57a86a7"), loading: true }); } else { const docs = curSuggestions.filter((s) => !s.slug.startsWith('카테고리:')); const cats = curSuggestions.filter((s) => s.slug.startsWith('카테고리:')); - if (docs.length) sections.push({ title: '页面', items: docs.map(docItem) }); - if (cats.length) sections.push({ title: '分类', items: cats.map(docItem) }); + if (docs.length) sections.push({ title: ui("m_452c7b10d57a86a7"), items: docs.map(docItem) }); + if (cats.length) sections.push({ title: ui("m_515559957fd3acbd"), items: cats.map(docItem) }); } } return sections; @@ -512,7 +513,7 @@ function render(): void { '">' + ' ' + + ui("m_5a30b6ad61d39bd0") + '' + item.label + '' + @@ -524,7 +525,7 @@ function render(): void { if (!hasAny && !sections.some((s) => s.loading)) { html = ''; } @@ -632,13 +633,13 @@ function togglePalette(): void { // ─────────────────────────────────────────────────────────────────────────── const SHORTCUTS: Array<{ keys: string[]; desc: string }> = [ - { keys: ['Ctrl/⌘', 'K'], desc: '커맨드 팔레트 열기' }, - { keys: ['/'], desc: '헤더 검색창 포커스' }, - { keys: ['g', 'h'], desc: '홈으로 이동' }, - { keys: ['g', 'e'], desc: '탐색 포털로 이동' }, - { keys: ['g', 'r'], desc: '随机页面' }, - { keys: ['e'], desc: '현재 编辑页面 (문서 열람 중)' }, - { keys: ['?'], desc: '이 도움말 열기' }, + { keys: ['Ctrl/⌘', 'K'], desc: ui("m_d86de434ba64df92") }, + { keys: ['/'], desc: ui("m_e1cfad4ae66a5af3") }, + { keys: ['g', 'h'], desc: ui("m_64a9bf4fc5ecfc98") }, + { keys: ['g', 'e'], desc: ui("m_0a7a8e73f4902844") }, + { keys: ['g', 'r'], desc: ui("m_cd86b10b359ba0f7") }, + { keys: ['e'], desc: ui("m_efaf8a0202b89829") }, + { keys: ['?'], desc: ui("m_33d377b6c9c76b81") }, ]; let helpEl: HTMLDivElement | null = null; @@ -653,7 +654,7 @@ function openHelpModal(): void { helpEl.className = 'cmd-help-overlay'; helpEl.setAttribute('role', 'dialog'); helpEl.setAttribute('aria-modal', 'true'); - helpEl.setAttribute('aria-label', '键盘快捷键'); + helpEl.setAttribute('aria-label', ui("m_89ce481a4b23d2a4")); helpEl.hidden = true; const rows = SHORTCUTS.map( @@ -668,8 +669,8 @@ function openHelpModal(): void { helpEl.innerHTML = '
                      ' + '
                      ' + - '键盘快捷键' + - '' + + ui("m_ee24f945b92412f6") + + ui("m_f17dc0280ef14b6d") + '
                      ' + '' + rows + diff --git a/src/client/common.ts b/src/client/common.ts index 1156c79..477fd23 100644 --- a/src/client/common.ts +++ b/src/client/common.ts @@ -18,6 +18,7 @@ * inline '; + const result = localizeShell(html, 'en', en); + assert.match(result, /lang="en"/); + assert.match(result, /title="Save">Save/); + assert.match(result, /
                      저장<\/pre>/);
                      +    assert.match(result, /data-no-i18n="">저장/);
                      +    assert.match(result, /const text="저장"/);
                      +});
                      +
                      +test('language selector has the correct accessible label', () => {
                      +    const result = localizeShell('', 'en', en);
                      +    assert.match(result, /aria-label="Interface language"/);
                      +});
                      +
                      +// Build verification is available after npm run build without coupling unit tests to generated files.
                      +if (process.env.I18N_CHECK_BUILD === '1') test('all 42 generated shells use the requested language and an existing bootstrap', async () => {
                      +    for (const locale of ['zh-CN', 'en']) {
                      +        const folder = new URL(`../public/_i18n/${locale}/`, import.meta.url);
                      +        const pages = await readdir(folder);
                      +        assert.equal(pages.filter(p => p.endsWith('.html')).length, 21);
                      +        for (const page of pages.filter(p => p.endsWith('.html'))) {
                      +            const html = await readFile(new URL(page, folder), 'utf8');
                      +            assert.match(html, new RegExp(`lang="${locale}"`));
                      +            assert.match(html, /src="\/dist\/i18n.js"/);
                      +            await access(new URL('../public/dist/i18n.js', import.meta.url));
                      +            const doc = parse(html);
                      +            function check(n, skip = false) {
                      +                skip ||= ['script', 'style', 'code', 'pre'].includes(n.tagName);
                      +                if (!skip && n.nodeName === '#text') assert.doesNotMatch(n.value, /[가-힣]/, page);
                      +                for (const c of n.childNodes ?? []) check(c, skip);
                      +            }
                      +            check(doc);
                      +        }
                      +    }
                      +});
                      diff --git a/tests/i18n.test.ts b/tests/i18n.test.ts
                      new file mode 100644
                      index 0000000..5a16e7d
                      --- /dev/null
                      +++ b/tests/i18n.test.ts
                      @@ -0,0 +1,83 @@
                      +import { test } from 'node:test';
                      +import assert from 'node:assert/strict';
                      +import { Hono } from 'hono';
                      +import sources from '../packages/wiki-shared/src/i18n/source.json';
                      +import { catalogs, normalizeLocale, translate, translateLiteral } from '../packages/wiki-shared/src/i18n/core';
                      +import { localeMiddleware, getLocale, withLocale } from '../src/i18n/server';
                      +
                      +test('every catalog key exists in both languages and preserves interpolation slots', () => {
                      +    assert.deepEqual(Object.keys(catalogs.en).sort(), Object.keys(sources).sort());
                      +    assert.deepEqual(Object.keys(catalogs['zh-CN']).sort(), Object.keys(sources).sort());
                      +    const slots = (text: string) => [...text.matchAll(/__VIREO_SLOT_\d+__/g)].map(m => m[0]).sort();
                      +    for (const [key, source] of Object.entries(sources)) {
                      +        for (const locale of ['zh-CN', 'en'] as const) {
                      +            assert.ok(catalogs[locale][key].length, `${locale}: ${key}`);
                      +            assert.deepEqual(slots(catalogs[locale][key]), slots(source), `${locale}: ${key}`);
                      +        }
                      +    }
                      +});
                      +
                      +test('literal translation leaves user text and unsupported locale input intact', () => {
                      +    assert.equal(translateLiteral('저장', 'en'), 'Save');
                      +    assert.equal(translateLiteral('저장', 'zh-CN'), '保存');
                      +    assert.equal(translateLiteral('My own page: 저장', 'en'), 'My own page: 저장');
                      +    assert.equal(normalizeLocale('en-GB'), 'en');
                      +    assert.equal(normalizeLocale('zh-Hans'), 'zh-CN');
                      +    assert.equal(normalizeLocale(''), null);
                      +});
                      +
                      +test('interpolated values never undergo recursive replacement or translation', () => {
                      +    const key = Object.keys(sources).find(k => sources[k as keyof typeof sources] === '팔레트 편집: __VIREO_SLOT_0__')!;
                      +    assert.ok(key);
                      +    const value = '저장 __VIREO_SLOT_0__ owned';
                      +    assert.ok(translate(key, 'en', [value]).endsWith(value));
                      +});
                      +
                      +test('asynchronous locale contexts remain isolated', async () => {
                      +    const results = await Promise.all([
                      +        withLocale('en', async () => { await new Promise(r => setTimeout(r, 20)); return getLocale(); }),
                      +        withLocale('zh-CN', async () => { await new Promise(r => setTimeout(r, 5)); return getLocale(); }),
                      +    ]);
                      +    assert.deepEqual(results, ['en', 'zh-CN']);
                      +    assert.equal(getLocale(), 'zh-CN');
                      +});
                      +
                      +test('language query and cookie negotiate independently and prevent shared-cache leakage', async () => {
                      +    const app = new Hono();
                      +    app.use('*', localeMiddleware as any);
                      +    app.get('/', async c => {
                      +        await new Promise(r => setTimeout(r, getLocale() === 'en' ? 10 : 1));
                      +        return c.json({ locale: getLocale() });
                      +    });
                      +    const env = { DEFAULT_LOCALE: 'zh-CN' };
                      +    const [english, chinese] = await Promise.all([
                      +        app.request('/?lang=en', {}, env),
                      +        app.request('/', { headers: { Cookie: 'vireo_locale=zh-CN' } }, env),
                      +    ]);
                      +    assert.deepEqual(await english.json(), { locale: 'en' });
                      +    assert.deepEqual(await chinese.json(), { locale: 'zh-CN' });
                      +    assert.match(english.headers.get('Set-Cookie')!, /vireo_locale=en/);
                      +    assert.equal(english.headers.get('Content-Language'), 'en');
                      +    assert.match(english.headers.get('Vary')!, /Cookie/);
                      +    assert.equal(english.headers.get('Cache-Control'), 'private, no-cache');
                      +    const cookie = await app.request('/', { headers: { Cookie: 'vireo_locale=en' } }, env);
                      +    assert.deepEqual(await cookie.json(), { locale: 'en' });
                      +});
                      +
                      +test('translated templates preserve HTML structure and behavioral attributes', async () => {
                      +    const { parseFragment } = await import('parse5');
                      +    const presentation = new Set(['title', 'alt', 'placeholder', 'aria-label', 'content']);
                      +    const shape = (node: any): any => ({
                      +        name: node.nodeName,
                      +        attrs: (node.attrs ?? []).filter((a: any) => !presentation.has(a.name)),
                      +        children: (node.childNodes ?? []).filter((n: any) => n.nodeName !== '#text').map(shape),
                      +        template: node.content ? shape(node.content) : undefined,
                      +    });
                      +    for (const [key, source] of Object.entries(sources)) {
                      +        if (!/<[a-zA-Z][\s>]/.test(source) && !/<[a-zA-Z][\w-]*[\s>]/.test(source)) continue;
                      +        const original = shape(parseFragment(source));
                      +        for (const locale of ['zh-CN', 'en'] as const) {
                      +            assert.deepEqual(shape(parseFragment(catalogs[locale][key])), original, `${locale}: ${key}`);
                      +        }
                      +    }
                      +});
                      diff --git a/tsconfig.json b/tsconfig.json
                      index 46742fd..863ae09 100644
                      --- a/tsconfig.json
                      +++ b/tsconfig.json
                      @@ -7,7 +7,8 @@
                                   "ES2024"
                               ],
                               "types": [
                      -            "@cloudflare/workers-types"
                      +            "@cloudflare/workers-types",
                      +            "node"
                               ],
                               "strict": true,
                               "esModuleInterop": true,
                      @@ -27,4 +28,4 @@
                               "node_modules",
                               "src/client/**/*"
                           ]
                      -}
                      \ No newline at end of file
                      +}
                      diff --git a/vite.config.ts b/vite.config.ts
                      index 0b8c593..9863e35 100644
                      --- a/vite.config.ts
                      +++ b/vite.config.ts
                      @@ -32,6 +32,7 @@ export default defineConfig({
                               sourcemap: false,
                               rollupOptions: {
                                   input: {
                      +                'i18n': resolve(__dirname, 'src/client/i18n.ts'),
                                       '404': resolve(__dirname, 'src/client/404.ts'),
                                       'login': resolve(__dirname, 'src/client/pages/login.ts'),
                                       'qr-login-approve': resolve(__dirname, 'src/client/pages/qr-login-approve.ts'),
                      diff --git a/wrangler example.toml b/wrangler example.toml
                      index 87c7983..3fa3280 100644
                      --- a/wrangler example.toml	
                      +++ b/wrangler example.toml	
                      @@ -78,6 +78,7 @@ enabled = true
                       head_sampling_rate = 1.0
                       
                       [vars]
                      +DEFAULT_LOCALE = "zh-CN"
                       WIKI_HOME_PAGE = "" #위키 홈페이지로 쓸 문서 제목
                       # === RAG(AI Search) 보조 검색 플러그인 ===
                       # "true" 면 활성화: 문서 변경 시 본문을 RAG_BUCKET 에 미러링하고, /search 의 RAG 체크박스와
                      diff --git a/wrangler.production.toml b/wrangler.production.toml
                      index 7ac2116..27e1a36 100644
                      --- a/wrangler.production.toml
                      +++ b/wrangler.production.toml
                      @@ -19,6 +19,7 @@ enabled = true
                       head_sampling_rate = 1.0
                       
                       [vars]
                      +DEFAULT_LOCALE = "zh-CN"
                       WIKI_HOME_PAGE = ""
                       RAG_SEARCH_ENABLED = "false"
                       RAG_AUTORAG_NAME = ""