@menapo/vi18n 0.0.0-stage → 0.1.1

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.
Files changed (100) hide show
  1. package/LICENSE +49 -0
  2. package/README.md +110 -2
  3. package/dist/apply-Bre-lY9J.js +228 -0
  4. package/dist/captured-Bj8bO6vd.js +1034 -0
  5. package/dist/check-BIKEuu6B.js +201 -0
  6. package/dist/check-HsmmpJZg.js +1 -0
  7. package/dist/cli.d.ts +1 -0
  8. package/dist/cli.js +41 -0
  9. package/dist/codec-DuvU2VQy.js +207 -0
  10. package/dist/collect-Cx4_SKOe.js +13 -0
  11. package/dist/collisions-CfpZU8e4.js +217 -0
  12. package/dist/compile-BaDh0cHG.js +245 -0
  13. package/dist/compile-Cc97JaW2.js +2502 -0
  14. package/dist/concurrency-C9UUWuDC.js +96 -0
  15. package/dist/concurrency-DONL7t4V.js +1 -0
  16. package/dist/config.d.ts +21 -0
  17. package/dist/config.js +39 -0
  18. package/dist/dir-zw6bGMKQ.js +290 -0
  19. package/dist/duplicates-yuRljQ6h.js +185 -0
  20. package/dist/engine-C2ENBRJe.js +531 -0
  21. package/dist/engine.d.ts +43 -0
  22. package/dist/engine.js +1241 -0
  23. package/dist/exclude-Du-Zd_qI.js +26 -0
  24. package/dist/export-C9Sy6UWv.js +103 -0
  25. package/dist/extract-C3S8btx0.js +298 -0
  26. package/dist/formats-9unqj_fZ.js +781 -0
  27. package/dist/i18next-9HAoxwUI.js +1 -0
  28. package/dist/i18next-BEJgv_S8.js +1596 -0
  29. package/dist/import-nANvQutw.js +225 -0
  30. package/dist/index.d.ts +156 -0
  31. package/dist/index.js +239 -0
  32. package/dist/init-C2ScuW6a.js +792 -0
  33. package/dist/library-D5CWvTQs.js +1882 -0
  34. package/dist/lingui-zUiCl9Um.js +833 -0
  35. package/dist/lint.d.ts +105 -0
  36. package/dist/lint.js +971 -0
  37. package/dist/load-CQRz4PpM.js +2950 -0
  38. package/dist/load-gW-oJt1Q.js +747 -0
  39. package/dist/locales-DX4MOBFE.js +827 -0
  40. package/dist/lsp-RMMMc88P.js +31 -0
  41. package/dist/match-BGr8EXB3.js +89 -0
  42. package/dist/mcp-CHVwBoRP.js +28 -0
  43. package/dist/merge-driver-BTX87aVm.js +422 -0
  44. package/dist/messages-BfjIExyB.js +166 -0
  45. package/dist/migrate-IpLDMXmq.js +1484 -0
  46. package/dist/migrate-rCQuOGsf.js +1 -0
  47. package/dist/openai-CTaMDcl-.js +346 -0
  48. package/dist/output-DWE3SIUA.js +164 -0
  49. package/dist/parse.d.ts +62 -0
  50. package/dist/parse.js +156 -0
  51. package/dist/pipeline-C9Dbotkh.js +2031 -0
  52. package/dist/pipeline-DbX6rlo5.js +1 -0
  53. package/dist/project-Bw9UPIdx.js +1046 -0
  54. package/dist/project-C4GpaN-n.js +381 -0
  55. package/dist/pseudo-DRv30iN5.js +145 -0
  56. package/dist/raw-C4Y6vyGY.js +4708 -0
  57. package/dist/react-intl-BP0u-D5m.js +519 -0
  58. package/dist/restore-CiYv-jxS.js +175 -0
  59. package/dist/rewrite-EsIw_lsq.js +803 -0
  60. package/dist/rich-DCUKl5HM.js +97 -0
  61. package/dist/rolldown-runtime-D7D4PA-g.js +13 -0
  62. package/dist/run-BEcnBbu-.js +694 -0
  63. package/dist/runtime-DTMmliT1.js +64 -0
  64. package/dist/scan-worker.d.ts +62 -0
  65. package/dist/scan-worker.js +1 -0
  66. package/dist/scoped-BMYpSthj.js +44 -0
  67. package/dist/server-Da1Ot9IN.js +10485 -0
  68. package/dist/server-deBOq2vq.js +11823 -0
  69. package/dist/server.d.ts +169 -0
  70. package/dist/server.js +1234 -0
  71. package/dist/sitemap-DJXzKoza.js +159 -0
  72. package/dist/sources-D19czDSA.js +2242 -0
  73. package/dist/status-zr4jY59Y.js +149 -0
  74. package/dist/stdio-CVaJfxA7.js +29 -0
  75. package/dist/stdio-FPOKQAgu.js +95 -0
  76. package/dist/sync-B9V2KFwb.js +658 -0
  77. package/dist/t-DC-c9zE5.js +454 -0
  78. package/dist/test.d.ts +116 -0
  79. package/dist/test.js +319 -0
  80. package/dist/translate-CQnJfLjO.js +299 -0
  81. package/dist/ts-BaU5yOf0.js +4863 -0
  82. package/dist/types-CgUCkFU1.d.ts +707 -0
  83. package/dist/types-D3QGM8XO.js +146 -0
  84. package/dist/types-DsdWBG0b.d.ts +558 -0
  85. package/dist/types-DtvQ7UdD.js +1948 -0
  86. package/dist/types-wSh9fCBY.js +11 -0
  87. package/dist/units-CQ5Q99RC.js +150 -0
  88. package/dist/url-CRfCOhUI.js +172 -0
  89. package/dist/url-CsBkRaJy.js +225 -0
  90. package/dist/validate-BxpupdAf.js +2615 -0
  91. package/dist/validate-D6DJepZv.js +365 -0
  92. package/dist/version-Byqi2guX.js +28 -0
  93. package/dist/vite-scan-CT_vsp4g.js +242 -0
  94. package/dist/vite.d.ts +34 -0
  95. package/dist/vite.js +7558 -0
  96. package/dist/vue-i18n-g0iGy6CZ.js +651 -0
  97. package/dist/which-BOemZ5Q8.js +116 -0
  98. package/dist/worker-84U6uYB3.js +1656 -0
  99. package/package.json +97 -3
  100. package/schemas/catalog.json +57 -0
@@ -0,0 +1,166 @@
1
+ import { C as usableTranslation, S as entryKey } from "./library-D5CWvTQs.js";
2
+ import { r as resolveDuplicates, t as duplicateDiagnostics } from "./duplicates-yuRljQ6h.js";
3
+ import { i as rootRelative } from "./output-DWE3SIUA.js";
4
+ import { createRequire } from "node:module";
5
+ //#region \0rolldown/runtime.js
6
+ var __create = Object.create;
7
+ var __defProp = Object.defineProperty;
8
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
+ var __getOwnPropNames = Object.getOwnPropertyNames;
10
+ var __getProtoOf = Object.getPrototypeOf;
11
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
12
+ var __esmMin = (fn, res, err) => () => {
13
+ if (err) throw err[0];
14
+ try {
15
+ return fn && (res = fn(fn = 0)), res;
16
+ } catch (e) {
17
+ throw err = [e], e;
18
+ }
19
+ };
20
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod, mod.exports), cb = null), mod.exports);
21
+ var __exportAll = (all, no_symbols) => {
22
+ let target = {};
23
+ for (var name in all) __defProp(target, name, {
24
+ get: all[name],
25
+ enumerable: true
26
+ });
27
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
28
+ return target;
29
+ };
30
+ var __copyProps = (to, from, except, desc) => {
31
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
32
+ key = keys[i];
33
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
34
+ get: ((k) => from[k]).bind(null, key),
35
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
36
+ });
37
+ }
38
+ return to;
39
+ };
40
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
41
+ value: mod,
42
+ enumerable: true
43
+ }) : target, mod));
44
+ var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
45
+ var __require = /* #__PURE__ */ (() => createRequire(import.meta.url))();
46
+ //#endregion
47
+ //#region src/cli/messages.ts
48
+ /**
49
+ * One message across every locale (INTERNALS §2.17): its source, where the
50
+ * code uses it, and each locale's own entry with the state
51
+ * `usableTranslation` gives it. The read model the language server's
52
+ * hovers, diagnostics and definitions and the MCP server's translation tools
53
+ * share, built like `status` and `check` build theirs (a locale's own entry,
54
+ * no fallbacks), so every surface reports one state for one entry.
55
+ */
56
+ function indexCatalog(project, locale, path, catalog, hash) {
57
+ const { config, codec, layout } = project;
58
+ const file = rootRelative(config.root, path);
59
+ const index = {
60
+ locale,
61
+ path,
62
+ file,
63
+ hash,
64
+ catalog,
65
+ entries: /* @__PURE__ */ new Map(),
66
+ schemeMismatch: false,
67
+ diagnostics: []
68
+ };
69
+ if (catalog === null) return index;
70
+ const resolved = resolveDuplicates(catalog, codec);
71
+ index.diagnostics = duplicateDiagnostics(resolved.duplicates, file);
72
+ for (const entry of resolved.catalog.entries) {
73
+ const key = entryKey(entry, layout, codec);
74
+ if (key !== null && !index.entries.has(key)) index.entries.set(key, entry);
75
+ }
76
+ index.schemeMismatch = layout !== "source" && catalog.header.idScheme !== null && catalog.header.idScheme !== codec.idScheme;
77
+ return index;
78
+ }
79
+ /** Every configured locale's index, the source locale first. */
80
+ function indexCatalogs(project, set) {
81
+ const indexes = /* @__PURE__ */ new Map();
82
+ for (const locale of localeOrder(project)) {
83
+ const loaded = set.get(locale);
84
+ if (loaded === void 0) continue;
85
+ indexes.set(locale, indexCatalog(project, locale, loaded.path, loaded.catalog, loaded.hash));
86
+ }
87
+ return indexes;
88
+ }
89
+ /** The source locale, then the others in config order. */
90
+ function localeOrder(project) {
91
+ const { config } = project;
92
+ return [config.sourceLocale, ...config.locales.filter((l) => l !== config.sourceLocale)];
93
+ }
94
+ /**
95
+ * One locale's own entry for a message: the source locale shows the source,
96
+ * a target locale the state `usableTranslation` decides (`scheme-mismatch`
97
+ * and `no-entry` as `ownStatus` decides them).
98
+ */
99
+ function localeView(project, index, identity) {
100
+ const { config, codec, layout } = project;
101
+ const entry = index.entries.get(identity.id);
102
+ const view = {
103
+ locale: index.locale,
104
+ state: "missing",
105
+ text: null,
106
+ fuzzy: entry?.fuzzy ?? false,
107
+ file: index.file,
108
+ line: entry !== void 0 && entry.line > 0 ? entry.line : null,
109
+ diagnostics: []
110
+ };
111
+ if (index.locale === config.sourceLocale) {
112
+ view.state = "source";
113
+ view.text = identity.canonical;
114
+ return view;
115
+ }
116
+ if (index.schemeMismatch && (layout === "id" || !identity.manual)) {
117
+ view.reason = "scheme-mismatch";
118
+ return view;
119
+ }
120
+ if (entry === void 0) {
121
+ view.reason = "no-entry";
122
+ return view;
123
+ }
124
+ if (entry.translation !== "") view.text = entry.translation;
125
+ const usable = usableTranslation(entry, layout, identity, codec, index.locale);
126
+ if (usable.ok) {
127
+ view.state = entry.state === "ai" ? "ai" : "translated";
128
+ return view;
129
+ }
130
+ view.reason = usable.reason;
131
+ for (const diagnostic of usable.diagnostics) view.diagnostics.push({
132
+ ...diagnostic,
133
+ file: index.file
134
+ });
135
+ return view;
136
+ }
137
+ /** A message with every locale's view; `extracted` adds the code's notes and call sites. */
138
+ function messageView(project, indexes, identity, extracted) {
139
+ const { config } = project;
140
+ let contexts = extracted?.contexts.slice() ?? [];
141
+ let maxLength = extracted?.maxLength ?? null;
142
+ if (extracted === void 0) for (const index of indexes.values()) {
143
+ const entry = index.entries.get(identity.id);
144
+ if (entry === void 0) continue;
145
+ contexts = entry.contexts.slice();
146
+ maxLength = entry.maxLength;
147
+ break;
148
+ }
149
+ const locales = [];
150
+ for (const locale of localeOrder(project)) {
151
+ const index = indexes.get(locale);
152
+ if (index !== void 0) locales.push(localeView(project, index, identity));
153
+ }
154
+ return {
155
+ id: identity.id,
156
+ manual: identity.manual,
157
+ source: identity.canonical,
158
+ contexts,
159
+ maxLength,
160
+ keep: config.extraction.keep.includes(identity.id),
161
+ locations: extracted?.locations.map((l) => ({ ...l })) ?? [],
162
+ locales
163
+ };
164
+ }
165
+ //#endregion
166
+ export { __commonJSMin as a, __require as c, messageView as i, __toCommonJS as l, indexCatalogs as n, __esmMin as o, localeView as r, __exportAll as s, indexCatalog as t, __toESM as u };