@hoardodile/i18n 0.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.
Files changed (50) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +81 -0
  3. package/dist/catalogs/ui.d.ts +2 -0
  4. package/dist/catalogs/ui.js +449 -0
  5. package/dist/catalogs/ui.js.map +1 -0
  6. package/dist/catalogs/workbench.d.ts +291 -0
  7. package/dist/catalogs/workbench.js +250 -0
  8. package/dist/catalogs/workbench.js.map +1 -0
  9. package/dist/catalogs-BF4px4Mm.d.ts +12986 -0
  10. package/dist/catalogs.d.ts +2 -0
  11. package/dist/catalogs.js +10794 -0
  12. package/dist/catalogs.js.map +1 -0
  13. package/dist/core.d.ts +32 -0
  14. package/dist/core.js +14 -0
  15. package/dist/core.js.map +1 -0
  16. package/dist/create-i18n.d.ts +35 -0
  17. package/dist/create-i18n.js +30 -0
  18. package/dist/create-i18n.js.map +1 -0
  19. package/dist/index.d.ts +42 -0
  20. package/dist/index.js +11284 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/react.d.ts +1 -0
  23. package/dist/react.js +3 -0
  24. package/dist/react.js.map +1 -0
  25. package/dist/ui-CJPMCZT7.d.ts +548 -0
  26. package/package.json +81 -0
  27. package/src/catalogs/de.json +2155 -0
  28. package/src/catalogs/en.json +2155 -0
  29. package/src/catalogs/es.json +2155 -0
  30. package/src/catalogs/ja.json +2155 -0
  31. package/src/catalogs/ui.ts +30 -0
  32. package/src/catalogs/workbench.ts +29 -0
  33. package/src/catalogs/zh.json +2155 -0
  34. package/src/catalogs.ts +31 -0
  35. package/src/core.ts +40 -0
  36. package/src/create-i18n.ts +52 -0
  37. package/src/index.ts +66 -0
  38. package/src/language.test.ts +70 -0
  39. package/src/parity.test.ts +175 -0
  40. package/src/react.ts +25 -0
  41. package/src/ui/de.json +86 -0
  42. package/src/ui/en.json +86 -0
  43. package/src/ui/es.json +86 -0
  44. package/src/ui/ja.json +86 -0
  45. package/src/ui/zh.json +86 -0
  46. package/src/workbench/de.json +45 -0
  47. package/src/workbench/en.json +45 -0
  48. package/src/workbench/es.json +45 -0
  49. package/src/workbench/ja.json +45 -0
  50. package/src/workbench/zh.json +45 -0
@@ -0,0 +1,291 @@
1
+ import { SupportedLanguage } from '../core.js';
2
+
3
+ var toolbar = {
4
+ plugin: "plugin",
5
+ reloadAria: "Reload plugin",
6
+ reloadHint: "Reload — re-mount with the current build",
7
+ resource: "Resource"
8
+ };
9
+ var popover = {
10
+ configure: "Configure",
11
+ settingsAria: "Iframe settings",
12
+ title: "Iframe settings",
13
+ tooltip: "Iframe settings — applied live",
14
+ description: "Live updates without reloading the plugin; defaults match the main app.",
15
+ sectionAppearance: "Appearance",
16
+ sectionIcons: "Icons",
17
+ sectionLanguage: "Language",
18
+ sectionFont: "Font",
19
+ sectionViewport: "Viewport",
20
+ mode: "Mode",
21
+ palette: "Palette",
22
+ style: "Style",
23
+ uiLanguage: "UI language",
24
+ fontFamily: "Font family",
25
+ fontFamilyPlaceholder: "App default (system stack)",
26
+ fontFamilyHint: "Leave empty for the app default system stack.",
27
+ size: "Size",
28
+ viewportWidth: "Viewport width",
29
+ viewportHeight: "Viewport height",
30
+ custom: "Custom",
31
+ system: "System"
32
+ };
33
+ var viewport = {
34
+ fill: "Fill",
35
+ phone: "Phone",
36
+ tablet: "Tablet",
37
+ small: "Small",
38
+ wide: "Wide"
39
+ };
40
+ var app = {
41
+ loading: "loading…",
42
+ failedTitle: "Workbench failed to start",
43
+ noResources: "No resources",
44
+ noResourcesHint: "pass --data <dir> or --storage <hoardodile-root>"
45
+ };
46
+ var en = {
47
+ toolbar: toolbar,
48
+ popover: popover,
49
+ viewport: viewport,
50
+ app: app
51
+ };
52
+
53
+ /**
54
+ * The workbench catalog registry: dev-tool chrome strings (the offline
55
+ * plugin workbench's own UI — toolbar, config popover, empty states).
56
+ * Unlike the `ui` namespace these are never bundled by the app or the
57
+ * plugin SDK; only the workbench imports this subpath. Same lockstep
58
+ * rules as the other catalogs; `parity.test.ts` enforces them.
59
+ */
60
+
61
+ declare const WORKBENCH_CATALOGS: {
62
+ readonly en: {
63
+ toolbar: {
64
+ plugin: string;
65
+ reloadAria: string;
66
+ reloadHint: string;
67
+ resource: string;
68
+ };
69
+ popover: {
70
+ configure: string;
71
+ settingsAria: string;
72
+ title: string;
73
+ tooltip: string;
74
+ description: string;
75
+ sectionAppearance: string;
76
+ sectionIcons: string;
77
+ sectionLanguage: string;
78
+ sectionFont: string;
79
+ sectionViewport: string;
80
+ mode: string;
81
+ palette: string;
82
+ style: string;
83
+ uiLanguage: string;
84
+ fontFamily: string;
85
+ fontFamilyPlaceholder: string;
86
+ fontFamilyHint: string;
87
+ size: string;
88
+ viewportWidth: string;
89
+ viewportHeight: string;
90
+ custom: string;
91
+ system: string;
92
+ };
93
+ viewport: {
94
+ fill: string;
95
+ phone: string;
96
+ tablet: string;
97
+ small: string;
98
+ wide: string;
99
+ };
100
+ app: {
101
+ loading: string;
102
+ failedTitle: string;
103
+ noResources: string;
104
+ noResourcesHint: string;
105
+ };
106
+ };
107
+ readonly zh: {
108
+ toolbar: {
109
+ plugin: string;
110
+ reloadAria: string;
111
+ reloadHint: string;
112
+ resource: string;
113
+ };
114
+ popover: {
115
+ configure: string;
116
+ settingsAria: string;
117
+ title: string;
118
+ tooltip: string;
119
+ description: string;
120
+ sectionAppearance: string;
121
+ sectionIcons: string;
122
+ sectionLanguage: string;
123
+ sectionFont: string;
124
+ sectionViewport: string;
125
+ mode: string;
126
+ palette: string;
127
+ style: string;
128
+ uiLanguage: string;
129
+ fontFamily: string;
130
+ fontFamilyPlaceholder: string;
131
+ fontFamilyHint: string;
132
+ size: string;
133
+ viewportWidth: string;
134
+ viewportHeight: string;
135
+ custom: string;
136
+ system: string;
137
+ };
138
+ viewport: {
139
+ fill: string;
140
+ phone: string;
141
+ tablet: string;
142
+ small: string;
143
+ wide: string;
144
+ };
145
+ app: {
146
+ loading: string;
147
+ failedTitle: string;
148
+ noResources: string;
149
+ noResourcesHint: string;
150
+ };
151
+ };
152
+ readonly ja: {
153
+ toolbar: {
154
+ plugin: string;
155
+ reloadAria: string;
156
+ reloadHint: string;
157
+ resource: string;
158
+ };
159
+ popover: {
160
+ configure: string;
161
+ settingsAria: string;
162
+ title: string;
163
+ tooltip: string;
164
+ description: string;
165
+ sectionAppearance: string;
166
+ sectionIcons: string;
167
+ sectionLanguage: string;
168
+ sectionFont: string;
169
+ sectionViewport: string;
170
+ mode: string;
171
+ palette: string;
172
+ style: string;
173
+ uiLanguage: string;
174
+ fontFamily: string;
175
+ fontFamilyPlaceholder: string;
176
+ fontFamilyHint: string;
177
+ size: string;
178
+ viewportWidth: string;
179
+ viewportHeight: string;
180
+ custom: string;
181
+ system: string;
182
+ };
183
+ viewport: {
184
+ fill: string;
185
+ phone: string;
186
+ tablet: string;
187
+ small: string;
188
+ wide: string;
189
+ };
190
+ app: {
191
+ loading: string;
192
+ failedTitle: string;
193
+ noResources: string;
194
+ noResourcesHint: string;
195
+ };
196
+ };
197
+ readonly de: {
198
+ toolbar: {
199
+ plugin: string;
200
+ reloadAria: string;
201
+ reloadHint: string;
202
+ resource: string;
203
+ };
204
+ popover: {
205
+ configure: string;
206
+ settingsAria: string;
207
+ title: string;
208
+ tooltip: string;
209
+ description: string;
210
+ sectionAppearance: string;
211
+ sectionIcons: string;
212
+ sectionLanguage: string;
213
+ sectionFont: string;
214
+ sectionViewport: string;
215
+ mode: string;
216
+ palette: string;
217
+ style: string;
218
+ uiLanguage: string;
219
+ fontFamily: string;
220
+ fontFamilyPlaceholder: string;
221
+ fontFamilyHint: string;
222
+ size: string;
223
+ viewportWidth: string;
224
+ viewportHeight: string;
225
+ custom: string;
226
+ system: string;
227
+ };
228
+ viewport: {
229
+ fill: string;
230
+ phone: string;
231
+ tablet: string;
232
+ small: string;
233
+ wide: string;
234
+ };
235
+ app: {
236
+ loading: string;
237
+ failedTitle: string;
238
+ noResources: string;
239
+ noResourcesHint: string;
240
+ };
241
+ };
242
+ readonly es: {
243
+ toolbar: {
244
+ plugin: string;
245
+ reloadAria: string;
246
+ reloadHint: string;
247
+ resource: string;
248
+ };
249
+ popover: {
250
+ configure: string;
251
+ settingsAria: string;
252
+ title: string;
253
+ tooltip: string;
254
+ description: string;
255
+ sectionAppearance: string;
256
+ sectionIcons: string;
257
+ sectionLanguage: string;
258
+ sectionFont: string;
259
+ sectionViewport: string;
260
+ mode: string;
261
+ palette: string;
262
+ style: string;
263
+ uiLanguage: string;
264
+ fontFamily: string;
265
+ fontFamilyPlaceholder: string;
266
+ fontFamilyHint: string;
267
+ size: string;
268
+ viewportWidth: string;
269
+ viewportHeight: string;
270
+ custom: string;
271
+ system: string;
272
+ };
273
+ viewport: {
274
+ fill: string;
275
+ phone: string;
276
+ tablet: string;
277
+ small: string;
278
+ wide: string;
279
+ };
280
+ app: {
281
+ loading: string;
282
+ failedTitle: string;
283
+ noResources: string;
284
+ noResourcesHint: string;
285
+ };
286
+ };
287
+ };
288
+ /** Resolve the workbench catalog for the active language; undefined → English. */
289
+ declare function workbenchCatalogFor(language: SupportedLanguage | undefined): typeof en;
290
+
291
+ export { WORKBENCH_CATALOGS, workbenchCatalogFor };
@@ -0,0 +1,250 @@
1
+ // src/workbench/de.json
2
+ var de_default = {
3
+ toolbar: {
4
+ plugin: "Plugin",
5
+ reloadAria: "Plugin neu laden",
6
+ reloadHint: "Neu laden \u2014 mit dem aktuellen Build neu einbinden",
7
+ resource: "Ressource"
8
+ },
9
+ popover: {
10
+ configure: "Konfigurieren",
11
+ settingsAria: "Iframe-Einstellungen",
12
+ title: "Iframe-Einstellungen",
13
+ tooltip: "Iframe-Einstellungen \u2014 live \xFCbernommen",
14
+ description: "Live-Aktualisierung ohne Neuladen des Plugins; die Standardwerte entsprechen der Haupt-App.",
15
+ sectionAppearance: "Erscheinungsbild",
16
+ sectionIcons: "Symbole",
17
+ sectionLanguage: "Sprache",
18
+ sectionFont: "Schriftart",
19
+ sectionViewport: "Ansichtsfenster",
20
+ mode: "Modus",
21
+ palette: "Palette",
22
+ style: "Stil",
23
+ uiLanguage: "UI-Sprache",
24
+ fontFamily: "Schriftfamilie",
25
+ fontFamilyPlaceholder: "App-Standard (System-Schriftstapel)",
26
+ fontFamilyHint: "Leer lassen f\xFCr den App-Standard-System-Schriftstapel.",
27
+ size: "Gr\xF6\xDFe",
28
+ viewportWidth: "Ansichtsfensterbreite",
29
+ viewportHeight: "Ansichtsfensterh\xF6he",
30
+ custom: "Benutzerdefiniert",
31
+ system: "System"
32
+ },
33
+ viewport: {
34
+ fill: "Ausf\xFCllen",
35
+ phone: "Telefon",
36
+ tablet: "Tablet",
37
+ small: "Klein",
38
+ wide: "Breit"
39
+ },
40
+ app: {
41
+ loading: "Wird geladen\u2026",
42
+ failedTitle: "Workbench konnte nicht gestartet werden",
43
+ noResources: "Keine Ressourcen",
44
+ noResourcesHint: "--data <dir> oder --storage <hoardodile-root> \xFCbergeben"
45
+ }
46
+ };
47
+
48
+ // src/workbench/en.json
49
+ var en_default = {
50
+ toolbar: {
51
+ plugin: "plugin",
52
+ reloadAria: "Reload plugin",
53
+ reloadHint: "Reload \u2014 re-mount with the current build",
54
+ resource: "Resource"
55
+ },
56
+ popover: {
57
+ configure: "Configure",
58
+ settingsAria: "Iframe settings",
59
+ title: "Iframe settings",
60
+ tooltip: "Iframe settings \u2014 applied live",
61
+ description: "Live updates without reloading the plugin; defaults match the main app.",
62
+ sectionAppearance: "Appearance",
63
+ sectionIcons: "Icons",
64
+ sectionLanguage: "Language",
65
+ sectionFont: "Font",
66
+ sectionViewport: "Viewport",
67
+ mode: "Mode",
68
+ palette: "Palette",
69
+ style: "Style",
70
+ uiLanguage: "UI language",
71
+ fontFamily: "Font family",
72
+ fontFamilyPlaceholder: "App default (system stack)",
73
+ fontFamilyHint: "Leave empty for the app default system stack.",
74
+ size: "Size",
75
+ viewportWidth: "Viewport width",
76
+ viewportHeight: "Viewport height",
77
+ custom: "Custom",
78
+ system: "System"
79
+ },
80
+ viewport: {
81
+ fill: "Fill",
82
+ phone: "Phone",
83
+ tablet: "Tablet",
84
+ small: "Small",
85
+ wide: "Wide"
86
+ },
87
+ app: {
88
+ loading: "loading\u2026",
89
+ failedTitle: "Workbench failed to start",
90
+ noResources: "No resources",
91
+ noResourcesHint: "pass --data <dir> or --storage <hoardodile-root>"
92
+ }
93
+ };
94
+
95
+ // src/workbench/es.json
96
+ var es_default = {
97
+ toolbar: {
98
+ plugin: "plugin",
99
+ reloadAria: "Recargar plugin",
100
+ reloadHint: "Recargar \u2014 volver a montar con la compilaci\xF3n actual",
101
+ resource: "Recurso"
102
+ },
103
+ popover: {
104
+ configure: "Configurar",
105
+ settingsAria: "Ajustes del iframe",
106
+ title: "Ajustes del iframe",
107
+ tooltip: "Ajustes del iframe \u2014 se aplican en vivo",
108
+ description: "Actualizaci\xF3n en vivo sin recargar el plugin; los valores predeterminados coinciden con la app principal.",
109
+ sectionAppearance: "Apariencia",
110
+ sectionIcons: "Iconos",
111
+ sectionLanguage: "Idioma",
112
+ sectionFont: "Fuente",
113
+ sectionViewport: "Viewport",
114
+ mode: "Modo",
115
+ palette: "Paleta",
116
+ style: "Estilo",
117
+ uiLanguage: "Idioma de la interfaz",
118
+ fontFamily: "Familia tipogr\xE1fica",
119
+ fontFamilyPlaceholder: "Predeterminado de la app (pila del sistema)",
120
+ fontFamilyHint: "D\xE9jalo vac\xEDo para la pila del sistema predeterminada de la app.",
121
+ size: "Tama\xF1o",
122
+ viewportWidth: "Ancho del viewport",
123
+ viewportHeight: "Alto del viewport",
124
+ custom: "Personalizado",
125
+ system: "Sistema"
126
+ },
127
+ viewport: {
128
+ fill: "Llenar",
129
+ phone: "Tel\xE9fono",
130
+ tablet: "Tableta",
131
+ small: "Peque\xF1o",
132
+ wide: "Ancho"
133
+ },
134
+ app: {
135
+ loading: "Cargando\u2026",
136
+ failedTitle: "No se pudo iniciar el workbench",
137
+ noResources: "Sin recursos",
138
+ noResourcesHint: "pasa --data <dir> o --storage <hoardodile-root>"
139
+ }
140
+ };
141
+
142
+ // src/workbench/ja.json
143
+ var ja_default = {
144
+ toolbar: {
145
+ plugin: "\u30D7\u30E9\u30B0\u30A4\u30F3",
146
+ reloadAria: "\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u518D\u8AAD\u307F\u8FBC\u307F",
147
+ reloadHint: "\u518D\u8AAD\u307F\u8FBC\u307F \u2014 \u73FE\u5728\u306E\u30D3\u30EB\u30C9\u3067\u518D\u30DE\u30A6\u30F3\u30C8",
148
+ resource: "\u30EA\u30BD\u30FC\u30B9"
149
+ },
150
+ popover: {
151
+ configure: "\u8A2D\u5B9A",
152
+ settingsAria: "iframe \u8A2D\u5B9A",
153
+ title: "iframe \u8A2D\u5B9A",
154
+ tooltip: "iframe \u8A2D\u5B9A \u2014 \u30E9\u30A4\u30D6\u53CD\u6620",
155
+ description: "\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u518D\u8AAD\u307F\u8FBC\u307F\u305B\u305A\u306B\u5373\u6642\u66F4\u65B0\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306F\u30E1\u30A4\u30F3\u30A2\u30D7\u30EA\u3068\u4E00\u81F4\u3057\u307E\u3059\u3002",
156
+ sectionAppearance: "\u5916\u89B3",
157
+ sectionIcons: "\u30A2\u30A4\u30B3\u30F3",
158
+ sectionLanguage: "\u8A00\u8A9E",
159
+ sectionFont: "\u30D5\u30A9\u30F3\u30C8",
160
+ sectionViewport: "\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8",
161
+ mode: "\u30E2\u30FC\u30C9",
162
+ palette: "\u30D1\u30EC\u30C3\u30C8",
163
+ style: "\u30B9\u30BF\u30A4\u30EB",
164
+ uiLanguage: "UI \u8A00\u8A9E",
165
+ fontFamily: "\u30D5\u30A9\u30F3\u30C8\u30D5\u30A1\u30DF\u30EA\u30FC",
166
+ fontFamilyPlaceholder: "\u30A2\u30D7\u30EA\u65E2\u5B9A\uFF08\u30B7\u30B9\u30C6\u30E0\u30D5\u30A9\u30F3\u30C8\uFF09",
167
+ fontFamilyHint: "\u7A7A\u6B04\u306A\u3089\u30A2\u30D7\u30EA\u65E2\u5B9A\u306E\u30B7\u30B9\u30C6\u30E0\u30D5\u30A9\u30F3\u30C8\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002",
168
+ size: "\u30B5\u30A4\u30BA",
169
+ viewportWidth: "\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u5E45",
170
+ viewportHeight: "\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8\u9AD8\u3055",
171
+ custom: "\u30AB\u30B9\u30BF\u30E0",
172
+ system: "\u30B7\u30B9\u30C6\u30E0"
173
+ },
174
+ viewport: {
175
+ fill: "\u30D5\u30A3\u30EB",
176
+ phone: "\u30D5\u30A9\u30F3",
177
+ tablet: "\u30BF\u30D6\u30EC\u30C3\u30C8",
178
+ small: "\u5C0F",
179
+ wide: "\u30EF\u30A4\u30C9"
180
+ },
181
+ app: {
182
+ loading: "\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",
183
+ failedTitle: "\u30EF\u30FC\u30AF\u30D9\u30F3\u30C1\u3092\u8D77\u52D5\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F",
184
+ noResources: "\u30EA\u30BD\u30FC\u30B9\u304C\u3042\u308A\u307E\u305B\u3093",
185
+ noResourcesHint: "--data <dir> \u307E\u305F\u306F --storage <hoardodile-root> \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044"
186
+ }
187
+ };
188
+
189
+ // src/workbench/zh.json
190
+ var zh_default = {
191
+ toolbar: {
192
+ plugin: "\u63D2\u4EF6",
193
+ reloadAria: "\u91CD\u65B0\u52A0\u8F7D\u63D2\u4EF6",
194
+ reloadHint: "\u91CD\u65B0\u52A0\u8F7D\u2014\u2014\u7528\u5F53\u524D\u6784\u5EFA\u91CD\u65B0\u6302\u8F7D",
195
+ resource: "\u8D44\u6E90"
196
+ },
197
+ popover: {
198
+ configure: "\u914D\u7F6E",
199
+ settingsAria: "iframe \u8BBE\u7F6E",
200
+ title: "iframe \u8BBE\u7F6E",
201
+ tooltip: "iframe \u8BBE\u7F6E\u2014\u2014\u5B9E\u65F6\u751F\u6548",
202
+ description: "\u65E0\u9700\u91CD\u8F7D\u63D2\u4EF6\u5373\u53EF\u5373\u65F6\u66F4\u65B0\uFF1B\u9ED8\u8BA4\u503C\u4E0E\u4E3B\u5E94\u7528\u4E00\u81F4\u3002",
203
+ sectionAppearance: "\u5916\u89C2",
204
+ sectionIcons: "\u56FE\u6807",
205
+ sectionLanguage: "\u8BED\u8A00",
206
+ sectionFont: "\u5B57\u4F53",
207
+ sectionViewport: "\u89C6\u53E3",
208
+ mode: "\u6A21\u5F0F",
209
+ palette: "\u8C03\u8272\u677F",
210
+ style: "\u6837\u5F0F",
211
+ uiLanguage: "\u754C\u9762\u8BED\u8A00",
212
+ fontFamily: "\u5B57\u4F53\u7CFB\u5217",
213
+ fontFamilyPlaceholder: "\u5E94\u7528\u9ED8\u8BA4\uFF08\u7CFB\u7EDF\u5B57\u4F53\u6808\uFF09",
214
+ fontFamilyHint: "\u7559\u7A7A\u5219\u4F7F\u7528\u5E94\u7528\u9ED8\u8BA4\u7684\u7CFB\u7EDF\u5B57\u4F53\u6808\u3002",
215
+ size: "\u5C3A\u5BF8",
216
+ viewportWidth: "\u89C6\u53E3\u5BBD\u5EA6",
217
+ viewportHeight: "\u89C6\u53E3\u9AD8\u5EA6",
218
+ custom: "\u81EA\u5B9A\u4E49",
219
+ system: "\u7CFB\u7EDF"
220
+ },
221
+ viewport: {
222
+ fill: "\u586B\u5145",
223
+ phone: "\u624B\u673A",
224
+ tablet: "\u5E73\u677F",
225
+ small: "\u5C0F",
226
+ wide: "\u5BBD"
227
+ },
228
+ app: {
229
+ loading: "\u52A0\u8F7D\u4E2D\u2026",
230
+ failedTitle: "\u5DE5\u4F5C\u53F0\u542F\u52A8\u5931\u8D25",
231
+ noResources: "\u6CA1\u6709\u8D44\u6E90",
232
+ noResourcesHint: "\u4F20\u5165 --data <dir> \u6216 --storage <hoardodile-root>"
233
+ }
234
+ };
235
+
236
+ // src/catalogs/workbench.ts
237
+ var WORKBENCH_CATALOGS = {
238
+ en: en_default,
239
+ zh: zh_default,
240
+ ja: ja_default,
241
+ de: de_default,
242
+ es: es_default
243
+ };
244
+ function workbenchCatalogFor(language) {
245
+ return language === void 0 ? en_default : WORKBENCH_CATALOGS[language];
246
+ }
247
+
248
+ export { WORKBENCH_CATALOGS, workbenchCatalogFor };
249
+ //# sourceMappingURL=workbench.js.map
250
+ //# sourceMappingURL=workbench.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/workbench/de.json","../../src/workbench/en.json","../../src/workbench/es.json","../../src/workbench/ja.json","../../src/workbench/zh.json","../../src/catalogs/workbench.ts"],"names":[],"mappings":"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","file":"workbench.js","sourcesContent":["{\n\t\"toolbar\": {\n\t\t\"plugin\": \"Plugin\",\n\t\t\"reloadAria\": \"Plugin neu laden\",\n\t\t\"reloadHint\": \"Neu laden — mit dem aktuellen Build neu einbinden\",\n\t\t\"resource\": \"Ressource\"\n\t},\n\t\"popover\": {\n\t\t\"configure\": \"Konfigurieren\",\n\t\t\"settingsAria\": \"Iframe-Einstellungen\",\n\t\t\"title\": \"Iframe-Einstellungen\",\n\t\t\"tooltip\": \"Iframe-Einstellungen — live übernommen\",\n\t\t\"description\": \"Live-Aktualisierung ohne Neuladen des Plugins; die Standardwerte entsprechen der Haupt-App.\",\n\t\t\"sectionAppearance\": \"Erscheinungsbild\",\n\t\t\"sectionIcons\": \"Symbole\",\n\t\t\"sectionLanguage\": \"Sprache\",\n\t\t\"sectionFont\": \"Schriftart\",\n\t\t\"sectionViewport\": \"Ansichtsfenster\",\n\t\t\"mode\": \"Modus\",\n\t\t\"palette\": \"Palette\",\n\t\t\"style\": \"Stil\",\n\t\t\"uiLanguage\": \"UI-Sprache\",\n\t\t\"fontFamily\": \"Schriftfamilie\",\n\t\t\"fontFamilyPlaceholder\": \"App-Standard (System-Schriftstapel)\",\n\t\t\"fontFamilyHint\": \"Leer lassen für den App-Standard-System-Schriftstapel.\",\n\t\t\"size\": \"Größe\",\n\t\t\"viewportWidth\": \"Ansichtsfensterbreite\",\n\t\t\"viewportHeight\": \"Ansichtsfensterhöhe\",\n\t\t\"custom\": \"Benutzerdefiniert\",\n\t\t\"system\": \"System\"\n\t},\n\t\"viewport\": {\n\t\t\"fill\": \"Ausfüllen\",\n\t\t\"phone\": \"Telefon\",\n\t\t\"tablet\": \"Tablet\",\n\t\t\"small\": \"Klein\",\n\t\t\"wide\": \"Breit\"\n\t},\n\t\"app\": {\n\t\t\"loading\": \"Wird geladen…\",\n\t\t\"failedTitle\": \"Workbench konnte nicht gestartet werden\",\n\t\t\"noResources\": \"Keine Ressourcen\",\n\t\t\"noResourcesHint\": \"--data <dir> oder --storage <hoardodile-root> übergeben\"\n\t}\n}\n","{\n\t\"toolbar\": {\n\t\t\"plugin\": \"plugin\",\n\t\t\"reloadAria\": \"Reload plugin\",\n\t\t\"reloadHint\": \"Reload — re-mount with the current build\",\n\t\t\"resource\": \"Resource\"\n\t},\n\t\"popover\": {\n\t\t\"configure\": \"Configure\",\n\t\t\"settingsAria\": \"Iframe settings\",\n\t\t\"title\": \"Iframe settings\",\n\t\t\"tooltip\": \"Iframe settings — applied live\",\n\t\t\"description\": \"Live updates without reloading the plugin; defaults match the main app.\",\n\t\t\"sectionAppearance\": \"Appearance\",\n\t\t\"sectionIcons\": \"Icons\",\n\t\t\"sectionLanguage\": \"Language\",\n\t\t\"sectionFont\": \"Font\",\n\t\t\"sectionViewport\": \"Viewport\",\n\t\t\"mode\": \"Mode\",\n\t\t\"palette\": \"Palette\",\n\t\t\"style\": \"Style\",\n\t\t\"uiLanguage\": \"UI language\",\n\t\t\"fontFamily\": \"Font family\",\n\t\t\"fontFamilyPlaceholder\": \"App default (system stack)\",\n\t\t\"fontFamilyHint\": \"Leave empty for the app default system stack.\",\n\t\t\"size\": \"Size\",\n\t\t\"viewportWidth\": \"Viewport width\",\n\t\t\"viewportHeight\": \"Viewport height\",\n\t\t\"custom\": \"Custom\",\n\t\t\"system\": \"System\"\n\t},\n\t\"viewport\": {\n\t\t\"fill\": \"Fill\",\n\t\t\"phone\": \"Phone\",\n\t\t\"tablet\": \"Tablet\",\n\t\t\"small\": \"Small\",\n\t\t\"wide\": \"Wide\"\n\t},\n\t\"app\": {\n\t\t\"loading\": \"loading…\",\n\t\t\"failedTitle\": \"Workbench failed to start\",\n\t\t\"noResources\": \"No resources\",\n\t\t\"noResourcesHint\": \"pass --data <dir> or --storage <hoardodile-root>\"\n\t}\n}\n","{\n\t\"toolbar\": {\n\t\t\"plugin\": \"plugin\",\n\t\t\"reloadAria\": \"Recargar plugin\",\n\t\t\"reloadHint\": \"Recargar — volver a montar con la compilación actual\",\n\t\t\"resource\": \"Recurso\"\n\t},\n\t\"popover\": {\n\t\t\"configure\": \"Configurar\",\n\t\t\"settingsAria\": \"Ajustes del iframe\",\n\t\t\"title\": \"Ajustes del iframe\",\n\t\t\"tooltip\": \"Ajustes del iframe — se aplican en vivo\",\n\t\t\"description\": \"Actualización en vivo sin recargar el plugin; los valores predeterminados coinciden con la app principal.\",\n\t\t\"sectionAppearance\": \"Apariencia\",\n\t\t\"sectionIcons\": \"Iconos\",\n\t\t\"sectionLanguage\": \"Idioma\",\n\t\t\"sectionFont\": \"Fuente\",\n\t\t\"sectionViewport\": \"Viewport\",\n\t\t\"mode\": \"Modo\",\n\t\t\"palette\": \"Paleta\",\n\t\t\"style\": \"Estilo\",\n\t\t\"uiLanguage\": \"Idioma de la interfaz\",\n\t\t\"fontFamily\": \"Familia tipográfica\",\n\t\t\"fontFamilyPlaceholder\": \"Predeterminado de la app (pila del sistema)\",\n\t\t\"fontFamilyHint\": \"Déjalo vacío para la pila del sistema predeterminada de la app.\",\n\t\t\"size\": \"Tamaño\",\n\t\t\"viewportWidth\": \"Ancho del viewport\",\n\t\t\"viewportHeight\": \"Alto del viewport\",\n\t\t\"custom\": \"Personalizado\",\n\t\t\"system\": \"Sistema\"\n\t},\n\t\"viewport\": {\n\t\t\"fill\": \"Llenar\",\n\t\t\"phone\": \"Teléfono\",\n\t\t\"tablet\": \"Tableta\",\n\t\t\"small\": \"Pequeño\",\n\t\t\"wide\": \"Ancho\"\n\t},\n\t\"app\": {\n\t\t\"loading\": \"Cargando…\",\n\t\t\"failedTitle\": \"No se pudo iniciar el workbench\",\n\t\t\"noResources\": \"Sin recursos\",\n\t\t\"noResourcesHint\": \"pasa --data <dir> o --storage <hoardodile-root>\"\n\t}\n}\n","{\n\t\"toolbar\": {\n\t\t\"plugin\": \"プラグイン\",\n\t\t\"reloadAria\": \"プラグインを再読み込み\",\n\t\t\"reloadHint\": \"再読み込み — 現在のビルドで再マウント\",\n\t\t\"resource\": \"リソース\"\n\t},\n\t\"popover\": {\n\t\t\"configure\": \"設定\",\n\t\t\"settingsAria\": \"iframe 設定\",\n\t\t\"title\": \"iframe 設定\",\n\t\t\"tooltip\": \"iframe 設定 — ライブ反映\",\n\t\t\"description\": \"プラグインを再読み込みせずに即時更新。デフォルトはメインアプリと一致します。\",\n\t\t\"sectionAppearance\": \"外観\",\n\t\t\"sectionIcons\": \"アイコン\",\n\t\t\"sectionLanguage\": \"言語\",\n\t\t\"sectionFont\": \"フォント\",\n\t\t\"sectionViewport\": \"ビューポート\",\n\t\t\"mode\": \"モード\",\n\t\t\"palette\": \"パレット\",\n\t\t\"style\": \"スタイル\",\n\t\t\"uiLanguage\": \"UI 言語\",\n\t\t\"fontFamily\": \"フォントファミリー\",\n\t\t\"fontFamilyPlaceholder\": \"アプリ既定(システムフォント)\",\n\t\t\"fontFamilyHint\": \"空欄ならアプリ既定のシステムフォントを使用します。\",\n\t\t\"size\": \"サイズ\",\n\t\t\"viewportWidth\": \"ビューポート幅\",\n\t\t\"viewportHeight\": \"ビューポート高さ\",\n\t\t\"custom\": \"カスタム\",\n\t\t\"system\": \"システム\"\n\t},\n\t\"viewport\": {\n\t\t\"fill\": \"フィル\",\n\t\t\"phone\": \"フォン\",\n\t\t\"tablet\": \"タブレット\",\n\t\t\"small\": \"小\",\n\t\t\"wide\": \"ワイド\"\n\t},\n\t\"app\": {\n\t\t\"loading\": \"読み込み中…\",\n\t\t\"failedTitle\": \"ワークベンチを起動できませんでした\",\n\t\t\"noResources\": \"リソースがありません\",\n\t\t\"noResourcesHint\": \"--data <dir> または --storage <hoardodile-root> を指定してください\"\n\t}\n}\n","{\n\t\"toolbar\": {\n\t\t\"plugin\": \"插件\",\n\t\t\"reloadAria\": \"重新加载插件\",\n\t\t\"reloadHint\": \"重新加载——用当前构建重新挂载\",\n\t\t\"resource\": \"资源\"\n\t},\n\t\"popover\": {\n\t\t\"configure\": \"配置\",\n\t\t\"settingsAria\": \"iframe 设置\",\n\t\t\"title\": \"iframe 设置\",\n\t\t\"tooltip\": \"iframe 设置——实时生效\",\n\t\t\"description\": \"无需重载插件即可即时更新;默认值与主应用一致。\",\n\t\t\"sectionAppearance\": \"外观\",\n\t\t\"sectionIcons\": \"图标\",\n\t\t\"sectionLanguage\": \"语言\",\n\t\t\"sectionFont\": \"字体\",\n\t\t\"sectionViewport\": \"视口\",\n\t\t\"mode\": \"模式\",\n\t\t\"palette\": \"调色板\",\n\t\t\"style\": \"样式\",\n\t\t\"uiLanguage\": \"界面语言\",\n\t\t\"fontFamily\": \"字体系列\",\n\t\t\"fontFamilyPlaceholder\": \"应用默认(系统字体栈)\",\n\t\t\"fontFamilyHint\": \"留空则使用应用默认的系统字体栈。\",\n\t\t\"size\": \"尺寸\",\n\t\t\"viewportWidth\": \"视口宽度\",\n\t\t\"viewportHeight\": \"视口高度\",\n\t\t\"custom\": \"自定义\",\n\t\t\"system\": \"系统\"\n\t},\n\t\"viewport\": {\n\t\t\"fill\": \"填充\",\n\t\t\"phone\": \"手机\",\n\t\t\"tablet\": \"平板\",\n\t\t\"small\": \"小\",\n\t\t\"wide\": \"宽\"\n\t},\n\t\"app\": {\n\t\t\"loading\": \"加载中…\",\n\t\t\"failedTitle\": \"工作台启动失败\",\n\t\t\"noResources\": \"没有资源\",\n\t\t\"noResourcesHint\": \"传入 --data <dir> 或 --storage <hoardodile-root>\"\n\t}\n}\n","/**\n * The workbench catalog registry: dev-tool chrome strings (the offline\n * plugin workbench's own UI — toolbar, config popover, empty states).\n * Unlike the `ui` namespace these are never bundled by the app or the\n * plugin SDK; only the workbench imports this subpath. Same lockstep\n * rules as the other catalogs; `parity.test.ts` enforces them.\n */\n\nimport type { SupportedLanguage } from \"../core.ts\"\nimport de from \"../workbench/de.json\"\nimport en from \"../workbench/en.json\"\nimport es from \"../workbench/es.json\"\nimport ja from \"../workbench/ja.json\"\nimport zh from \"../workbench/zh.json\"\n\nexport const WORKBENCH_CATALOGS = {\n\ten,\n\tzh,\n\tja,\n\tde,\n\tes,\n} as const satisfies Record<SupportedLanguage, typeof en>\n\n/** Resolve the workbench catalog for the active language; undefined → English. */\nexport function workbenchCatalogFor(\n\tlanguage: SupportedLanguage | undefined,\n): typeof en {\n\treturn language === undefined ? en : WORKBENCH_CATALOGS[language]\n}\n"]}