nuxt-i18n-micro 3.28.2 → 3.28.3

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"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DBXvRcU1.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.BcWSpGYy.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/p3h4sA5-.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DbtvxgAm.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"1a3f67f4-dc98-4636-be2e-46216a4166bf",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1787806227082,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DBXvRcU1.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.BcWSpGYy.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/p3h4sA5-.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DbtvxgAm.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"5e0cc14c-93a0-48f7-b92d-1b487a2141a0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1787843014076,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"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DBXvRcU1.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.BcWSpGYy.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/p3h4sA5-.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DbtvxgAm.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"1a3f67f4-dc98-4636-be2e-46216a4166bf",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1787806227083,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DBXvRcU1.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.BcWSpGYy.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/p3h4sA5-.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DbtvxgAm.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"5e0cc14c-93a0-48f7-b92d-1b487a2141a0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1787843014076,false]</script></body></html>
@@ -1 +1 @@
1
- {"id":"1a3f67f4-dc98-4636-be2e-46216a4166bf","timestamp":1787806223385}
1
+ {"id":"5e0cc14c-93a0-48f7-b92d-1b487a2141a0","timestamp":1787843011340}
@@ -0,0 +1 @@
1
+ {"id":"5e0cc14c-93a0-48f7-b92d-1b487a2141a0","timestamp":1787843011340,"prerendered":[]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DBXvRcU1.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.BcWSpGYy.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/p3h4sA5-.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DbtvxgAm.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"1a3f67f4-dc98-4636-be2e-46216a4166bf",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1787806227083,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><script type="importmap">{"imports":{"#entry":"/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"}}</script><link rel="stylesheet" href="/__nuxt-i18n-micro/_nuxt/entry.CJGrD2VA.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js"><link rel="modulepreload" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DBXvRcU1.js"><script type="module" src="/__nuxt-i18n-micro/_nuxt/Bwak6g3b.js" crossorigin></script><link rel="prefetch" as="style" crossorigin href="/__nuxt-i18n-micro/_nuxt/error-500.BcWSpGYy.css"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/p3h4sA5-.js"><link rel="prefetch" as="script" crossorigin href="/__nuxt-i18n-micro/_nuxt/DbtvxgAm.js"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__nuxt-i18n-micro",buildId:"5e0cc14c-93a0-48f7-b92d-1b487a2141a0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1787843014076,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.28.2",
4
+ "version": "3.28.3",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "3.6.1"
@@ -3,6 +3,9 @@ import type { MaybeRefOrGetter } from 'vue';
3
3
  /**
4
4
  * Register page-level overrides for i18n SEO head tags.
5
5
  * Merged on top of `useLocaleHead` output by the `02.meta` plugin.
6
+ *
7
+ * Prefer a getter (`() => ({ … })`) when values come from `$t` / `t` so they
8
+ * re-resolve on locale change. A plain object is evaluated once and stays frozen.
6
9
  */
7
10
  export declare function useI18nHead(input?: MaybeRefOrGetter<I18nHeadInput | null>): {
8
11
  pageHead: import("vue").Ref<I18nHeadInput | null, I18nHeadInput | null>;
@@ -2,12 +2,16 @@ import { toValue, watch } from "vue";
2
2
  import { useState } from "#app";
3
3
  export function useI18nHead(input) {
4
4
  const pageHead = useState("i18n-head-page", () => null);
5
+ const localeState = useState("i18n-locale", () => null);
5
6
  const resetPageHead = () => {
6
7
  pageHead.value = null;
7
8
  };
8
9
  if (input !== void 0) {
9
10
  watch(
10
- () => toValue(input),
11
+ () => {
12
+ localeState.value;
13
+ return toValue(input);
14
+ },
11
15
  (value) => {
12
16
  pageHead.value = value ?? null;
13
17
  },
@@ -4,7 +4,7 @@ import { findAllowedLocalesForRoute } from "@i18n-micro/utils/route";
4
4
  import { resolveOgLocale, warnUnresolvedOgLocale } from "@i18n-micro/utils/resolve-og-locale";
5
5
  import { joinURL, parseURL, withQuery } from "ufo";
6
6
  import { ref, unref, watch } from "vue";
7
- import { useNuxtApp, useRoute } from "#app";
7
+ import { useNuxtApp, useRoute, useState } from "#app";
8
8
  export const useLocaleHead = ({
9
9
  addDirAttribute = true,
10
10
  identifierAttribute = "id",
@@ -177,8 +177,9 @@ export const useLocaleHead = ({
177
177
  };
178
178
  }
179
179
  if (autoUpdate) {
180
+ const localeState = useState("i18n-locale", () => null);
180
181
  watch(
181
- () => [route.fullPath, route.name, route.matched.length],
182
+ () => [route.fullPath, route.name, route.matched.length, localeState.value],
182
183
  () => updateMeta(),
183
184
  { immediate: true }
184
185
  );
@@ -19,6 +19,7 @@ function readSiteConfigUrl(nuxtApp) {
19
19
  export default defineNuxtPlugin((nuxtApp) => {
20
20
  const route = useRoute();
21
21
  const i18nRouteParams = useState("i18n-route-params", () => ({}));
22
+ const localeState = useState("i18n-locale", () => null);
22
23
  const { pageHead } = useI18nHead();
23
24
  const getRuntimeConfig = nuxtApp.$getI18nConfig;
24
25
  const i18nConfig = resolveI18nConfigWithRuntimeOverrides(
@@ -60,6 +61,8 @@ export default defineNuxtPlugin((nuxtApp) => {
60
61
  nuxtApp.hook("page:finish", refreshMeta);
61
62
  }
62
63
  watch(() => i18nRouteParams.value, refreshMeta, { deep: true, flush: "post" });
63
- watch(() => [route.fullPath, route.name, route.matched.length], refreshMeta, { flush: "post" });
64
+ watch(() => [route.fullPath, route.name, route.matched.length, localeState.value], refreshMeta, {
65
+ flush: "post"
66
+ });
64
67
  watch(pageHead, refreshMeta, { deep: true, flush: "post" });
65
68
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-i18n-micro",
3
- "version": "3.28.2",
3
+ "version": "3.28.3",
4
4
  "description": "Fast, lightweight i18n for Nuxt with strategy-based routing and minimal overhead.",
5
5
  "keywords": [
6
6
  "i18n",
@@ -82,13 +82,13 @@
82
82
  "sirv": "^2.0.3",
83
83
  "ufo": "^1.5.4",
84
84
  "unplugin": "^1.16.1 || ^2.0.0 || ^3.3.0",
85
- "@i18n-micro/path-strategy": "^1.3.11",
86
85
  "@i18n-micro/core": "^1.3.15",
87
- "@i18n-micro/route-strategy": "^1.1.17",
88
86
  "@i18n-micro/hmr": "^1.0.8",
87
+ "@i18n-micro/route-strategy": "^1.1.17",
88
+ "@i18n-micro/utils": "^1.0.15",
89
89
  "@i18n-micro/test-utils": "^1.2.11",
90
90
  "@i18n-micro/types": "^1.2.12",
91
- "@i18n-micro/utils": "^1.0.15"
91
+ "@i18n-micro/path-strategy": "^1.3.11"
92
92
  },
93
93
  "devDependencies": {
94
94
  "@nuxt/devtools": "^3.3.1",
@@ -1 +0,0 @@
1
- {"id":"1a3f67f4-dc98-4636-be2e-46216a4166bf","timestamp":1787806223385,"prerendered":[]}