nuxt-i18n-micro 1.40.0 → 1.41.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.
@@ -1,3 +1,4 @@
1
+ import { isPrefixStrategy, isNoPrefixStrategy } from "../helpers.js";
1
2
  import { defineNuxtPlugin, useCookie, useRequestHeaders, navigateTo } from "#app";
2
3
  import { useRoute, useRouter } from "#imports";
3
4
  const parseAcceptLanguage = (acceptLanguage) => acceptLanguage.split(",").map((entry) => entry.split(";")[0].trim());
@@ -16,13 +17,32 @@ export default defineNuxtPlugin(async (nuxtApp) => {
16
17
  const router = useRouter();
17
18
  const route = useRoute();
18
19
  async function switchLocale(newLocale) {
20
+ if (isNoPrefixStrategy(i18nConfig.strategy)) {
21
+ if (newLocale !== defaultLocale) {
22
+ const newParams2 = { ...route.params };
23
+ delete newParams2.locale;
24
+ const resolvedRoute2 = router.resolve(router.currentRoute.value);
25
+ const routeName2 = resolvedRoute2.name.replace(`localized-`, "");
26
+ const newRoute2 = router.resolve({
27
+ name: routeName2,
28
+ params: newParams2
29
+ });
30
+ const userLocaleCookie2 = useCookie("no-prefix-locale");
31
+ userLocaleCookie2.value = newLocale;
32
+ await navigateTo(newRoute2, {
33
+ redirectCode: 302,
34
+ external: true
35
+ });
36
+ }
37
+ return;
38
+ }
19
39
  const currentPath = router.currentRoute;
20
40
  const resolvedRoute = router.resolve(currentPath.value);
21
41
  const routeName = resolvedRoute.name.replace(`localized-`, "");
22
- const newRouteName = i18nConfig.includeDefaultLocaleRoute || newLocale !== defaultLocale ? `localized-${routeName}` : routeName;
42
+ const newRouteName = isPrefixStrategy(i18nConfig.strategy) || newLocale !== defaultLocale ? `localized-${routeName}` : routeName;
23
43
  const newParams = { ...route.params };
24
44
  delete newParams.locale;
25
- if (i18nConfig.includeDefaultLocaleRoute || newLocale !== defaultLocale) {
45
+ if (isPrefixStrategy(i18nConfig.strategy) || newLocale !== defaultLocale) {
26
46
  newParams.locale = newLocale;
27
47
  }
28
48
  const newRoute = router.resolve({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-i18n-micro",
3
- "version": "1.40.0",
3
+ "version": "1.41.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",
@@ -40,8 +40,8 @@
40
40
  "internals.d.ts"
41
41
  ],
42
42
  "dependencies": {
43
- "@nuxt/devtools-kit": "^1.6.1",
44
- "@nuxt/kit": "^3.14.1592",
43
+ "@nuxt/devtools-kit": "^1.6.4",
44
+ "@nuxt/kit": "3.13.2",
45
45
  "chokidar": "^3.6.0",
46
46
  "sirv": "^2.0.4",
47
47
  "ufo": "^1.5.4",
@@ -50,27 +50,27 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/jest": "^29.5.14",
53
- "@nuxt/devtools": "^1.6.1",
54
- "@nuxt/devtools-ui-kit": "^1.6.1",
55
- "@nuxt/eslint-config": "0.5.5",
53
+ "@nuxt/devtools": "^1.6.4",
54
+ "@nuxt/devtools-ui-kit": "^1.6.4",
55
+ "@nuxt/eslint-config": "0.7.3",
56
56
  "@nuxt/module-builder": "^0.8.4",
57
- "@nuxt/schema": "^3.14.1592",
58
- "@nuxt/test-utils": "^3.14.4",
59
- "@playwright/test": "^1.49.0",
60
- "@types/node": "^20.14.11",
57
+ "@nuxt/schema": "3.13.2",
58
+ "@nuxt/test-utils": "^3.15.1",
59
+ "@playwright/test": "^1.49.1",
60
+ "@types/node": "^20.17.10",
61
61
  "changelogen": "^0.5.7",
62
62
  "eslint": "^8.57.1",
63
- "nuxt": "^3.14.1592",
63
+ "nuxt": "3.13.2",
64
64
  "typescript": "5.6.3",
65
65
  "vitepress": "^1.5.0",
66
- "vitest": "^2.1.6",
66
+ "vitest": "^2.1.8",
67
67
  "jest": "^29.7.0",
68
68
  "ts-jest": "^29.2.5",
69
69
  "vue-tsc": "2.1.10"
70
70
  },
71
71
  "optionalDependencies": {
72
- "@rollup/rollup-linux-x64-gnu": "^4.9.6",
73
- "@rollup/rollup-win32-x64-msvc": "^4.9.6"
72
+ "@rollup/rollup-linux-x64-gnu": "^4.28.1",
73
+ "@rollup/rollup-win32-x64-msvc": "^4.28.1"
74
74
  },
75
75
  "workspaces": [
76
76
  "client",