nuxt-i18n-micro 3.13.1 → 3.13.2

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.
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"de63387b-c983-467c-bbe3-fc436e608ff1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1772269229940,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"18b0ed8a-b21e-4af9-8577-9f18b9cd7286",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773134438477,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"de63387b-c983-467c-bbe3-fc436e608ff1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1772269229941,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"18b0ed8a-b21e-4af9-8577-9f18b9cd7286",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773134438478,false]</script></body></html>
@@ -1 +1 @@
1
- {"id":"de63387b-c983-467c-bbe3-fc436e608ff1","timestamp":1772269226925}
1
+ {"id":"18b0ed8a-b21e-4af9-8577-9f18b9cd7286","timestamp":1773134435178}
@@ -0,0 +1 @@
1
+ {"id":"18b0ed8a-b21e-4af9-8577-9f18b9cd7286","timestamp":1773134435178,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"de63387b-c983-467c-bbe3-fc436e608ff1",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1772269229941,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/entry.Kj_DYE7z.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js"><script type="module" src="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/D_aXYej0.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-404.CyBDSRXN.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Brscz0ku.js"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/Dt5GiM1K.js"><link rel="prefetch" as="style" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/error-500.DJtCwW7w.css"><link rel="prefetch" as="script" crossorigin href="/__NUXT_DEVTOOLS_I18N_BASE__/_nuxt/CXlkzKTu.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__NUXT_DEVTOOLS_I18N_BASE__/",buildId:"18b0ed8a-b21e-4af9-8577-9f18b9cd7286",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1773134438478,false]</script></body></html>
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuxt-i18n-micro",
3
3
  "configKey": "i18n",
4
- "version": "3.13.1",
4
+ "version": "3.13.2",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -292,6 +292,7 @@ function deepMergeTranslations(target, source) {
292
292
  }
293
293
  return output;
294
294
  }
295
+ const DEFAULT_CANONICAL_QUERY_WHITELIST = ["page", "sort", "filter", "search", "q", "query", "tag"];
295
296
  async function preMergeLocales(rootDirs, translationDirName, outputDir, locales, globalFallbackLocale, disablePageLocales) {
296
297
  if (existsSync(outputDir)) fs__default.rmSync(outputDir, { recursive: true, force: true });
297
298
  mkdirSync(outputDir, { recursive: true });
@@ -417,7 +418,7 @@ const module = defineNuxtModule({
417
418
  apiBaseServerHost: void 0,
418
419
  routesLocaleLinks: {},
419
420
  globalLocaleRoutes: {},
420
- canonicalQueryWhitelist: ["page", "sort", "filter", "search", "q", "query", "tag"],
421
+ canonicalQueryWhitelist: void 0,
421
422
  plural: defaultPlural,
422
423
  customRegexMatcher: void 0,
423
424
  excludePatterns: void 0,
@@ -544,7 +545,7 @@ const module = defineNuxtModule({
544
545
  apiBaseServerHost,
545
546
  isSSG,
546
547
  disablePageLocales: options.disablePageLocales ?? false,
547
- canonicalQueryWhitelist: options.canonicalQueryWhitelist ?? [],
548
+ canonicalQueryWhitelist: options.canonicalQueryWhitelist ?? DEFAULT_CANONICAL_QUERY_WHITELIST,
548
549
  excludePatterns: options.excludePatterns ?? [],
549
550
  routeLocales,
550
551
  routeDisableMeta,
@@ -39,7 +39,13 @@ export function useI18nLocale() {
39
39
  let locale = localeState.value;
40
40
  if (!locale && options.serverLocale) locale = options.serverLocale;
41
41
  if (!locale) locale = options.getLocaleFromRoute(options.route);
42
- if (locale && !localeState.value) setLocale(locale);
42
+ if (locale && !localeState.value) {
43
+ if (import.meta.server) {
44
+ localeState.value = locale;
45
+ } else {
46
+ setLocale(locale);
47
+ }
48
+ }
43
49
  return locale ?? "";
44
50
  };
45
51
  const isValidLocale = (locale) => !!locale && validLocales.includes(locale);
@@ -17,12 +17,14 @@ interface MetaObject {
17
17
  link: MetaLink[];
18
18
  meta: MetaTag[];
19
19
  }
20
- export declare const useLocaleHead: ({ addDirAttribute, identifierAttribute, addSeoAttributes, baseUrl }?: {
21
- addDirAttribute?: boolean | undefined;
22
- identifierAttribute?: string | undefined;
23
- addSeoAttributes?: boolean | undefined;
24
- baseUrl?: string | undefined;
25
- }) => {
20
+ interface UseLocaleHeadOptions {
21
+ addDirAttribute?: boolean;
22
+ identifierAttribute?: string;
23
+ addSeoAttributes?: boolean;
24
+ baseUrl?: string;
25
+ autoUpdate?: boolean;
26
+ }
27
+ export declare const useLocaleHead: ({ addDirAttribute, identifierAttribute, addSeoAttributes, baseUrl, autoUpdate, }?: UseLocaleHeadOptions) => {
26
28
  metaObject: import("vue").Ref<{
27
29
  htmlAttrs: {
28
30
  lang?: string | undefined;
@@ -1,9 +1,17 @@
1
1
  import { isNoPrefixStrategy } from "@i18n-micro/core";
2
2
  import { joinURL, parseURL, withQuery } from "ufo";
3
- import { ref, unref } from "vue";
3
+ import { ref, unref, watch } from "vue";
4
4
  import { useNuxtApp, useRoute } from "#imports";
5
5
  import { findAllowedLocalesForRoute } from "../utils/route-utils.js";
6
- export const useLocaleHead = ({ addDirAttribute = true, identifierAttribute = "id", addSeoAttributes = true, baseUrl = "/" } = {}) => {
6
+ export const useLocaleHead = ({
7
+ addDirAttribute = true,
8
+ identifierAttribute = "id",
9
+ addSeoAttributes = true,
10
+ baseUrl = "/",
11
+ autoUpdate = true
12
+ } = {}) => {
13
+ const nuxtApp = useNuxtApp();
14
+ const route = useRoute();
7
15
  const metaObject = ref({
8
16
  htmlAttrs: {},
9
17
  link: [],
@@ -21,21 +29,22 @@ export const useLocaleHead = ({ addDirAttribute = true, identifierAttribute = "i
21
29
  return withQuery(pathname, filtered);
22
30
  }
23
31
  function updateMeta() {
24
- const route = useRoute();
25
32
  if (route.matched.length === 0 || route.matched.some((record) => record.name === "custom-fallback-route")) {
26
33
  metaObject.value = { htmlAttrs: {}, link: [], meta: [] };
27
34
  return;
28
35
  }
29
- const i18nConfig = useNuxtApp().$getI18nConfig();
36
+ const i18nConfig = nuxtApp.$getI18nConfig();
30
37
  const { canonicalQueryWhitelist, routeLocales, localizedRouteNamePrefix } = i18nConfig;
31
38
  const strategy = i18nConfig.strategy;
32
39
  const localizedRouteNamePrefixResolved = localizedRouteNamePrefix || "localized-";
33
- const { $getLocales, $getLocale, $switchLocalePath } = useNuxtApp();
34
- if (!$getLocale || !$getLocales) return;
35
- const locale = unref($getLocale());
36
- const allLocales = unref($getLocales());
40
+ const { $getLocales, $getLocale, $switchLocalePath } = nuxtApp;
41
+ const allLocales = ($getLocales ? unref($getLocales()) : i18nConfig.locales) ?? [];
42
+ const firstSegment = route.path.replace(/^\//, "").split("/").filter(Boolean)[0];
43
+ const fallbackLocale = allLocales.find((loc) => loc.code === firstSegment)?.code || i18nConfig.defaultLocale || "en";
44
+ const locale = ($getLocale ? unref($getLocale()) : fallbackLocale) || fallbackLocale;
45
+ const switchLocalePath = $switchLocalePath || (() => "");
37
46
  const routeName = (route.name ?? "").toString();
38
- const currentLocale = unref($getLocales().find((loc) => loc.code === locale));
47
+ const currentLocale = allLocales.find((loc) => loc.code === locale);
39
48
  if (!currentLocale) return;
40
49
  const currentRouteLocales = findAllowedLocalesForRoute(route, routeLocales, localizedRouteNamePrefixResolved);
41
50
  const enabledLocales = allLocales.filter((loc) => !loc.disabled);
@@ -90,7 +99,7 @@ export const useLocaleHead = ({ addDirAttribute = true, identifierAttribute = "i
90
99
  };
91
100
  const defaultLocale = i18nConfig.defaultLocale || "en";
92
101
  const alternateLinks = isNoPrefixStrategy(strategy) ? [] : alternateLocales.flatMap((loc) => {
93
- const switchedPath = $switchLocalePath(loc.code);
102
+ const switchedPath = switchLocalePath(loc.code);
94
103
  if (!switchedPath) {
95
104
  return [];
96
105
  }
@@ -120,7 +129,7 @@ export const useLocaleHead = ({ addDirAttribute = true, identifierAttribute = "i
120
129
  });
121
130
  let xDefaultLink = null;
122
131
  if (!isNoPrefixStrategy(strategy)) {
123
- const defaultSwitchedPath = $switchLocalePath(defaultLocale);
132
+ const defaultSwitchedPath = switchLocalePath(defaultLocale);
124
133
  if (defaultSwitchedPath) {
125
134
  let xDefaultHref;
126
135
  if (defaultSwitchedPath.startsWith("http://") || defaultSwitchedPath.startsWith("https://")) {
@@ -139,5 +148,12 @@ export const useLocaleHead = ({ addDirAttribute = true, identifierAttribute = "i
139
148
  metaObject.value.meta = [ogLocaleMeta, ogUrlMeta, ...alternateOgLocalesMeta];
140
149
  metaObject.value.link = [canonicalLink, ...alternateLinks, ...xDefaultLink ? [xDefaultLink] : []];
141
150
  }
151
+ if (autoUpdate) {
152
+ watch(
153
+ () => [route.fullPath, route.name, route.matched.length],
154
+ () => updateMeta(),
155
+ { immediate: true }
156
+ );
157
+ }
142
158
  return { metaObject, updateMeta };
143
159
  };
@@ -19,7 +19,8 @@ export default defineNuxtPlugin((nuxtApp) => {
19
19
  addDirAttribute: true,
20
20
  identifierAttribute: "id",
21
21
  addSeoAttributes: true,
22
- baseUrl
22
+ baseUrl,
23
+ autoUpdate: false
23
24
  });
24
25
  useHead(metaObject);
25
26
  if (import.meta.server) {
@@ -1,4 +1,4 @@
1
- import { getCookie, getHeader, getRequestURL, sendRedirect, setCookie } from "h3";
1
+ import { getCookie, getHeader, getRequestURL, setCookie } from "h3";
2
2
  import { createI18nStrategy, getI18nConfig } from "#build/i18n.strategy.mjs";
3
3
  import { createError, defineNuxtPlugin, navigateTo, useRequestEvent, useRoute, useRouter, useState } from "#imports";
4
4
  import { useI18nLocale } from "../composables/useI18nLocale.js";
@@ -63,12 +63,8 @@ export default defineNuxtPlugin({
63
63
  if (!event) return;
64
64
  const url = getRequestURL(event);
65
65
  const path = url.pathname;
66
- const isPrerender = !!getHeader(event, "x-nitro-prerender");
67
66
  const performRedirect = (targetUrl, code = 302) => {
68
- if (isPrerender) {
69
- return navigateTo(targetUrl, { redirectCode: code });
70
- }
71
- return sendRedirect(event, targetUrl, code);
67
+ return navigateTo(targetUrl, { redirectCode: code });
72
68
  };
73
69
  if (path.startsWith("/api") || path.startsWith("/_nuxt") || path.startsWith("/_locales") || path.startsWith("/__")) return;
74
70
  if (path.includes(".") && !path.endsWith(".html")) return;
@@ -93,7 +89,8 @@ export default defineNuxtPlugin({
93
89
  throw createError({ statusCode: 404, statusMessage: "Page Not Found" });
94
90
  }
95
91
  const hasLocalePrefix = Boolean(firstSegment && validLocales.includes(firstSegment));
96
- if (hasLocalePrefix && cookieName) {
92
+ const shouldDeferCookieSync = i18nConfig.redirects !== false && autoDetectPath === "*";
93
+ if (hasLocalePrefix && cookieName && !shouldDeferCookieSync) {
97
94
  const currentLocale = firstSegment;
98
95
  const { watch: _w, ...cookieOpts } = getLocaleCookieOptions();
99
96
  setCookie(event, cookieName, currentLocale, cookieOpts);
@@ -131,6 +128,9 @@ export default defineNuxtPlugin({
131
128
  }
132
129
  }
133
130
  }
131
+ if (autoDetectPath === "*" && !hasLocalePrefix) {
132
+ preferredLocale = defaultLocale;
133
+ }
134
134
  if (autoDetectPath === "*" && hasLocalePrefix && firstSegment !== preferredLocale) {
135
135
  const rest = pathSegments.slice(1).join("/");
136
136
  let targetPath;
@@ -157,13 +157,16 @@ export default defineNuxtPlugin({
157
157
  if (import.meta.client && i18nConfig.redirects !== false) {
158
158
  const runRedirect = () => {
159
159
  const { getPreferredLocale } = useI18nLocale();
160
- const preferredLocale = getPreferredLocale();
160
+ let preferredLocale = getPreferredLocale();
161
161
  if (!preferredLocale) return;
162
162
  const route = useRoute();
163
163
  const path = route.path || "/";
164
164
  const pathSegments = path.replace(/^\//, "").split("/").filter(Boolean);
165
165
  const firstSegment = pathSegments[0];
166
166
  const hasLocalePrefix = Boolean(firstSegment && validLocales.includes(firstSegment));
167
+ if (autoDetectPath === "*" && !hasLocalePrefix) {
168
+ preferredLocale = defaultLocale;
169
+ }
167
170
  if (autoDetectPath === "*" && hasLocalePrefix && firstSegment !== preferredLocale) {
168
171
  const rest = pathSegments.slice(1).join("/");
169
172
  let targetPath;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-i18n-micro",
3
- "version": "3.13.1",
3
+ "version": "3.13.2",
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",
@@ -74,11 +74,11 @@
74
74
  "chokidar": "^3.6.0",
75
75
  "globby": "^14.1.0",
76
76
  "ufo": "^1.5.4",
77
- "@i18n-micro/route-strategy": "1.1.4",
77
+ "@i18n-micro/path-strategy": "1.3.0",
78
78
  "@i18n-micro/test-utils": "1.2.0",
79
- "@i18n-micro/types": "1.1.6",
80
79
  "@i18n-micro/core": "1.2.0",
81
- "@i18n-micro/path-strategy": "1.3.0"
80
+ "@i18n-micro/types": "1.1.6",
81
+ "@i18n-micro/route-strategy": "1.1.4"
82
82
  },
83
83
  "devDependencies": {
84
84
  "@biomejs/biome": "^2.3.14",
@@ -1 +0,0 @@
1
- {"id":"de63387b-c983-467c-bbe3-fc436e608ff1","timestamp":1772269226925,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}