ai-i18n-tools 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +157 -0
- package/dist/api/openrouter.d.ts +115 -0
- package/dist/api/openrouter.d.ts.map +1 -0
- package/dist/api/openrouter.js +399 -0
- package/dist/api/openrouter.js.map +1 -0
- package/dist/cli/doc-translate.d.ts +90 -0
- package/dist/cli/doc-translate.d.ts.map +1 -0
- package/dist/cli/doc-translate.js +1153 -0
- package/dist/cli/doc-translate.js.map +1 -0
- package/dist/cli/export-ui-xliff.d.ts +32 -0
- package/dist/cli/export-ui-xliff.d.ts.map +1 -0
- package/dist/cli/export-ui-xliff.js +153 -0
- package/dist/cli/export-ui-xliff.js.map +1 -0
- package/dist/cli/extract-strings.d.ts +12 -0
- package/dist/cli/extract-strings.d.ts.map +1 -0
- package/dist/cli/extract-strings.js +80 -0
- package/dist/cli/extract-strings.js.map +1 -0
- package/dist/cli/file-utils.d.ts +10 -0
- package/dist/cli/file-utils.d.ts.map +1 -0
- package/dist/cli/file-utils.js +77 -0
- package/dist/cli/file-utils.js.map +1 -0
- package/dist/cli/format.d.ts +21 -0
- package/dist/cli/format.d.ts.map +1 -0
- package/dist/cli/format.js +75 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/cli/helpers.d.ts +27 -0
- package/dist/cli/helpers.d.ts.map +1 -0
- package/dist/cli/helpers.js +84 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +772 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/log-output.d.ts +13 -0
- package/dist/cli/log-output.d.ts.map +1 -0
- package/dist/cli/log-output.js +75 -0
- package/dist/cli/log-output.js.map +1 -0
- package/dist/cli/translate-svg.d.ts +7 -0
- package/dist/cli/translate-svg.d.ts.map +1 -0
- package/dist/cli/translate-svg.js +167 -0
- package/dist/cli/translate-svg.js.map +1 -0
- package/dist/cli/translate-ui-strings.d.ts +27 -0
- package/dist/cli/translate-ui-strings.d.ts.map +1 -0
- package/dist/cli/translate-ui-strings.js +357 -0
- package/dist/cli/translate-ui-strings.js.map +1 -0
- package/dist/core/cache-tracking-keys.d.ts +12 -0
- package/dist/core/cache-tracking-keys.d.ts.map +1 -0
- package/dist/core/cache-tracking-keys.js +20 -0
- package/dist/core/cache-tracking-keys.js.map +1 -0
- package/dist/core/cache.d.ts +153 -0
- package/dist/core/cache.d.ts.map +1 -0
- package/dist/core/cache.js +546 -0
- package/dist/core/cache.js.map +1 -0
- package/dist/core/config.d.ts +58 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +392 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/doc-file-tracking.d.ts +8 -0
- package/dist/core/doc-file-tracking.d.ts.map +1 -0
- package/dist/core/doc-file-tracking.js +27 -0
- package/dist/core/doc-file-tracking.js.map +1 -0
- package/dist/core/errors.d.ts +19 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +23 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/locale-utils.d.ts +20 -0
- package/dist/core/locale-utils.d.ts.map +1 -0
- package/dist/core/locale-utils.js +75 -0
- package/dist/core/locale-utils.js.map +1 -0
- package/dist/core/output-paths.d.ts +22 -0
- package/dist/core/output-paths.d.ts.map +1 -0
- package/dist/core/output-paths.js +130 -0
- package/dist/core/output-paths.js.map +1 -0
- package/dist/core/prompt-builder.d.ts +62 -0
- package/dist/core/prompt-builder.d.ts.map +1 -0
- package/dist/core/prompt-builder.js +232 -0
- package/dist/core/prompt-builder.js.map +1 -0
- package/dist/core/prompts.d.ts +27 -0
- package/dist/core/prompts.d.ts.map +1 -0
- package/dist/core/prompts.js +57 -0
- package/dist/core/prompts.js.map +1 -0
- package/dist/core/svg-asset-paths.d.ts +40 -0
- package/dist/core/svg-asset-paths.d.ts.map +1 -0
- package/dist/core/svg-asset-paths.js +107 -0
- package/dist/core/svg-asset-paths.js.map +1 -0
- package/dist/core/types.d.ts +388 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +265 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/ui-languages.d.ts +66 -0
- package/dist/core/ui-languages.d.ts.map +1 -0
- package/dist/core/ui-languages.js +277 -0
- package/dist/core/ui-languages.js.map +1 -0
- package/dist/core/user-edited-model.d.ts +3 -0
- package/dist/core/user-edited-model.d.ts.map +1 -0
- package/dist/core/user-edited-model.js +3 -0
- package/dist/core/user-edited-model.js.map +1 -0
- package/dist/edit-cache-app/app.js +1326 -0
- package/dist/edit-cache-app/index.html +287 -0
- package/dist/edit-cache-app/styles.css +664 -0
- package/dist/extractors/base-extractor.d.ts +15 -0
- package/dist/extractors/base-extractor.d.ts.map +1 -0
- package/dist/extractors/base-extractor.js +23 -0
- package/dist/extractors/base-extractor.js.map +1 -0
- package/dist/extractors/classify-segment.d.ts +6 -0
- package/dist/extractors/classify-segment.d.ts.map +1 -0
- package/dist/extractors/classify-segment.js +20 -0
- package/dist/extractors/classify-segment.js.map +1 -0
- package/dist/extractors/json-extractor.d.ts +16 -0
- package/dist/extractors/json-extractor.d.ts.map +1 -0
- package/dist/extractors/json-extractor.js +128 -0
- package/dist/extractors/json-extractor.js.map +1 -0
- package/dist/extractors/markdown-extractor.d.ts +15 -0
- package/dist/extractors/markdown-extractor.d.ts.map +1 -0
- package/dist/extractors/markdown-extractor.js +205 -0
- package/dist/extractors/markdown-extractor.js.map +1 -0
- package/dist/extractors/svg-extractor.d.ts +19 -0
- package/dist/extractors/svg-extractor.d.ts.map +1 -0
- package/dist/extractors/svg-extractor.js +132 -0
- package/dist/extractors/svg-extractor.js.map +1 -0
- package/dist/extractors/ui-string-extractor.d.ts +40 -0
- package/dist/extractors/ui-string-extractor.d.ts.map +1 -0
- package/dist/extractors/ui-string-extractor.js +146 -0
- package/dist/extractors/ui-string-extractor.js.map +1 -0
- package/dist/extractors/ui-string-locations.d.ts +23 -0
- package/dist/extractors/ui-string-locations.d.ts.map +1 -0
- package/dist/extractors/ui-string-locations.js +138 -0
- package/dist/extractors/ui-string-locations.js.map +1 -0
- package/dist/glossary/glossary.d.ts +34 -0
- package/dist/glossary/glossary.d.ts.map +1 -0
- package/dist/glossary/glossary.js +260 -0
- package/dist/glossary/glossary.js.map +1 -0
- package/dist/glossary/matcher.d.ts +10 -0
- package/dist/glossary/matcher.d.ts.map +1 -0
- package/dist/glossary/matcher.js +12 -0
- package/dist/glossary/matcher.js.map +1 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/processors/admonition-placeholders.d.ts +8 -0
- package/dist/processors/admonition-placeholders.d.ts.map +1 -0
- package/dist/processors/admonition-placeholders.js +59 -0
- package/dist/processors/admonition-placeholders.js.map +1 -0
- package/dist/processors/anchor-placeholders.d.ts +8 -0
- package/dist/processors/anchor-placeholders.d.ts.map +1 -0
- package/dist/processors/anchor-placeholders.js +37 -0
- package/dist/processors/anchor-placeholders.js.map +1 -0
- package/dist/processors/batch-processor.d.ts +10 -0
- package/dist/processors/batch-processor.d.ts.map +1 -0
- package/dist/processors/batch-processor.js +33 -0
- package/dist/processors/batch-processor.js.map +1 -0
- package/dist/processors/bold-code-placeholders.d.ts +14 -0
- package/dist/processors/bold-code-placeholders.d.ts.map +1 -0
- package/dist/processors/bold-code-placeholders.js +116 -0
- package/dist/processors/bold-code-placeholders.js.map +1 -0
- package/dist/processors/doc-postprocess.d.ts +51 -0
- package/dist/processors/doc-postprocess.d.ts.map +1 -0
- package/dist/processors/doc-postprocess.js +215 -0
- package/dist/processors/doc-postprocess.js.map +1 -0
- package/dist/processors/emphasis-placeholders.d.ts +6 -0
- package/dist/processors/emphasis-placeholders.d.ts.map +1 -0
- package/dist/processors/emphasis-placeholders.js +262 -0
- package/dist/processors/emphasis-placeholders.js.map +1 -0
- package/dist/processors/flat-link-rewrite.d.ts +32 -0
- package/dist/processors/flat-link-rewrite.d.ts.map +1 -0
- package/dist/processors/flat-link-rewrite.js +90 -0
- package/dist/processors/flat-link-rewrite.js.map +1 -0
- package/dist/processors/glossary-force-placeholders.d.ts +12 -0
- package/dist/processors/glossary-force-placeholders.d.ts.map +1 -0
- package/dist/processors/glossary-force-placeholders.js +58 -0
- package/dist/processors/glossary-force-placeholders.js.map +1 -0
- package/dist/processors/inline-code-placeholders.d.ts +11 -0
- package/dist/processors/inline-code-placeholders.d.ts.map +1 -0
- package/dist/processors/inline-code-placeholders.js +87 -0
- package/dist/processors/inline-code-placeholders.js.map +1 -0
- package/dist/processors/placeholder-handler.d.ts +38 -0
- package/dist/processors/placeholder-handler.d.ts.map +1 -0
- package/dist/processors/placeholder-handler.js +55 -0
- package/dist/processors/placeholder-handler.js.map +1 -0
- package/dist/processors/translation-placeholder-leaks.d.ts +2 -0
- package/dist/processors/translation-placeholder-leaks.d.ts.map +1 -0
- package/dist/processors/translation-placeholder-leaks.js +9 -0
- package/dist/processors/translation-placeholder-leaks.js.map +1 -0
- package/dist/processors/url-placeholders.d.ts +10 -0
- package/dist/processors/url-placeholders.d.ts.map +1 -0
- package/dist/processors/url-placeholders.js +29 -0
- package/dist/processors/url-placeholders.js.map +1 -0
- package/dist/processors/validator.d.ts +23 -0
- package/dist/processors/validator.d.ts.map +1 -0
- package/dist/processors/validator.js +186 -0
- package/dist/processors/validator.js.map +1 -0
- package/dist/runtime/i18next-helpers.d.ts +146 -0
- package/dist/runtime/i18next-helpers.d.ts.map +1 -0
- package/dist/runtime/i18next-helpers.js +192 -0
- package/dist/runtime/i18next-helpers.js.map +1 -0
- package/dist/runtime/index.d.ts +4 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/template.d.ts +21 -0
- package/dist/runtime/template.d.ts.map +1 -0
- package/dist/runtime/template.js +28 -0
- package/dist/runtime/template.js.map +1 -0
- package/dist/runtime/ui-language-display.d.ts +16 -0
- package/dist/runtime/ui-language-display.d.ts.map +1 -0
- package/dist/runtime/ui-language-display.js +26 -0
- package/dist/runtime/ui-language-display.js.map +1 -0
- package/dist/server/translation-editor.d.ts +25 -0
- package/dist/server/translation-editor.d.ts.map +1 -0
- package/dist/server/translation-editor.js +583 -0
- package/dist/server/translation-editor.js.map +1 -0
- package/dist/utils/concurrency.d.ts +31 -0
- package/dist/utils/concurrency.d.ts.map +1 -0
- package/dist/utils/concurrency.js +103 -0
- package/dist/utils/concurrency.js.map +1 -0
- package/dist/utils/hash.d.ts +5 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +9 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/ignore-parser.d.ts +7 -0
- package/dist/utils/ignore-parser.d.ts.map +1 -0
- package/dist/utils/ignore-parser.js +26 -0
- package/dist/utils/ignore-parser.js.map +1 -0
- package/dist/utils/logger.d.ts +45 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +158 -0
- package/dist/utils/logger.js.map +1 -0
- package/docs/GETTING_STARTED.md +697 -0
- package/docs/PACKAGE_OVERVIEW.md +427 -0
- package/docs/ai-i18n-tools-context.md +481 -0
- package/package.json +117 -0
- package/translated-docs/README.de.md +157 -0
- package/translated-docs/README.es.md +157 -0
- package/translated-docs/README.fr.md +157 -0
- package/translated-docs/README.hi.md +157 -0
- package/translated-docs/README.ja.md +157 -0
- package/translated-docs/README.ko.md +157 -0
- package/translated-docs/README.pt-BR.md +157 -0
- package/translated-docs/README.zh-CN.md +157 -0
- package/translated-docs/README.zh-TW.md +157 -0
- package/translated-docs/docs/GETTING_STARTED.de.md +682 -0
- package/translated-docs/docs/GETTING_STARTED.es.md +682 -0
- package/translated-docs/docs/GETTING_STARTED.fr.md +682 -0
- package/translated-docs/docs/GETTING_STARTED.hi.md +682 -0
- package/translated-docs/docs/GETTING_STARTED.ja.md +682 -0
- package/translated-docs/docs/GETTING_STARTED.ko.md +682 -0
- package/translated-docs/docs/GETTING_STARTED.pt-BR.md +682 -0
- package/translated-docs/docs/GETTING_STARTED.zh-CN.md +682 -0
- package/translated-docs/docs/GETTING_STARTED.zh-TW.md +682 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.de.md +428 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.es.md +428 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.fr.md +428 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.hi.md +428 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.ja.md +428 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.ko.md +428 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.pt-BR.md +428 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.zh-CN.md +428 -0
- package/translated-docs/docs/PACKAGE_OVERVIEW.zh-TW.md +428 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { toPosix } from "./output-paths.js";
|
|
3
|
+
function assertSvgOutputWithinRoot(absFile, rootDir) {
|
|
4
|
+
const abs = path.resolve(absFile);
|
|
5
|
+
const root = path.resolve(rootDir);
|
|
6
|
+
const rel = path.relative(root, abs);
|
|
7
|
+
if (rel.startsWith("..") || path.isAbsolute(rel)) {
|
|
8
|
+
throw new Error(`Resolved SVG output path escapes svg.outputDir: ${absFile} (root: ${root})`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Expand `{outputDir}`, `{locale}`, `{LOCALE}`, `{relPath}`, `{stem}`, `{basename}`, `{extension}`,
|
|
13
|
+
* `{relativeToSourceRoot}` (same as path under `svg.sourcePath`).
|
|
14
|
+
*/
|
|
15
|
+
export function expandSvgPathTemplate(template, ctx) {
|
|
16
|
+
const posixRel = toPosix(ctx.relPath);
|
|
17
|
+
const parsed = path.posix.parse(posixRel);
|
|
18
|
+
const stem = parsed.name;
|
|
19
|
+
const extension = parsed.ext;
|
|
20
|
+
const basename = parsed.base;
|
|
21
|
+
const relSrc = toPosix(ctx.relativeToSourceRoot);
|
|
22
|
+
let out = template;
|
|
23
|
+
const pairs = [
|
|
24
|
+
["{outputDir}", ctx.outputDir],
|
|
25
|
+
["{locale}", ctx.locale],
|
|
26
|
+
["{LOCALE}", ctx.locale.toUpperCase()],
|
|
27
|
+
["{relPath}", posixRel],
|
|
28
|
+
["{stem}", stem],
|
|
29
|
+
["{basename}", basename],
|
|
30
|
+
["{extension}", extension],
|
|
31
|
+
["{relativeToSourceRoot}", relSrc],
|
|
32
|
+
];
|
|
33
|
+
for (const [key, val] of pairs) {
|
|
34
|
+
out = out.split(key).join(val);
|
|
35
|
+
}
|
|
36
|
+
return out;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Absolute path for a translated SVG asset (`translate-svg` command).
|
|
40
|
+
*
|
|
41
|
+
* - With `svg.pathTemplate`: expanded path (relative to cwd or absolute), constrained under `svg.outputDir`.
|
|
42
|
+
* - Else `flat`: `{outputDir}/{stem}.{locale}.svg`
|
|
43
|
+
* - Else `nested`: `{outputDir}/{locale}/{relPathFromSourceRoot}`
|
|
44
|
+
*/
|
|
45
|
+
export function resolveSvgAssetOutputPath(config, cwd, locale,
|
|
46
|
+
/** Path relative to cwd (posix), e.g. `images/foo.svg` */
|
|
47
|
+
relPathFromCwd,
|
|
48
|
+
/** Path relative to the `sourcePath` root that contained this file (posix), e.g. `foo.svg` or `icons/a.svg` */
|
|
49
|
+
relPathFromSourceRoot) {
|
|
50
|
+
const svg = config.svg;
|
|
51
|
+
if (!svg) {
|
|
52
|
+
throw new Error("resolveSvgAssetOutputPath: config.svg is required");
|
|
53
|
+
}
|
|
54
|
+
const outRoot = path.resolve(cwd, svg.outputDir);
|
|
55
|
+
const posixRel = toPosix(relPathFromCwd);
|
|
56
|
+
const parsed = path.posix.parse(posixRel);
|
|
57
|
+
const stem = parsed.name;
|
|
58
|
+
const tmpl = svg.pathTemplate?.trim();
|
|
59
|
+
let abs;
|
|
60
|
+
if (tmpl && tmpl.length > 0) {
|
|
61
|
+
const expanded = expandSvgPathTemplate(tmpl, {
|
|
62
|
+
outputDir: outRoot,
|
|
63
|
+
locale,
|
|
64
|
+
relPath: relPathFromCwd,
|
|
65
|
+
relativeToSourceRoot: relPathFromSourceRoot,
|
|
66
|
+
});
|
|
67
|
+
abs = path.isAbsolute(expanded) ? path.normalize(expanded) : path.resolve(cwd, expanded);
|
|
68
|
+
}
|
|
69
|
+
else if (svg.style === "flat") {
|
|
70
|
+
abs = path.join(outRoot, `${stem}.${locale}.svg`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
abs = path.join(outRoot, locale, relPathFromSourceRoot);
|
|
74
|
+
}
|
|
75
|
+
assertSvgOutputWithinRoot(abs, outRoot);
|
|
76
|
+
return abs;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Namespaced key for `file_tracking` (and file-level cache skip) for standalone SVG assets.
|
|
80
|
+
* Do not use for `translations.filepath` — use {@link svgTranslationFilepathMetadata} instead.
|
|
81
|
+
*/
|
|
82
|
+
export function svgAssetCacheFilepath(relPathFromCwdPosix) {
|
|
83
|
+
return `svg-assets:${toPosix(relPathFromCwdPosix)}`;
|
|
84
|
+
}
|
|
85
|
+
/** Cwd-relative posix path for `translations.filepath` metadata (no `svg-assets:` prefix). */
|
|
86
|
+
export function svgTranslationFilepathMetadata(relPathFromCwd) {
|
|
87
|
+
return toPosix(relPathFromCwd.replace(/\\/g, "/"));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Path under a configured `svg.sourcePath` root (posix), for nested output layout.
|
|
91
|
+
* Returns `null` if `fileRelCwd` is not under any root.
|
|
92
|
+
*/
|
|
93
|
+
export function relPathUnderSvgSource(fileRelCwd, sourceRoots) {
|
|
94
|
+
const posix = toPosix(fileRelCwd.replace(/\\/g, "/"));
|
|
95
|
+
const sorted = [...sourceRoots].sort((a, b) => b.length - a.length);
|
|
96
|
+
for (const root of sorted) {
|
|
97
|
+
const r = toPosix(root.replace(/\\/g, "/")).replace(/\/$/, "");
|
|
98
|
+
if (posix === r) {
|
|
99
|
+
return path.posix.basename(posix);
|
|
100
|
+
}
|
|
101
|
+
if (posix.startsWith(`${r}/`)) {
|
|
102
|
+
return posix.slice(r.length + 1);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=svg-asset-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svg-asset-paths.js","sourceRoot":"","sources":["../../src/core/svg-asset-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Markdown / JSON / UI / SVG segment classification. */
|
|
3
|
+
export type SegmentType = "ui-string" | "frontmatter" | "heading" | "paragraph" | "code" | "admonition" | "json" | "svg-text" | "other";
|
|
4
|
+
/** SVG reassembly metadata (regex-extracted elements). */
|
|
5
|
+
export interface SvgSegmentMeta {
|
|
6
|
+
element: "text" | "title" | "desc";
|
|
7
|
+
fullMatch: string;
|
|
8
|
+
openingTag: string;
|
|
9
|
+
}
|
|
10
|
+
export interface Segment {
|
|
11
|
+
id: string;
|
|
12
|
+
type: SegmentType;
|
|
13
|
+
content: string;
|
|
14
|
+
hash: string;
|
|
15
|
+
translatable: boolean;
|
|
16
|
+
startLine?: number;
|
|
17
|
+
jsonKey?: string;
|
|
18
|
+
jsonDescription?: string;
|
|
19
|
+
svg?: SvgSegmentMeta;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Per-segment translation with optional model metadata. `modelUsed` is set when the text was produced by the API this run
|
|
23
|
+
* (the model that actually succeeded). Omitted for cache hits so callers do not overwrite a stored model.
|
|
24
|
+
* Plain `string` remains supported for tests and simple pipelines.
|
|
25
|
+
*/
|
|
26
|
+
export type DocSegmentTranslation = {
|
|
27
|
+
text: string;
|
|
28
|
+
modelUsed?: string;
|
|
29
|
+
};
|
|
30
|
+
/** Values accepted by {@link ContentExtractor.reassemble}. */
|
|
31
|
+
export type SegmentTranslationMapValue = string | DocSegmentTranslation;
|
|
32
|
+
export declare function segmentTranslationText(v: SegmentTranslationMapValue | undefined): string | undefined;
|
|
33
|
+
/** Coerce a map to plain `Map<string, string>` (e.g. legacy callers or JSON serialization). */
|
|
34
|
+
export declare function translationTextMap(m: Map<string, SegmentTranslationMapValue>): Map<string, string>;
|
|
35
|
+
export interface TranslationResult {
|
|
36
|
+
content: string;
|
|
37
|
+
model: string;
|
|
38
|
+
usage: {
|
|
39
|
+
inputTokens: number;
|
|
40
|
+
outputTokens: number;
|
|
41
|
+
totalTokens: number;
|
|
42
|
+
};
|
|
43
|
+
cost?: number;
|
|
44
|
+
/** When the API succeeded; used for translation failure debug logs. */
|
|
45
|
+
debugPrompt?: {
|
|
46
|
+
systemPrompt: string;
|
|
47
|
+
userContent: string;
|
|
48
|
+
};
|
|
49
|
+
/** Raw assistant text before `<translate>` stripping (single-segment). */
|
|
50
|
+
rawAssistantContent?: string;
|
|
51
|
+
}
|
|
52
|
+
/** Row shape for file_tracking and status queries. */
|
|
53
|
+
export interface FileTracking {
|
|
54
|
+
filepath: string;
|
|
55
|
+
locale: string;
|
|
56
|
+
sourceHash: string;
|
|
57
|
+
lastTranslated: string | null;
|
|
58
|
+
}
|
|
59
|
+
/** Arguments for {@link import("./cache.js").TranslationCache.setSegment}. */
|
|
60
|
+
export interface CacheEntry {
|
|
61
|
+
sourceHash: string;
|
|
62
|
+
locale: string;
|
|
63
|
+
sourceText: string;
|
|
64
|
+
translatedText: string;
|
|
65
|
+
model: string;
|
|
66
|
+
filepath?: string;
|
|
67
|
+
startLine?: number | null;
|
|
68
|
+
}
|
|
69
|
+
export interface TranslationRow {
|
|
70
|
+
source_hash: string;
|
|
71
|
+
locale: string;
|
|
72
|
+
source_text: string;
|
|
73
|
+
translated_text: string;
|
|
74
|
+
model: string | null;
|
|
75
|
+
filepath: string | null;
|
|
76
|
+
created_at: string | null;
|
|
77
|
+
last_hit_at: string | null;
|
|
78
|
+
start_line: number | null;
|
|
79
|
+
}
|
|
80
|
+
export interface CleanupStats {
|
|
81
|
+
staleTranslationsRemoved: number;
|
|
82
|
+
deletedRows: Array<{
|
|
83
|
+
source_hash: string;
|
|
84
|
+
locale: string;
|
|
85
|
+
filepath: string | null;
|
|
86
|
+
}>;
|
|
87
|
+
}
|
|
88
|
+
export interface ContentExtractor {
|
|
89
|
+
readonly name: string;
|
|
90
|
+
canHandle(filepath: string): boolean;
|
|
91
|
+
extract(content: string, filepath: string): Segment[];
|
|
92
|
+
reassemble(segments: Segment[], translations: Map<string, SegmentTranslationMapValue>): string;
|
|
93
|
+
}
|
|
94
|
+
export interface GlossaryTerm {
|
|
95
|
+
english: string;
|
|
96
|
+
translations: Record<string, string>;
|
|
97
|
+
partOfSpeech: string;
|
|
98
|
+
/** From user glossary CSV `force` column (per locale after * / exact merge). */
|
|
99
|
+
forcedByLocale?: Record<string, boolean>;
|
|
100
|
+
}
|
|
101
|
+
/** Result from batch translation (index → translated text). */
|
|
102
|
+
export interface BatchTranslationResult {
|
|
103
|
+
translations: Map<number, string>;
|
|
104
|
+
model: string;
|
|
105
|
+
usage: {
|
|
106
|
+
inputTokens: number;
|
|
107
|
+
outputTokens: number;
|
|
108
|
+
totalTokens: number;
|
|
109
|
+
};
|
|
110
|
+
cost?: number;
|
|
111
|
+
/** When the API succeeded; used for translation failure debug logs. */
|
|
112
|
+
debugPrompt?: {
|
|
113
|
+
systemPrompt: string;
|
|
114
|
+
userContent: string;
|
|
115
|
+
};
|
|
116
|
+
rawAssistantContent?: string;
|
|
117
|
+
}
|
|
118
|
+
export declare class BatchTranslationError extends Error {
|
|
119
|
+
readonly expected: number;
|
|
120
|
+
readonly received: number;
|
|
121
|
+
readonly rawResponse: string;
|
|
122
|
+
constructor(expected: number, received: number, rawResponse: string);
|
|
123
|
+
}
|
|
124
|
+
export interface ChatMessage {
|
|
125
|
+
role: "system" | "user" | "assistant";
|
|
126
|
+
content: string;
|
|
127
|
+
}
|
|
128
|
+
export interface ChatResponse {
|
|
129
|
+
content: string;
|
|
130
|
+
model: string;
|
|
131
|
+
usage: {
|
|
132
|
+
inputTokens: number;
|
|
133
|
+
outputTokens: number;
|
|
134
|
+
totalTokens: number;
|
|
135
|
+
};
|
|
136
|
+
cost?: number;
|
|
137
|
+
}
|
|
138
|
+
declare const openRouterConfigSchema: z.ZodObject<{
|
|
139
|
+
baseUrl: z.ZodDefault<z.ZodString>;
|
|
140
|
+
translationModels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
141
|
+
defaultModel: z.ZodOptional<z.ZodString>;
|
|
142
|
+
fallbackModel: z.ZodOptional<z.ZodString>;
|
|
143
|
+
maxTokens: z.ZodDefault<z.ZodNumber>;
|
|
144
|
+
temperature: z.ZodDefault<z.ZodNumber>;
|
|
145
|
+
}, z.core.$strip>;
|
|
146
|
+
declare const featuresSchema: z.ZodObject<{
|
|
147
|
+
extractUIStrings: z.ZodDefault<z.ZodBoolean>;
|
|
148
|
+
translateUIStrings: z.ZodDefault<z.ZodBoolean>;
|
|
149
|
+
translateMarkdown: z.ZodDefault<z.ZodBoolean>;
|
|
150
|
+
translateJSON: z.ZodDefault<z.ZodBoolean>;
|
|
151
|
+
translateSVG: z.ZodDefault<z.ZodBoolean>;
|
|
152
|
+
}, z.core.$strip>;
|
|
153
|
+
declare const glossarySchema: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
154
|
+
uiGlossary: z.ZodOptional<z.ZodString>;
|
|
155
|
+
userGlossary: z.ZodOptional<z.ZodString>;
|
|
156
|
+
autoAddUserEditedToGlossary: z.ZodDefault<z.ZodBoolean>;
|
|
157
|
+
}, z.core.$strict>>;
|
|
158
|
+
declare const reactExtractorSchema: z.ZodObject<{
|
|
159
|
+
extensions: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
160
|
+
funcNames: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
161
|
+
includePackageDescription: z.ZodDefault<z.ZodBoolean>;
|
|
162
|
+
packageJsonPath: z.ZodOptional<z.ZodString>;
|
|
163
|
+
}, z.core.$strict>;
|
|
164
|
+
declare const svgExtractorSchema: z.ZodObject<{
|
|
165
|
+
forceLowercase: z.ZodDefault<z.ZodBoolean>;
|
|
166
|
+
}, z.core.$strict>;
|
|
167
|
+
declare const languageListBlockSchema: z.ZodObject<{
|
|
168
|
+
start: z.ZodString;
|
|
169
|
+
end: z.ZodString;
|
|
170
|
+
separator: z.ZodString;
|
|
171
|
+
}, z.core.$strict>;
|
|
172
|
+
declare const regexAdjustmentSchema: z.ZodObject<{
|
|
173
|
+
description: z.ZodOptional<z.ZodString>;
|
|
174
|
+
search: z.ZodString;
|
|
175
|
+
replace: z.ZodString;
|
|
176
|
+
}, z.core.$strict>;
|
|
177
|
+
declare const markdownPostProcessingSchema: z.ZodObject<{
|
|
178
|
+
languageListBlock: z.ZodOptional<z.ZodObject<{
|
|
179
|
+
start: z.ZodString;
|
|
180
|
+
end: z.ZodString;
|
|
181
|
+
separator: z.ZodString;
|
|
182
|
+
}, z.core.$strict>>;
|
|
183
|
+
regexAdjustments: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
184
|
+
description: z.ZodOptional<z.ZodString>;
|
|
185
|
+
search: z.ZodString;
|
|
186
|
+
replace: z.ZodString;
|
|
187
|
+
}, z.core.$strict>>>;
|
|
188
|
+
}, z.core.$strict>;
|
|
189
|
+
declare const markdownOutputSchema: z.ZodObject<{
|
|
190
|
+
style: z.ZodDefault<z.ZodEnum<{
|
|
191
|
+
flat: "flat";
|
|
192
|
+
nested: "nested";
|
|
193
|
+
docusaurus: "docusaurus";
|
|
194
|
+
}>>;
|
|
195
|
+
docsRoot: z.ZodOptional<z.ZodString>;
|
|
196
|
+
pathTemplate: z.ZodOptional<z.ZodString>;
|
|
197
|
+
jsonPathTemplate: z.ZodOptional<z.ZodString>;
|
|
198
|
+
flatPreserveRelativeDir: z.ZodDefault<z.ZodBoolean>;
|
|
199
|
+
rewriteRelativeLinks: z.ZodOptional<z.ZodBoolean>;
|
|
200
|
+
linkRewriteDocsRoot: z.ZodOptional<z.ZodString>;
|
|
201
|
+
postProcessing: z.ZodOptional<z.ZodObject<{
|
|
202
|
+
languageListBlock: z.ZodOptional<z.ZodObject<{
|
|
203
|
+
start: z.ZodString;
|
|
204
|
+
end: z.ZodString;
|
|
205
|
+
separator: z.ZodString;
|
|
206
|
+
}, z.core.$strict>>;
|
|
207
|
+
regexAdjustments: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
208
|
+
description: z.ZodOptional<z.ZodString>;
|
|
209
|
+
search: z.ZodString;
|
|
210
|
+
replace: z.ZodString;
|
|
211
|
+
}, z.core.$strict>>>;
|
|
212
|
+
}, z.core.$strict>>;
|
|
213
|
+
}, z.core.$strict>;
|
|
214
|
+
declare const uiConfigSchema: z.ZodObject<{
|
|
215
|
+
sourceRoots: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
216
|
+
stringsJson: z.ZodDefault<z.ZodString>;
|
|
217
|
+
flatOutputDir: z.ZodDefault<z.ZodString>;
|
|
218
|
+
preferredModel: z.ZodOptional<z.ZodString>;
|
|
219
|
+
reactExtractor: z.ZodOptional<z.ZodObject<{
|
|
220
|
+
extensions: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
221
|
+
funcNames: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
222
|
+
includePackageDescription: z.ZodDefault<z.ZodBoolean>;
|
|
223
|
+
packageJsonPath: z.ZodOptional<z.ZodString>;
|
|
224
|
+
}, z.core.$strict>>;
|
|
225
|
+
}, z.core.$strict>;
|
|
226
|
+
declare const svgAssetsConfigSchema: z.ZodObject<{
|
|
227
|
+
sourcePath: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodArray<z.ZodString>>;
|
|
228
|
+
outputDir: z.ZodString;
|
|
229
|
+
pathTemplate: z.ZodOptional<z.ZodString>;
|
|
230
|
+
style: z.ZodEnum<{
|
|
231
|
+
flat: "flat";
|
|
232
|
+
nested: "nested";
|
|
233
|
+
}>;
|
|
234
|
+
svgExtractor: z.ZodOptional<z.ZodObject<{
|
|
235
|
+
forceLowercase: z.ZodDefault<z.ZodBoolean>;
|
|
236
|
+
}, z.core.$strict>>;
|
|
237
|
+
}, z.core.$strict>;
|
|
238
|
+
/** One documentation pipeline (markdown/JSON layout under `outputDir`, optional Docusaurus `jsonSource`). */
|
|
239
|
+
declare const documentationBlockSchema: z.ZodObject<{
|
|
240
|
+
description: z.ZodOptional<z.ZodString>;
|
|
241
|
+
contentPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
242
|
+
sourceFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
243
|
+
targetLocales: z.ZodOptional<z.ZodPipe<z.ZodTransform<string[] | undefined, unknown>, z.ZodOptional<z.ZodArray<z.ZodString>>>>;
|
|
244
|
+
outputDir: z.ZodDefault<z.ZodString>;
|
|
245
|
+
jsonSource: z.ZodOptional<z.ZodString>;
|
|
246
|
+
markdownOutput: z.ZodDefault<z.ZodObject<{
|
|
247
|
+
style: z.ZodDefault<z.ZodEnum<{
|
|
248
|
+
flat: "flat";
|
|
249
|
+
nested: "nested";
|
|
250
|
+
docusaurus: "docusaurus";
|
|
251
|
+
}>>;
|
|
252
|
+
docsRoot: z.ZodOptional<z.ZodString>;
|
|
253
|
+
pathTemplate: z.ZodOptional<z.ZodString>;
|
|
254
|
+
jsonPathTemplate: z.ZodOptional<z.ZodString>;
|
|
255
|
+
flatPreserveRelativeDir: z.ZodDefault<z.ZodBoolean>;
|
|
256
|
+
rewriteRelativeLinks: z.ZodOptional<z.ZodBoolean>;
|
|
257
|
+
linkRewriteDocsRoot: z.ZodOptional<z.ZodString>;
|
|
258
|
+
postProcessing: z.ZodOptional<z.ZodObject<{
|
|
259
|
+
languageListBlock: z.ZodOptional<z.ZodObject<{
|
|
260
|
+
start: z.ZodString;
|
|
261
|
+
end: z.ZodString;
|
|
262
|
+
separator: z.ZodString;
|
|
263
|
+
}, z.core.$strict>>;
|
|
264
|
+
regexAdjustments: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
265
|
+
description: z.ZodOptional<z.ZodString>;
|
|
266
|
+
search: z.ZodString;
|
|
267
|
+
replace: z.ZodString;
|
|
268
|
+
}, z.core.$strict>>>;
|
|
269
|
+
}, z.core.$strict>>;
|
|
270
|
+
}, z.core.$strict>>;
|
|
271
|
+
addFrontmatter: z.ZodOptional<z.ZodBoolean>;
|
|
272
|
+
}, z.core.$strict>;
|
|
273
|
+
/** Unified package config: shared root + `ui` + `documentations` pipelines. */
|
|
274
|
+
export declare const i18nConfigSchema: z.ZodObject<{
|
|
275
|
+
sourceLocale: z.ZodString;
|
|
276
|
+
cacheDir: z.ZodDefault<z.ZodString>;
|
|
277
|
+
targetLocales: z.ZodPipe<z.ZodTransform<string[], unknown>, z.ZodDefault<z.ZodArray<z.ZodString>>>;
|
|
278
|
+
openrouter: z.ZodObject<{
|
|
279
|
+
baseUrl: z.ZodDefault<z.ZodString>;
|
|
280
|
+
translationModels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
281
|
+
defaultModel: z.ZodOptional<z.ZodString>;
|
|
282
|
+
fallbackModel: z.ZodOptional<z.ZodString>;
|
|
283
|
+
maxTokens: z.ZodDefault<z.ZodNumber>;
|
|
284
|
+
temperature: z.ZodDefault<z.ZodNumber>;
|
|
285
|
+
}, z.core.$strip>;
|
|
286
|
+
features: z.ZodDefault<z.ZodObject<{
|
|
287
|
+
extractUIStrings: z.ZodDefault<z.ZodBoolean>;
|
|
288
|
+
translateUIStrings: z.ZodDefault<z.ZodBoolean>;
|
|
289
|
+
translateMarkdown: z.ZodDefault<z.ZodBoolean>;
|
|
290
|
+
translateJSON: z.ZodDefault<z.ZodBoolean>;
|
|
291
|
+
translateSVG: z.ZodDefault<z.ZodBoolean>;
|
|
292
|
+
}, z.core.$strip>>;
|
|
293
|
+
glossary: z.ZodDefault<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
294
|
+
uiGlossary: z.ZodOptional<z.ZodString>;
|
|
295
|
+
userGlossary: z.ZodOptional<z.ZodString>;
|
|
296
|
+
autoAddUserEditedToGlossary: z.ZodDefault<z.ZodBoolean>;
|
|
297
|
+
}, z.core.$strict>>>;
|
|
298
|
+
ui: z.ZodDefault<z.ZodObject<{
|
|
299
|
+
sourceRoots: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
300
|
+
stringsJson: z.ZodDefault<z.ZodString>;
|
|
301
|
+
flatOutputDir: z.ZodDefault<z.ZodString>;
|
|
302
|
+
preferredModel: z.ZodOptional<z.ZodString>;
|
|
303
|
+
reactExtractor: z.ZodOptional<z.ZodObject<{
|
|
304
|
+
extensions: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
305
|
+
funcNames: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
306
|
+
includePackageDescription: z.ZodDefault<z.ZodBoolean>;
|
|
307
|
+
packageJsonPath: z.ZodOptional<z.ZodString>;
|
|
308
|
+
}, z.core.$strict>>;
|
|
309
|
+
}, z.core.$strict>>;
|
|
310
|
+
documentations: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
311
|
+
description: z.ZodOptional<z.ZodString>;
|
|
312
|
+
contentPaths: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
313
|
+
sourceFiles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
314
|
+
targetLocales: z.ZodOptional<z.ZodPipe<z.ZodTransform<string[] | undefined, unknown>, z.ZodOptional<z.ZodArray<z.ZodString>>>>;
|
|
315
|
+
outputDir: z.ZodDefault<z.ZodString>;
|
|
316
|
+
jsonSource: z.ZodOptional<z.ZodString>;
|
|
317
|
+
markdownOutput: z.ZodDefault<z.ZodObject<{
|
|
318
|
+
style: z.ZodDefault<z.ZodEnum<{
|
|
319
|
+
flat: "flat";
|
|
320
|
+
nested: "nested";
|
|
321
|
+
docusaurus: "docusaurus";
|
|
322
|
+
}>>;
|
|
323
|
+
docsRoot: z.ZodOptional<z.ZodString>;
|
|
324
|
+
pathTemplate: z.ZodOptional<z.ZodString>;
|
|
325
|
+
jsonPathTemplate: z.ZodOptional<z.ZodString>;
|
|
326
|
+
flatPreserveRelativeDir: z.ZodDefault<z.ZodBoolean>;
|
|
327
|
+
rewriteRelativeLinks: z.ZodOptional<z.ZodBoolean>;
|
|
328
|
+
linkRewriteDocsRoot: z.ZodOptional<z.ZodString>;
|
|
329
|
+
postProcessing: z.ZodOptional<z.ZodObject<{
|
|
330
|
+
languageListBlock: z.ZodOptional<z.ZodObject<{
|
|
331
|
+
start: z.ZodString;
|
|
332
|
+
end: z.ZodString;
|
|
333
|
+
separator: z.ZodString;
|
|
334
|
+
}, z.core.$strict>>;
|
|
335
|
+
regexAdjustments: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
336
|
+
description: z.ZodOptional<z.ZodString>;
|
|
337
|
+
search: z.ZodString;
|
|
338
|
+
replace: z.ZodString;
|
|
339
|
+
}, z.core.$strict>>>;
|
|
340
|
+
}, z.core.$strict>>;
|
|
341
|
+
}, z.core.$strict>>;
|
|
342
|
+
addFrontmatter: z.ZodOptional<z.ZodBoolean>;
|
|
343
|
+
}, z.core.$strict>>>;
|
|
344
|
+
rtlLocales: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
345
|
+
localeDisplayNames: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
346
|
+
uiLanguagesPath: z.ZodOptional<z.ZodString>;
|
|
347
|
+
svg: z.ZodOptional<z.ZodObject<{
|
|
348
|
+
sourcePath: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodArray<z.ZodString>>;
|
|
349
|
+
outputDir: z.ZodString;
|
|
350
|
+
pathTemplate: z.ZodOptional<z.ZodString>;
|
|
351
|
+
style: z.ZodEnum<{
|
|
352
|
+
flat: "flat";
|
|
353
|
+
nested: "nested";
|
|
354
|
+
}>;
|
|
355
|
+
svgExtractor: z.ZodOptional<z.ZodObject<{
|
|
356
|
+
forceLowercase: z.ZodDefault<z.ZodBoolean>;
|
|
357
|
+
}, z.core.$strict>>;
|
|
358
|
+
}, z.core.$strict>>;
|
|
359
|
+
batchSize: z.ZodOptional<z.ZodNumber>;
|
|
360
|
+
maxBatchChars: z.ZodOptional<z.ZodNumber>;
|
|
361
|
+
concurrency: z.ZodOptional<z.ZodNumber>;
|
|
362
|
+
batchConcurrency: z.ZodOptional<z.ZodNumber>;
|
|
363
|
+
}, z.core.$strict>;
|
|
364
|
+
export type I18nConfig = z.infer<typeof i18nConfigSchema>;
|
|
365
|
+
export type OpenRouterConfig = z.infer<typeof openRouterConfigSchema>;
|
|
366
|
+
export type FeaturesConfig = z.infer<typeof featuresSchema>;
|
|
367
|
+
export type GlossaryConfig = z.infer<typeof glossarySchema>;
|
|
368
|
+
export type UIStringExtractorConfig = z.infer<typeof reactExtractorSchema>;
|
|
369
|
+
/** @deprecated Use {@link UIStringExtractorConfig} */
|
|
370
|
+
export type ReactExtractorConfig = UIStringExtractorConfig;
|
|
371
|
+
export type SvgExtractorConfig = z.infer<typeof svgExtractorSchema>;
|
|
372
|
+
export type LanguageListBlockConfig = z.infer<typeof languageListBlockSchema>;
|
|
373
|
+
export type RegexAdjustmentConfig = z.infer<typeof regexAdjustmentSchema>;
|
|
374
|
+
export type MarkdownPostProcessingConfig = z.infer<typeof markdownPostProcessingSchema>;
|
|
375
|
+
export type MarkdownOutputConfig = z.infer<typeof markdownOutputSchema>;
|
|
376
|
+
export type UiConfig = z.infer<typeof uiConfigSchema>;
|
|
377
|
+
export type DocumentationBlock = z.infer<typeof documentationBlockSchema>;
|
|
378
|
+
export type SvgAssetsConfig = z.infer<typeof svgAssetsConfigSchema>;
|
|
379
|
+
/**
|
|
380
|
+
* View passed to translate-docs internals: one active `documentation` block plus root fields.
|
|
381
|
+
* Built from root config via {@link toDocTranslateConfig}.
|
|
382
|
+
*/
|
|
383
|
+
export type I18nDocTranslateConfig = Omit<I18nConfig, "documentations"> & {
|
|
384
|
+
documentation: DocumentationBlock;
|
|
385
|
+
};
|
|
386
|
+
export type RawI18nConfigInput = z.input<typeof i18nConfigSchema>;
|
|
387
|
+
export {};
|
|
388
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|