nuxt-i18n-micro 1.33.2 → 1.34.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/dist/client/200.html +9 -9
- package/dist/client/404.html +9 -9
- package/dist/client/_nuxt/{aMbB5uuc.js → CBccCxXK.js} +1 -1
- package/dist/client/_nuxt/{BPVvw6x6.js → DNen4El9.js} +1 -1
- package/dist/client/_nuxt/{BDOV1jAH.js → Ltm7XuUs.js} +1 -1
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/a88f9407-2b55-410b-a3fb-1453f7918998.json +1 -0
- package/dist/client/_nuxt/n4MbYZHF.js +3822 -0
- package/dist/client/index.html +9 -9
- package/dist/module.json +1 -1
- package/dist/runtime/components/i18n-switcher.vue +2 -1
- package/dist/runtime/components/i18n-t.vue.d.ts +303 -0
- package/dist/runtime/plugins/01.plugin.js +4 -2
- package/dist/runtime/translationHelper.js +16 -9
- package/package.json +15 -15
- package/dist/client/_nuxt/4JH8UTMa.js +0 -98
- package/dist/client/_nuxt/builds/meta/84f284c0-5526-4316-b71d-a0b375f42353.json +0 -1
- /package/dist/client/_nuxt/{entry.BqOlM4b6.css → entry.BWujgj23.css} +0 -0
- /package/dist/client/_nuxt/{error-404.C_4C5G96.css → error-404.SWzu_puR.css} +0 -0
- /package/dist/client/_nuxt/{error-500.CBAEdpZV.css → error-500.Bkv_zTjr.css} +0 -0
package/dist/client/index.html
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<!DOCTYPE html><html data-capo=""><head><meta charset="utf-8">
|
|
2
2
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
3
|
-
<link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.
|
|
4
|
-
<link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/
|
|
3
|
+
<link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.BWujgj23.css" crossorigin>
|
|
4
|
+
<link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/n4MbYZHF.js">
|
|
5
5
|
<link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/B6E6ObS_.js">
|
|
6
|
-
<link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.
|
|
7
|
-
<link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/
|
|
8
|
-
<link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/
|
|
9
|
-
<link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.
|
|
10
|
-
<link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/
|
|
11
|
-
<script type="module" src="/__nuxt-i18n-micro/_nuxt/
|
|
12
|
-
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"
|
|
6
|
+
<link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-404.SWzu_puR.css">
|
|
7
|
+
<link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Ltm7XuUs.js">
|
|
8
|
+
<link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/CBccCxXK.js">
|
|
9
|
+
<link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.Bkv_zTjr.css">
|
|
10
|
+
<link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DNen4El9.js">
|
|
11
|
+
<script type="module" src="/__nuxt-i18n-micro/_nuxt/n4MbYZHF.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1732830066956,false]</script>
|
|
12
|
+
<script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"a88f9407-2b55-410b-a3fb-1453f7918998",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
|
package/dist/module.json
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
|
|
34
34
|
<NuxtLink
|
|
35
35
|
:class="`switcher-locale-${locale.code}`"
|
|
36
|
-
:to="$switchLocaleRoute(locale.code)"
|
|
36
|
+
:to="$switchLocaleRoute(locale.code) as RouteLocationRaw"
|
|
37
37
|
:style="[
|
|
38
38
|
linkStyle,
|
|
39
39
|
locale.code === currentLocale ? activeLinkStyle : {},
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
<script lang="ts" setup>
|
|
71
71
|
import { ref, computed } from 'vue'
|
|
72
72
|
import type { CSSProperties } from 'vue'
|
|
73
|
+
import type { RouteLocationRaw } from 'vue-router'
|
|
73
74
|
import { useNuxtApp } from '#app'
|
|
74
75
|
|
|
75
76
|
type LocaleCode = string
|
|
@@ -75,3 +75,306 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
75
75
|
customPluralRule: PluralFunc;
|
|
76
76
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
77
77
|
export default _default;
|
|
78
|
+
declare module 'vue' {
|
|
79
|
+
interface GlobalComponents {
|
|
80
|
+
}
|
|
81
|
+
interface GlobalDirectives {
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
declare global {
|
|
85
|
+
const __VLS_intrinsicElements: __VLS_IntrinsicElements;
|
|
86
|
+
const __VLS_directiveBindingRestFields: {
|
|
87
|
+
instance: null;
|
|
88
|
+
oldValue: null;
|
|
89
|
+
modifiers: any;
|
|
90
|
+
dir: any;
|
|
91
|
+
};
|
|
92
|
+
const __VLS_unref: typeof import('vue').unref;
|
|
93
|
+
const __VLS_nativeElements: {
|
|
94
|
+
a: HTMLAnchorElement;
|
|
95
|
+
abbr: HTMLElement;
|
|
96
|
+
address: HTMLElement;
|
|
97
|
+
area: HTMLAreaElement;
|
|
98
|
+
article: HTMLElement;
|
|
99
|
+
aside: HTMLElement;
|
|
100
|
+
audio: HTMLAudioElement;
|
|
101
|
+
b: HTMLElement;
|
|
102
|
+
base: HTMLBaseElement;
|
|
103
|
+
bdi: HTMLElement;
|
|
104
|
+
bdo: HTMLElement;
|
|
105
|
+
blockquote: HTMLQuoteElement;
|
|
106
|
+
body: HTMLBodyElement;
|
|
107
|
+
br: HTMLBRElement;
|
|
108
|
+
button: HTMLButtonElement;
|
|
109
|
+
canvas: HTMLCanvasElement;
|
|
110
|
+
caption: HTMLTableCaptionElement;
|
|
111
|
+
cite: HTMLElement;
|
|
112
|
+
code: HTMLElement;
|
|
113
|
+
col: HTMLTableColElement;
|
|
114
|
+
colgroup: HTMLTableColElement;
|
|
115
|
+
data: HTMLDataElement;
|
|
116
|
+
datalist: HTMLDataListElement;
|
|
117
|
+
dd: HTMLElement;
|
|
118
|
+
del: HTMLModElement;
|
|
119
|
+
details: HTMLDetailsElement;
|
|
120
|
+
dfn: HTMLElement;
|
|
121
|
+
dialog: HTMLDialogElement;
|
|
122
|
+
div: HTMLDivElement;
|
|
123
|
+
dl: HTMLDListElement;
|
|
124
|
+
dt: HTMLElement;
|
|
125
|
+
em: HTMLElement;
|
|
126
|
+
embed: HTMLEmbedElement;
|
|
127
|
+
fieldset: HTMLFieldSetElement;
|
|
128
|
+
figcaption: HTMLElement;
|
|
129
|
+
figure: HTMLElement;
|
|
130
|
+
footer: HTMLElement;
|
|
131
|
+
form: HTMLFormElement;
|
|
132
|
+
h1: HTMLHeadingElement;
|
|
133
|
+
h2: HTMLHeadingElement;
|
|
134
|
+
h3: HTMLHeadingElement;
|
|
135
|
+
h4: HTMLHeadingElement;
|
|
136
|
+
h5: HTMLHeadingElement;
|
|
137
|
+
h6: HTMLHeadingElement;
|
|
138
|
+
head: HTMLHeadElement;
|
|
139
|
+
header: HTMLElement;
|
|
140
|
+
hgroup: HTMLElement;
|
|
141
|
+
hr: HTMLHRElement;
|
|
142
|
+
html: HTMLHtmlElement;
|
|
143
|
+
i: HTMLElement;
|
|
144
|
+
iframe: HTMLIFrameElement;
|
|
145
|
+
img: HTMLImageElement;
|
|
146
|
+
input: HTMLInputElement;
|
|
147
|
+
ins: HTMLModElement;
|
|
148
|
+
kbd: HTMLElement;
|
|
149
|
+
label: HTMLLabelElement;
|
|
150
|
+
legend: HTMLLegendElement;
|
|
151
|
+
li: HTMLLIElement;
|
|
152
|
+
link: HTMLLinkElement;
|
|
153
|
+
main: HTMLElement;
|
|
154
|
+
map: HTMLMapElement;
|
|
155
|
+
mark: HTMLElement;
|
|
156
|
+
menu: HTMLMenuElement;
|
|
157
|
+
meta: HTMLMetaElement;
|
|
158
|
+
meter: HTMLMeterElement;
|
|
159
|
+
nav: HTMLElement;
|
|
160
|
+
noscript: HTMLElement;
|
|
161
|
+
object: HTMLObjectElement;
|
|
162
|
+
ol: HTMLOListElement;
|
|
163
|
+
optgroup: HTMLOptGroupElement;
|
|
164
|
+
option: HTMLOptionElement;
|
|
165
|
+
output: HTMLOutputElement;
|
|
166
|
+
p: HTMLParagraphElement;
|
|
167
|
+
picture: HTMLPictureElement;
|
|
168
|
+
pre: HTMLPreElement;
|
|
169
|
+
progress: HTMLProgressElement;
|
|
170
|
+
q: HTMLQuoteElement;
|
|
171
|
+
rp: HTMLElement;
|
|
172
|
+
rt: HTMLElement;
|
|
173
|
+
ruby: HTMLElement;
|
|
174
|
+
s: HTMLElement;
|
|
175
|
+
samp: HTMLElement;
|
|
176
|
+
script: HTMLScriptElement;
|
|
177
|
+
search: HTMLElement;
|
|
178
|
+
section: HTMLElement;
|
|
179
|
+
select: HTMLSelectElement;
|
|
180
|
+
slot: HTMLSlotElement;
|
|
181
|
+
small: HTMLElement;
|
|
182
|
+
source: HTMLSourceElement;
|
|
183
|
+
span: HTMLSpanElement;
|
|
184
|
+
strong: HTMLElement;
|
|
185
|
+
style: HTMLStyleElement;
|
|
186
|
+
sub: HTMLElement;
|
|
187
|
+
summary: HTMLElement;
|
|
188
|
+
sup: HTMLElement;
|
|
189
|
+
table: HTMLTableElement;
|
|
190
|
+
tbody: HTMLTableSectionElement;
|
|
191
|
+
td: HTMLTableCellElement;
|
|
192
|
+
template: HTMLTemplateElement;
|
|
193
|
+
textarea: HTMLTextAreaElement;
|
|
194
|
+
tfoot: HTMLTableSectionElement;
|
|
195
|
+
th: HTMLTableCellElement;
|
|
196
|
+
thead: HTMLTableSectionElement;
|
|
197
|
+
time: HTMLTimeElement;
|
|
198
|
+
title: HTMLTitleElement;
|
|
199
|
+
tr: HTMLTableRowElement;
|
|
200
|
+
track: HTMLTrackElement;
|
|
201
|
+
u: HTMLElement;
|
|
202
|
+
ul: HTMLUListElement;
|
|
203
|
+
var: HTMLElement;
|
|
204
|
+
video: HTMLVideoElement;
|
|
205
|
+
wbr: HTMLElement;
|
|
206
|
+
animate: SVGAnimateElement;
|
|
207
|
+
animateMotion: SVGAnimateMotionElement;
|
|
208
|
+
animateTransform: SVGAnimateTransformElement;
|
|
209
|
+
circle: SVGCircleElement;
|
|
210
|
+
clipPath: SVGClipPathElement;
|
|
211
|
+
defs: SVGDefsElement;
|
|
212
|
+
desc: SVGDescElement;
|
|
213
|
+
ellipse: SVGEllipseElement;
|
|
214
|
+
feBlend: SVGFEBlendElement;
|
|
215
|
+
feColorMatrix: SVGFEColorMatrixElement;
|
|
216
|
+
feComponentTransfer: SVGFEComponentTransferElement;
|
|
217
|
+
feComposite: SVGFECompositeElement;
|
|
218
|
+
feConvolveMatrix: SVGFEConvolveMatrixElement;
|
|
219
|
+
feDiffuseLighting: SVGFEDiffuseLightingElement;
|
|
220
|
+
feDisplacementMap: SVGFEDisplacementMapElement;
|
|
221
|
+
feDistantLight: SVGFEDistantLightElement;
|
|
222
|
+
feDropShadow: SVGFEDropShadowElement;
|
|
223
|
+
feFlood: SVGFEFloodElement;
|
|
224
|
+
feFuncA: SVGFEFuncAElement;
|
|
225
|
+
feFuncB: SVGFEFuncBElement;
|
|
226
|
+
feFuncG: SVGFEFuncGElement;
|
|
227
|
+
feFuncR: SVGFEFuncRElement;
|
|
228
|
+
feGaussianBlur: SVGFEGaussianBlurElement;
|
|
229
|
+
feImage: SVGFEImageElement;
|
|
230
|
+
feMerge: SVGFEMergeElement;
|
|
231
|
+
feMergeNode: SVGFEMergeNodeElement;
|
|
232
|
+
feMorphology: SVGFEMorphologyElement;
|
|
233
|
+
feOffset: SVGFEOffsetElement;
|
|
234
|
+
fePointLight: SVGFEPointLightElement;
|
|
235
|
+
feSpecularLighting: SVGFESpecularLightingElement;
|
|
236
|
+
feSpotLight: SVGFESpotLightElement;
|
|
237
|
+
feTile: SVGFETileElement;
|
|
238
|
+
feTurbulence: SVGFETurbulenceElement;
|
|
239
|
+
filter: SVGFilterElement;
|
|
240
|
+
foreignObject: SVGForeignObjectElement;
|
|
241
|
+
g: SVGGElement;
|
|
242
|
+
image: SVGImageElement;
|
|
243
|
+
line: SVGLineElement;
|
|
244
|
+
linearGradient: SVGLinearGradientElement;
|
|
245
|
+
marker: SVGMarkerElement;
|
|
246
|
+
mask: SVGMaskElement;
|
|
247
|
+
metadata: SVGMetadataElement;
|
|
248
|
+
mpath: SVGMPathElement;
|
|
249
|
+
path: SVGPathElement;
|
|
250
|
+
pattern: SVGPatternElement;
|
|
251
|
+
polygon: SVGPolygonElement;
|
|
252
|
+
polyline: SVGPolylineElement;
|
|
253
|
+
radialGradient: SVGRadialGradientElement;
|
|
254
|
+
rect: SVGRectElement;
|
|
255
|
+
set: SVGSetElement;
|
|
256
|
+
stop: SVGStopElement;
|
|
257
|
+
svg: SVGSVGElement;
|
|
258
|
+
switch: SVGSwitchElement;
|
|
259
|
+
symbol: SVGSymbolElement;
|
|
260
|
+
text: SVGTextElement;
|
|
261
|
+
textPath: SVGTextPathElement;
|
|
262
|
+
tspan: SVGTSpanElement;
|
|
263
|
+
use: SVGUseElement;
|
|
264
|
+
view: SVGViewElement;
|
|
265
|
+
};
|
|
266
|
+
type __VLS_IntrinsicElements = import('vue/jsx-runtime').JSX.IntrinsicElements;
|
|
267
|
+
type __VLS_Element = import('vue/jsx-runtime').JSX.Element;
|
|
268
|
+
type __VLS_GlobalComponents = import('vue').GlobalComponents & Pick<typeof import('vue'), 'Transition' | 'TransitionGroup' | 'KeepAlive' | 'Suspense' | 'Teleport'>;
|
|
269
|
+
type __VLS_GlobalDirectives = import('vue').GlobalDirectives;
|
|
270
|
+
type __VLS_IsAny<T> = 0 extends 1 & T ? true : false;
|
|
271
|
+
type __VLS_PickNotAny<A, B> = __VLS_IsAny<A> extends true ? B : A;
|
|
272
|
+
type __VLS_unknownDirective = (arg1: unknown, arg2: unknown, arg3: unknown, arg4: unknown) => void;
|
|
273
|
+
type __VLS_WithComponent<N0 extends string, LocalComponents, N1 extends string, N2 extends string, N3 extends string> = N1 extends keyof LocalComponents ? N1 extends N0 ? Pick<LocalComponents, N0 extends keyof LocalComponents ? N0 : never> : {
|
|
274
|
+
[K in N0]: LocalComponents[N1];
|
|
275
|
+
} : N2 extends keyof LocalComponents ? N2 extends N0 ? Pick<LocalComponents, N0 extends keyof LocalComponents ? N0 : never> : {
|
|
276
|
+
[K in N0]: LocalComponents[N2];
|
|
277
|
+
} : N3 extends keyof LocalComponents ? N3 extends N0 ? Pick<LocalComponents, N0 extends keyof LocalComponents ? N0 : never> : {
|
|
278
|
+
[K in N0]: LocalComponents[N3];
|
|
279
|
+
} : N1 extends keyof __VLS_GlobalComponents ? N1 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : {
|
|
280
|
+
[K in N0]: __VLS_GlobalComponents[N1];
|
|
281
|
+
} : N2 extends keyof __VLS_GlobalComponents ? N2 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : {
|
|
282
|
+
[K in N0]: __VLS_GlobalComponents[N2];
|
|
283
|
+
} : N3 extends keyof __VLS_GlobalComponents ? N3 extends N0 ? Pick<__VLS_GlobalComponents, N0 extends keyof __VLS_GlobalComponents ? N0 : never> : {
|
|
284
|
+
[K in N0]: __VLS_GlobalComponents[N3];
|
|
285
|
+
} : {
|
|
286
|
+
[K in N0]: unknown;
|
|
287
|
+
};
|
|
288
|
+
type __VLS_FunctionalComponentProps<T, K> = '__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends {
|
|
289
|
+
__ctx?: {
|
|
290
|
+
props?: infer P;
|
|
291
|
+
};
|
|
292
|
+
} ? NonNullable<P> : never : T extends (props: infer P, ...args: any) => any ? P : {};
|
|
293
|
+
type __VLS_IsFunction<T, K> = K extends keyof T ? __VLS_IsAny<T[K]> extends false ? unknown extends T[K] ? false : true : false : false;
|
|
294
|
+
type __VLS_UnionToIntersection<U> = (U extends unknown ? (arg: U) => unknown : never) extends ((arg: infer P) => unknown) ? P : never;
|
|
295
|
+
type __VLS_OverloadUnionInner<T, U = unknown> = U & T extends (...args: infer A) => infer R ? U extends T ? never : __VLS_OverloadUnionInner<T, Pick<T, keyof T> & U & ((...args: A) => R)> | ((...args: A) => R) : never;
|
|
296
|
+
type __VLS_OverloadUnion<T> = Exclude<__VLS_OverloadUnionInner<(() => never) & T>, T extends () => never ? never : () => never>;
|
|
297
|
+
type __VLS_ConstructorOverloads<T> = __VLS_OverloadUnion<T> extends infer F ? F extends (event: infer E, ...args: infer A) => any ? {
|
|
298
|
+
[K in E & string]: (...args: A) => void;
|
|
299
|
+
} : never : never;
|
|
300
|
+
type __VLS_NormalizeEmits<T> = __VLS_PrettifyGlobal<__VLS_UnionToIntersection<__VLS_ConstructorOverloads<T> & {
|
|
301
|
+
[K in keyof T]: T[K] extends any[] ? {
|
|
302
|
+
(...args: T[K]): void;
|
|
303
|
+
} : never;
|
|
304
|
+
}>>;
|
|
305
|
+
type __VLS_PrettifyGlobal<T> = {
|
|
306
|
+
[K in keyof T]: T[K];
|
|
307
|
+
} & {};
|
|
308
|
+
type __VLS_PickFunctionalComponentCtx<T, K> = NonNullable<__VLS_PickNotAny<'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends {
|
|
309
|
+
__ctx?: infer Ctx;
|
|
310
|
+
} ? Ctx : never : any, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any>>;
|
|
311
|
+
type __VLS_UseTemplateRef<T> = Readonly<import('vue').ShallowRef<T | null>>;
|
|
312
|
+
function __VLS_getVForSourceType(source: number): [number, number, number][];
|
|
313
|
+
function __VLS_getVForSourceType(source: string): [string, number, number][];
|
|
314
|
+
function __VLS_getVForSourceType<T extends any[]>(source: T): [
|
|
315
|
+
item: T[number],
|
|
316
|
+
key: number,
|
|
317
|
+
index: number
|
|
318
|
+
][];
|
|
319
|
+
function __VLS_getVForSourceType<T extends {
|
|
320
|
+
[Symbol.iterator](): Iterator<any>;
|
|
321
|
+
}>(source: T): [
|
|
322
|
+
item: T extends {
|
|
323
|
+
[Symbol.iterator](): Iterator<infer T1>;
|
|
324
|
+
} ? T1 : never,
|
|
325
|
+
key: number,
|
|
326
|
+
index: undefined
|
|
327
|
+
][];
|
|
328
|
+
function __VLS_getVForSourceType<T extends number | {
|
|
329
|
+
[Symbol.iterator](): Iterator<any>;
|
|
330
|
+
}>(source: T): [
|
|
331
|
+
item: number | (Exclude<T, number> extends {
|
|
332
|
+
[Symbol.iterator](): Iterator<infer T1>;
|
|
333
|
+
} ? T1 : never),
|
|
334
|
+
key: number,
|
|
335
|
+
index: undefined
|
|
336
|
+
][];
|
|
337
|
+
function __VLS_getVForSourceType<T>(source: T): [
|
|
338
|
+
item: T[keyof T],
|
|
339
|
+
key: keyof T,
|
|
340
|
+
index: number
|
|
341
|
+
][];
|
|
342
|
+
function __VLS_getSlotParams<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>;
|
|
343
|
+
function __VLS_getSlotParam<T>(slot: T): Parameters<__VLS_PickNotAny<NonNullable<T>, (...args: any[]) => any>>[0];
|
|
344
|
+
function __VLS_asFunctionalDirective<T>(dir: T): T extends import('vue').ObjectDirective ? NonNullable<T['created' | 'beforeMount' | 'mounted' | 'beforeUpdate' | 'updated' | 'beforeUnmount' | 'unmounted']> : T extends (...args: any) => any ? T : __VLS_unknownDirective;
|
|
345
|
+
function __VLS_withScope<T, K>(ctx: T, scope: K): ctx is T & K;
|
|
346
|
+
function __VLS_makeOptional<T>(t: T): {
|
|
347
|
+
[K in keyof T]?: T[K];
|
|
348
|
+
};
|
|
349
|
+
function __VLS_nonNullable<T>(t: T): T extends null | undefined ? never : T;
|
|
350
|
+
function __VLS_asFunctionalComponent<T, K = T extends new (...args: any) => any ? InstanceType<T> : unknown>(t: T, instance?: K): T extends new (...args: any) => any ? (props: (K extends {
|
|
351
|
+
$props: infer Props;
|
|
352
|
+
} ? Props : any) & Record<string, unknown>, ctx?: any) => __VLS_Element & {
|
|
353
|
+
__ctx?: {
|
|
354
|
+
attrs?: any;
|
|
355
|
+
slots?: K extends {
|
|
356
|
+
$slots: infer Slots;
|
|
357
|
+
} ? Slots : any;
|
|
358
|
+
emit?: K extends {
|
|
359
|
+
$emit: infer Emit;
|
|
360
|
+
} ? Emit : any;
|
|
361
|
+
} & {
|
|
362
|
+
props?: (K extends {
|
|
363
|
+
$props: infer Props;
|
|
364
|
+
} ? Props : any) & Record<string, unknown>;
|
|
365
|
+
expose?(exposed: K): void;
|
|
366
|
+
};
|
|
367
|
+
} : T extends () => any ? (props: {}, ctx?: any) => ReturnType<T> : T extends (...args: any) => any ? T : (_: {} & Record<string, unknown>, ctx?: any) => {
|
|
368
|
+
__ctx?: {
|
|
369
|
+
attrs?: any;
|
|
370
|
+
expose?: any;
|
|
371
|
+
slots?: any;
|
|
372
|
+
emit?: any;
|
|
373
|
+
props?: {} & Record<string, unknown>;
|
|
374
|
+
};
|
|
375
|
+
};
|
|
376
|
+
function __VLS_elementAsFunction<T>(tag: T, endTag?: T): (_: T & Record<string, unknown>) => void;
|
|
377
|
+
function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(t: T): 2 extends Parameters<T>['length'] ? [any] : [];
|
|
378
|
+
function __VLS_normalizeSlot<S>(s: S): S extends () => infer R ? (props: {}) => R : S;
|
|
379
|
+
function __VLS_tryAsConstant<const T>(t: T): T;
|
|
380
|
+
}
|
|
@@ -218,14 +218,16 @@ export default defineNuxtPlugin(async (nuxtApp) => {
|
|
|
218
218
|
const hashLocale2 = i18nConfig.hashMode ? nuxtApp.runWithContext(() => (useCookie("hash-locale").value ?? i18nConfig.defaultLocale).toString()).toString() : null;
|
|
219
219
|
const locale = getCurrentLocale(to, i18nConfig, hashLocale2);
|
|
220
220
|
if (!i18nHelper.hasGeneralTranslation(locale)) {
|
|
221
|
-
const data = await $fetch(`/${apiBaseUrl}/general/${locale}/data.json?v=${i18nConfig.dateBuild}`, {
|
|
221
|
+
const data = await $fetch(`/${apiBaseUrl}/general/${locale}/data.json?v=${i18nConfig.dateBuild}`, {
|
|
222
|
+
baseURL: runtimeConfig.app.baseURL
|
|
223
|
+
});
|
|
222
224
|
await i18nHelper.loadTranslations(locale, data ?? {});
|
|
223
225
|
}
|
|
224
226
|
if (!i18nConfig.disablePageLocales) {
|
|
225
227
|
const routeName = getRouteName(to, locale);
|
|
226
228
|
await loadTranslationsIfNeeded(locale, routeName, to.fullPath);
|
|
227
229
|
}
|
|
228
|
-
|
|
230
|
+
nuxtApp.callHook("i18n:register", (translations, selectedLocale) => {
|
|
229
231
|
const routeName = getRouteName(to, locale);
|
|
230
232
|
i18nHelper.mergeTranslation(selectedLocale ?? locale, routeName, translations, true);
|
|
231
233
|
}, locale);
|
|
@@ -11,13 +11,21 @@ function deepClone(value) {
|
|
|
11
11
|
}
|
|
12
12
|
return value;
|
|
13
13
|
}
|
|
14
|
-
function findTranslation(translations,
|
|
14
|
+
function findTranslation(translations, key) {
|
|
15
15
|
let value = translations;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
if (translations === null) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
if (translations[key]) {
|
|
20
|
+
value = translations[key];
|
|
21
|
+
} else {
|
|
22
|
+
const parts = key.split(".");
|
|
23
|
+
for (const part of parts) {
|
|
24
|
+
if (value && typeof value === "object" && part in value) {
|
|
25
|
+
value = value[part];
|
|
26
|
+
} else {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
21
29
|
}
|
|
22
30
|
}
|
|
23
31
|
if (typeof value === "object" && value !== null) {
|
|
@@ -69,14 +77,13 @@ export function useTranslationHelper() {
|
|
|
69
77
|
if (cached) {
|
|
70
78
|
return cached;
|
|
71
79
|
}
|
|
72
|
-
const parts = key.split(".");
|
|
73
80
|
let result = null;
|
|
74
81
|
for (const dynamicCache of dynamicTranslationsCaches) {
|
|
75
|
-
result = findTranslation(dynamicCache[locale] || null,
|
|
82
|
+
result = findTranslation(dynamicCache[locale] || null, key);
|
|
76
83
|
if (result !== null) break;
|
|
77
84
|
}
|
|
78
85
|
if (!result) {
|
|
79
|
-
result = findTranslation(routeLocaleCache[cacheKey] || null,
|
|
86
|
+
result = findTranslation(routeLocaleCache[cacheKey] || null, key) ?? findTranslation(generalLocaleCache[locale] || null, key);
|
|
80
87
|
}
|
|
81
88
|
if (result) {
|
|
82
89
|
if (!serverTranslationCache[cacheKey]) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-i18n-micro",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.34.0",
|
|
4
4
|
"description": "Nuxt I18n Micro is a lightweight, high-performance internationalization module for Nuxt, designed to handle multi-language support with minimal overhead, fast build times, and efficient runtime performance.",
|
|
5
5
|
"repository": "s00d/nuxt-i18n-micro",
|
|
6
6
|
"license": "MIT",
|
|
@@ -62,28 +62,28 @@
|
|
|
62
62
|
"docs:preview": "vitepress preview docs"
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@nuxt/devtools-kit": "^1.
|
|
66
|
-
"@nuxt/kit": "^3.
|
|
65
|
+
"@nuxt/devtools-kit": "^1.6.1",
|
|
66
|
+
"@nuxt/kit": "^3.14.1592",
|
|
67
67
|
"chokidar": "^3.6.0",
|
|
68
68
|
"sirv": "^2.0.4",
|
|
69
69
|
"ufo": "^1.5.4"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"@nuxt/devtools": "^1.
|
|
73
|
-
"@nuxt/devtools-ui-kit": "^1.
|
|
72
|
+
"@nuxt/devtools": "^1.6.1",
|
|
73
|
+
"@nuxt/devtools-ui-kit": "^1.6.1",
|
|
74
74
|
"@nuxt/eslint-config": "0.5.5",
|
|
75
75
|
"@nuxt/module-builder": "^0.8.4",
|
|
76
|
-
"@nuxt/schema": "^3.
|
|
77
|
-
"@nuxt/test-utils": "^3.14.
|
|
78
|
-
"@playwright/test": "^1.
|
|
76
|
+
"@nuxt/schema": "^3.14.1592",
|
|
77
|
+
"@nuxt/test-utils": "^3.14.4",
|
|
78
|
+
"@playwright/test": "^1.49.0",
|
|
79
79
|
"@types/node": "^20.14.11",
|
|
80
|
-
"changelogen": "^0.5.
|
|
81
|
-
"eslint": "^8.
|
|
82
|
-
"nuxt": "^3.
|
|
83
|
-
"typescript": "5.
|
|
84
|
-
"vitepress": "^1.
|
|
85
|
-
"vitest": "^2.
|
|
86
|
-
"vue-tsc": "2.
|
|
80
|
+
"changelogen": "^0.5.7",
|
|
81
|
+
"eslint": "^8.57.1",
|
|
82
|
+
"nuxt": "^3.14.1592",
|
|
83
|
+
"typescript": "5.6.3",
|
|
84
|
+
"vitepress": "^1.5.0",
|
|
85
|
+
"vitest": "^2.1.6",
|
|
86
|
+
"vue-tsc": "2.1.10"
|
|
87
87
|
},
|
|
88
88
|
"optionalDependencies": {
|
|
89
89
|
"@rollup/rollup-linux-x64-gnu": "^4.9.6",
|