diff --git a/config/i18n.config.ts b/config/i18n.config.ts new file mode 100644 index 00000000..fcef6fb8 --- /dev/null +++ b/config/i18n.config.ts @@ -0,0 +1,20 @@ +import { + currentLocales, + datetimeFormats, + numberFormats, + pluralRules, +} from './i18n' + +export default defineI18nConfig(() => { + return { + legacy: false, + availableLocales: currentLocales.map(l => l.code), + fallbackLocale: 'en-US', + fallbackWarn: true, + missingWarn: true, + datetimeFormats, + numberFormats, + // eslint-disable-next-line @typescript-eslint/comma-dangle + pluralRules + } +}) diff --git a/config/i18n.ts b/config/i18n.ts index c4c46711..fb642594 100644 --- a/config/i18n.ts +++ b/config/i18n.ts @@ -1,4 +1,3 @@ -import type { NuxtI18nOptions } from '@nuxtjs/i18n' import type { DateTimeFormats, NumberFormats, PluralizationRule, PluralizationRules } from '@intlify/core-base' import type { LocaleObject } from '#i18n' @@ -246,7 +245,7 @@ function buildLocales() { export const currentLocales = buildLocales() -const datetimeFormats = Object.values(currentLocales).reduce((acc, data) => { +export const datetimeFormats = Object.values(currentLocales).reduce((acc, data) => { const dateTimeFormats = data.dateTimeFormats if (dateTimeFormats) { acc[data.code] = { ...dateTimeFormats } @@ -271,7 +270,7 @@ const datetimeFormats = Object.values(currentLocales).reduce((acc, data) => { return acc }, {}) -const numberFormats = Object.values(currentLocales).reduce((acc, data) => { +export const numberFormats = Object.values(currentLocales).reduce((acc, data) => { const numberFormats = data.numberFormats if (numberFormats) { acc[data.code] = { ...numberFormats } @@ -303,7 +302,7 @@ const numberFormats = Object.values(currentLocales).reduce((acc, data) => { return acc }, {}) -const pluralRules = Object.values(currentLocales).reduce((acc, data) => { +export const pluralRules = Object.values(currentLocales).reduce((acc, data) => { const pluralRule = data.pluralRule if (pluralRule) { acc[data.code] = pluralRule @@ -312,21 +311,3 @@ const pluralRules = Object.values(currentLocales).reduce((acc, data) => { return acc }, {}) - -export const i18n: NuxtI18nOptions = { - locales: currentLocales, - lazy: true, - strategy: 'no_prefix', - detectBrowserLanguage: false, - langDir: 'locales', - defaultLocale: 'en-US', - vueI18n: { - availableLocales: currentLocales.map(l => l.code), - fallbackLocale: 'en-US', - fallbackWarn: false, - missingWarn: false, - datetimeFormats, - numberFormats, - pluralRules, - }, -} diff --git a/modules/emoji-mart-translation.ts b/modules/emoji-mart-translation.ts index fbc62858..8118c4dd 100644 --- a/modules/emoji-mart-translation.ts +++ b/modules/emoji-mart-translation.ts @@ -1,7 +1,6 @@ import fs from 'fs-extra' import { createResolver, defineNuxtModule } from '@nuxt/kit' -import { i18n } from '../config/i18n' -import type { LocaleObject } from '#i18n' +import { currentLocales } from '../config/i18n' const virtual = 'virtual:emoji-mart-lang-importer' const resolvedVirtual = `\0${virtual}.mjs` @@ -25,7 +24,7 @@ export default defineNuxtModule({ if (id === resolvedVirtual) { const locales = await Promise.all( Array - .from(new Set((i18n.locales as LocaleObject[]).map(l => l.code.split('-')[0]))) + .from(new Set((currentLocales).map(l => l.code.split('-')[0]))) .map(async (l) => { const exists = await isFile(resolver.resolve(`../node_modules/@emoji-mart/data/i18n/${l}.json`)) return [l, exists] as [code: string, exists: boolean] diff --git a/modules/pwa/i18n.ts b/modules/pwa/i18n.ts index efcde6ae..e2285474 100644 --- a/modules/pwa/i18n.ts +++ b/modules/pwa/i18n.ts @@ -3,12 +3,11 @@ import { readFile } from 'fs-extra' import { createResolver } from '@nuxt/kit' import type { ManifestOptions } from 'vite-plugin-pwa' import { getEnv } from '../../config/env' -import { i18n } from '../../config/i18n' -import type { LocaleObject } from '#i18n' +import { currentLocales } from '../../config/i18n' export type LocalizedWebManifest = Record> -export const pwaLocales = i18n.locales as LocaleObject[] +export const pwaLocales = currentLocales type WebManifestEntry = Pick type RequiredWebManifestEntry = Required> diff --git a/nuxt.config.ts b/nuxt.config.ts index e828c5cc..b9e4be93 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,9 +1,9 @@ import { createResolver, useNuxt } from '@nuxt/kit' import { isCI, isDevelopment, isWindows } from 'std-env' import { isPreview } from './config/env' -import { i18n } from './config/i18n' import { pwa } from './config/pwa' import type { BuildInfo } from './types' +import { currentLocales } from './config/i18n' const { resolve } = createResolver(import.meta.url) @@ -243,7 +243,15 @@ export default defineNuxtConfig({ rateLimiter: false, }, colorMode: { classSuffix: '' }, - i18n, + i18n: { + locales: currentLocales, + lazy: true, + strategy: 'no_prefix', + detectBrowserLanguage: false, + langDir: 'locales', + defaultLocale: 'en-US', + vueI18n: './config/i18n.config.ts', + }, pwa, staleDep: { packageManager: 'pnpm', diff --git a/package.json b/package.json index 1fe3fe36..e019ae9d 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@iconify/utils": "^2.1.5", "@nuxt/devtools": "^0.5.3", "@nuxtjs/color-mode": "^3.2.0", - "@nuxtjs/i18n": "8.0.0-beta.10", + "@nuxtjs/i18n": "8.0.0-beta.12", "@pinia/nuxt": "^0.4.9", "@tiptap/extension-character-count": "2.0.3", "@tiptap/extension-code-block": "2.0.3", @@ -131,7 +131,8 @@ }, "pnpm": { "patchedDependencies": { - "nuxt-security@0.13.0": "patches/nuxt-security@0.13.0.patch" + "nuxt-security@0.13.0": "patches/nuxt-security@0.13.0.patch", + "@nuxtjs/i18n@8.0.0-beta.12": "patches/@nuxtjs__i18n@8.0.0-beta.12.patch" } }, "simple-git-hooks": { diff --git a/patches/@nuxtjs__i18n@8.0.0-beta.12.patch b/patches/@nuxtjs__i18n@8.0.0-beta.12.patch new file mode 100644 index 00000000..b6c5c923 --- /dev/null +++ b/patches/@nuxtjs__i18n@8.0.0-beta.12.patch @@ -0,0 +1,13 @@ +diff --git a/dist/runtime/utils.mjs b/dist/runtime/utils.mjs +index 21f7780ac104abddfd5c8038e1574bc0e3212cf6..b2e7584912c9eede4d152f0ddaeb70ac917ec828 100644 +--- a/dist/runtime/utils.mjs ++++ b/dist/runtime/utils.mjs +@@ -77,7 +77,7 @@ export async function loadInitialMessages(context, messages, options) { + const fallbackLocales = makeFallbackLocaleCodes(fallbackLocale, [defaultLocale, initialLocale]); + await Promise.all(fallbackLocales.map((locale) => loadLocale(context, locale, setter))); + } +- const locales = lazy ? [...(/* @__PURE__ */ new Set()).add(defaultLocale).add(initialLocale)] : localeCodes; ++ const locales = lazy ? localeCodes : [...(/* @__PURE__ */ new Set()).add(defaultLocale).add(initialLocale)]; + await Promise.all(locales.map((locale) => loadLocale(context, locale, setter))); + } + return messages; \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index af6fe06f..18c9da12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,9 @@ settings: excludeLinksFromLockfile: false patchedDependencies: + '@nuxtjs/i18n@8.0.0-beta.12': + hash: ng27jsec7jd3so65euqqdccllq + path: patches/@nuxtjs__i18n@8.0.0-beta.12.patch nuxt-security@0.13.0: hash: 4zi7vnypkav7i5l74w6qfcndqy path: patches/nuxt-security@0.13.0.patch @@ -35,8 +38,8 @@ importers: specifier: ^3.2.0 version: 3.2.0(rollup@2.79.1) '@nuxtjs/i18n': - specifier: 8.0.0-beta.10 - version: 8.0.0-beta.10(rollup@2.79.1)(vue-router@4.2.2)(vue@3.3.4) + specifier: 8.0.0-beta.12 + version: 8.0.0-beta.12(patch_hash=ng27jsec7jd3so65euqqdccllq)(rollup@2.79.1)(vue-router@4.2.2)(vue@3.3.4) '@pinia/nuxt': specifier: ^0.4.9 version: 0.4.9(rollup@2.79.1)(typescript@5.1.6)(vue@3.3.4) @@ -2151,8 +2154,8 @@ packages: vue: 3.3.4 dev: true - /@intlify/bundle-utils@3.4.0(vue-i18n@9.3.0-beta.16): - resolution: {integrity: sha512-2UQkqiSAOSPEHMGWlybqWm4G2K0X+FyYho5AwXz6QklSX1EY5EDmOSxZmwscn2qmKBnp6OYsme5kUrnN9xrWzQ==} + /@intlify/bundle-utils@5.5.0(vue-i18n@9.3.0-beta.17): + resolution: {integrity: sha512-k5xe8oAoPXiH6unXvyyyCRbq+LtLn1tSi/6r5f6mF+MsX7mcOMtgYbyAQINsjFrf7EDu5Pg4BY00VWSt8bI9XQ==} engines: {node: '>= 12'} peerDependencies: petite-vue-i18n: '*' @@ -2163,69 +2166,45 @@ packages: vue-i18n: optional: true dependencies: - '@intlify/message-compiler': 9.3.0-beta.20 - '@intlify/shared': 9.3.0-beta.20 + '@intlify/message-compiler': 9.3.0-beta.17 + '@intlify/shared': 9.3.0-beta.17 + acorn: 8.9.0 + escodegen: 2.1.0 + estree-walker: 2.0.2 jsonc-eslint-parser: 1.4.1 + magic-string: 0.30.0 source-map: 0.6.1 - vue-i18n: 9.3.0-beta.16(vue@3.3.4) + vue-i18n: 9.3.0-beta.17(vue@3.3.4) yaml-eslint-parser: 0.3.2 dev: false - /@intlify/bundle-utils@4.0.0(vue-i18n@9.3.0-beta.16): - resolution: {integrity: sha512-klXrYT9VXyKEXsD6UY3pShg0O5MPC07n0TZ5RrSs5ry6T1eZVolIFGJi9c3qcDrh1qjJxgikRnPBmD7qGDqbjw==} - engines: {node: '>= 12'} - peerDependencies: - petite-vue-i18n: '*' - vue-i18n: '*' - peerDependenciesMeta: - petite-vue-i18n: - optional: true - vue-i18n: - optional: true - dependencies: - '@intlify/message-compiler': 9.3.0-beta.20 - '@intlify/shared': 9.3.0-beta.20 - jsonc-eslint-parser: 1.4.1 - source-map: 0.6.1 - vue-i18n: 9.3.0-beta.16(vue@3.3.4) - yaml-eslint-parser: 0.3.2 - dev: false - - /@intlify/core-base@9.3.0-beta.16: - resolution: {integrity: sha512-BoAxVoPIJoPKCCMdsuNXKaaJxvetvHrW2KA43IpkwgPd2/w6zPebh/+v8e4zpXKjFVSgcF97zP87KeVcM/Lxwg==} + /@intlify/core-base@9.3.0-beta.17: + resolution: {integrity: sha512-M/ZUU53G68YKN59E2gd/bOZB4TvFMWXvpWIgwsLJeAjktKYOt7JDSGdGHYGivKAG12pTGWeIeY6WmJCaDenloA==} engines: {node: '>= 14'} dependencies: - '@intlify/devtools-if': 9.3.0-beta.16 - '@intlify/message-compiler': 9.3.0-beta.16 - '@intlify/shared': 9.3.0-beta.16 - '@intlify/vue-devtools': 9.3.0-beta.16 + '@intlify/devtools-if': 9.3.0-beta.17 + '@intlify/message-compiler': 9.3.0-beta.17 + '@intlify/shared': 9.3.0-beta.17 + '@intlify/vue-devtools': 9.3.0-beta.17 dev: false - /@intlify/devtools-if@9.3.0-beta.16: - resolution: {integrity: sha512-9WXn8YMAnL/DHdoWqCy6yLTXcLFxd8eXB9UNsViQA5JJV7neR+yahr+23X1wP0prhG338MruxAu65khRf+AJCw==} + /@intlify/devtools-if@9.3.0-beta.17: + resolution: {integrity: sha512-up5vm1ytN9Wm/loKjFlp5TuDy7dmBVgU3UOk1vLUXUfYH+EMlm07pUXNiIpSjdt4Eak+bSLfsWcqPwhsb2jknw==} engines: {node: '>= 14'} dependencies: - '@intlify/shared': 9.3.0-beta.16 + '@intlify/shared': 9.3.0-beta.17 dev: false - /@intlify/message-compiler@9.3.0-beta.16: - resolution: {integrity: sha512-CGQI3xRcs1ET75eDQ0DUy3MRYOqTauRIIgaMoISKiF83gqRWg93FqN8lGMKcpBqaF4tI0JhsfosCaGiBL9+dnw==} + /@intlify/message-compiler@9.3.0-beta.17: + resolution: {integrity: sha512-i7hvVIRk1Ax2uKa9xLRJCT57to08OhFMhFXXjWN07rmx5pWQYQ23MfX1xgggv9drnWTNhqEiD+u4EJeHoS5+Ww==} engines: {node: '>= 14'} dependencies: - '@intlify/shared': 9.3.0-beta.16 + '@intlify/shared': 9.3.0-beta.17 source-map: 0.6.1 dev: false - /@intlify/message-compiler@9.3.0-beta.20: - resolution: {integrity: sha512-hwqQXyTnDzAVZ300SU31jO0+3OJbpOdfVU6iBkrmNpS7t2HRnVACo0EwcEXzJa++4EVDreqz5OeqJbt+PeSGGA==} - engines: {node: '>= 16'} - dependencies: - '@intlify/shared': 9.3.0-beta.20 - source-map-js: 1.0.2 - dev: false - - /@intlify/shared@9.3.0-beta.16: - resolution: {integrity: sha512-kXbm4svALe3lX+EjdJxfnabOphqS4yQ1Ge/iIlR8tvUiYRCoNz3hig1M4336iY++Dfx5ytEQJPNjIcknNIuvig==} + /@intlify/shared@9.3.0-beta.17: + resolution: {integrity: sha512-mscf7RQsUTOil35jTij4KGW1RC9SWQjYScwLxP53Ns6g24iEd5HN7ksbt9O6FvTmlQuX77u+MXpBdfJsGqizLQ==} engines: {node: '>= 14'} dev: false @@ -2234,8 +2213,8 @@ packages: engines: {node: '>= 16'} dev: false - /@intlify/unplugin-vue-i18n@0.8.1(vue-i18n@9.3.0-beta.16): - resolution: {integrity: sha512-BhigujPmP6JL1FSxmpogCaL+REozncHCVkJuUnefz4GWBu3X+pRe5O7PeJn8/g+Iml2ieQJz4ISPMmEbuGQjqQ==} + /@intlify/unplugin-vue-i18n@0.10.1(rollup@2.79.1)(vue-i18n@9.3.0-beta.17): + resolution: {integrity: sha512-9ZzE0ddlDO06Xzg25JPiNbx6PJPDho5k/Np+uL9fJRZEKq2TxT3c+ZK+Pec6j0ybhhVXeda8/yE3tPUf4SOXZQ==} engines: {node: '>= 14.16'} peerDependencies: petite-vue-i18n: '*' @@ -2249,9 +2228,9 @@ packages: vue-i18n-bridge: optional: true dependencies: - '@intlify/bundle-utils': 3.4.0(vue-i18n@9.3.0-beta.16) - '@intlify/shared': 9.3.0-beta.20 - '@rollup/pluginutils': 4.2.1 + '@intlify/bundle-utils': 5.5.0(vue-i18n@9.3.0-beta.17) + '@intlify/shared': 9.3.0-beta.17 + '@rollup/pluginutils': 5.0.2(rollup@2.79.1) '@vue/compiler-sfc': 3.3.4 debug: 4.3.4 fast-glob: 3.2.12 @@ -2261,20 +2240,21 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 unplugin: 1.3.1 - vue-i18n: 9.3.0-beta.16(vue@3.3.4) + vue-i18n: 9.3.0-beta.17(vue@3.3.4) transitivePeerDependencies: + - rollup - supports-color dev: false - /@intlify/vue-devtools@9.3.0-beta.16: - resolution: {integrity: sha512-rQ/jSW0gBciYLBBi+XN65r80B59Ypege9oqUi+EZ2QpOaK54wDcy1xq9w6Zbj6WpY1qgf34KtYawKIF10mMr6w==} + /@intlify/vue-devtools@9.3.0-beta.17: + resolution: {integrity: sha512-Wzl+3kZONjYG3lL8I8G+4H46s7m3CkxyoZXjZgC0zMy51cq1OTlOuOohcgxpwcSSYYVj9Y86PvlSakPNqHEweA==} engines: {node: '>= 14'} dependencies: - '@intlify/core-base': 9.3.0-beta.16 - '@intlify/shared': 9.3.0-beta.16 + '@intlify/core-base': 9.3.0-beta.17 + '@intlify/shared': 9.3.0-beta.17 dev: false - /@intlify/vue-i18n-bridge@0.8.0(vue-i18n@9.3.0-beta.16): + /@intlify/vue-i18n-bridge@0.8.0(vue-i18n@9.3.0-beta.17): resolution: {integrity: sha512-wQ18fSccm9QaWpUW2vq2QHvojgKIog7s+UMj9LeY3pUV3yD9bU4YZI+1PTNoX3tOA+BE71gQyqVGox/TVQKP6Q==} engines: {node: '>= 12'} hasBin: true @@ -2291,7 +2271,7 @@ packages: vue-i18n-bridge: optional: true dependencies: - vue-i18n: 9.3.0-beta.16(vue@3.3.4) + vue-i18n: 9.3.0-beta.17(vue@3.3.4) dev: false /@intlify/vue-router-bridge@0.8.0(vue-router@4.2.2)(vue@3.3.4): @@ -2418,6 +2398,13 @@ packages: - encoding dev: false + /@mizchi/sucrase@4.1.0: + resolution: {integrity: sha512-AaN8HSGdXmNqEqIb0IQPIQL+MI/8Xr1QTOcVnA6k0u2afqfYhlre05hSxRybOFpq34oF8EqMTrYovYZxEV1FLw==} + engines: {node: '>=14'} + dependencies: + lines-and-columns: 1.2.4 + dev: false + /@netlify/functions@1.6.0: resolution: {integrity: sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==} engines: {node: '>=14.0.0'} @@ -3039,17 +3026,19 @@ packages: - supports-color dev: true - /@nuxtjs/i18n@8.0.0-beta.10(rollup@2.79.1)(vue-router@4.2.2)(vue@3.3.4): - resolution: {integrity: sha512-a7xcWKSJvABxF6O7W7MKscyT3OJxaKpBQZ84PGuTop9YrlBFkTV+bUQX3cayQqd0EYVLjgdE9R0uri5JMIVQWQ==} - engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} + /@nuxtjs/i18n@8.0.0-beta.12(patch_hash=ng27jsec7jd3so65euqqdccllq)(rollup@2.79.1)(vue-router@4.2.2)(vue@3.3.4): + resolution: {integrity: sha512-f149HXPyk4RJZul3ThWo4YVN7WmL3scge8UZx08cxAiKjhoCIoHySKxX05CwAu0v7sfYxeYeP+qCeQyGaBErpQ==} + engines: {node: ^14.16.0 || >=16.11.0} dependencies: - '@intlify/bundle-utils': 4.0.0(vue-i18n@9.3.0-beta.16) - '@intlify/shared': 9.3.0-beta.16 - '@intlify/unplugin-vue-i18n': 0.8.1(vue-i18n@9.3.0-beta.16) + '@intlify/bundle-utils': 5.5.0(vue-i18n@9.3.0-beta.17) + '@intlify/shared': 9.3.0-beta.17 + '@intlify/unplugin-vue-i18n': 0.10.1(rollup@2.79.1)(vue-i18n@9.3.0-beta.17) + '@mizchi/sucrase': 4.1.0 '@nuxt/kit': 3.6.1(rollup@2.79.1) '@vue/compiler-sfc': 3.3.4 cookie-es: 0.5.0 debug: 4.3.4 + defu: 6.1.2 estree-walker: 3.0.3 is-https: 4.0.0 js-cookie: 3.0.1 @@ -3060,9 +3049,19 @@ packages: pkg-types: 1.0.3 ufo: 1.1.2 unplugin: 1.3.1 - vue-i18n: 9.3.0-beta.16(vue@3.3.4) - vue-i18n-routing: 0.12.2(vue-i18n@9.3.0-beta.16)(vue-router@4.2.2)(vue@3.3.4) + unstorage: 1.7.0 + vue-i18n: 9.3.0-beta.17(vue@3.3.4) + vue-i18n-routing: 0.13.0(vue-i18n@9.3.0-beta.17)(vue-router@4.2.2)(vue@3.3.4) transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' - '@vue/composition-api' - petite-vue-i18n - rollup @@ -3071,6 +3070,7 @@ packages: - vue-i18n-bridge - vue-router dev: false + patched: true /@pinia/nuxt@0.4.9(rollup@2.79.1)(typescript@5.1.6)(vue@3.3.4): resolution: {integrity: sha512-ojzUMHKrQ7ZFjhWqMYKYetcqHSfgtIhjc6Hxw4alfQaGTlFdj38Vpz8Ol36YvmNdSjLFTNWYAgxEWCvg6HcSSg==} @@ -7172,6 +7172,18 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: false + /eslint-import-resolver-node@0.3.7: resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} dependencies: @@ -9115,7 +9127,6 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true /linkify-it@4.0.1: resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} @@ -14313,8 +14324,8 @@ packages: - supports-color dev: true - /vue-i18n-routing@0.12.2(vue-i18n@9.3.0-beta.16)(vue-router@4.2.2)(vue@3.3.4): - resolution: {integrity: sha512-VzYUzbUJyPHUP74t973dN42/sJnZUzBwdcYX+TJgr9YHD08+9uouw5Ume2jHO2Pi8Nymu4cz/UiHWDPeMyc/bQ==} + /vue-i18n-routing@0.13.0(vue-i18n@9.3.0-beta.17)(vue-router@4.2.2)(vue@3.3.4): + resolution: {integrity: sha512-d/WVAZKo68blFqv6BPxFrGy530+FgvXsYVMbuvaICaoFO2CUxuaszF4vPCzCPIi9T68WRzWeUMTUb7vmv2SLyQ==} engines: {node: '>= 14.6'} peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 @@ -14335,24 +14346,24 @@ packages: optional: true dependencies: '@intlify/shared': 9.3.0-beta.20 - '@intlify/vue-i18n-bridge': 0.8.0(vue-i18n@9.3.0-beta.16) + '@intlify/vue-i18n-bridge': 0.8.0(vue-i18n@9.3.0-beta.17) '@intlify/vue-router-bridge': 0.8.0(vue-router@4.2.2)(vue@3.3.4) ufo: 1.1.2 vue: 3.3.4 vue-demi: 0.13.11(vue@3.3.4) - vue-i18n: 9.3.0-beta.16(vue@3.3.4) + vue-i18n: 9.3.0-beta.17(vue@3.3.4) vue-router: 4.2.2(vue@3.3.4) dev: false - /vue-i18n@9.3.0-beta.16(vue@3.3.4): - resolution: {integrity: sha512-huhBeRB0SEvv2gIgCS7Zo06nb8AAhbPQCoB/vwDfbDNs8F+giv9QCmhEed+TkLTih/54JGnXkxN6tw1VZqVY/w==} + /vue-i18n@9.3.0-beta.17(vue@3.3.4): + resolution: {integrity: sha512-2r6QWgwCMjzpLb6RuIU8XPw8vU9kJu8OE4zGIOOnNq1gMYrzawO1LlK/yxG7ugWmzFA/IBqSIs6ADu0Z+PO/Ow==} engines: {node: '>= 14'} peerDependencies: vue: ^3.0.0 dependencies: - '@intlify/core-base': 9.3.0-beta.16 - '@intlify/shared': 9.3.0-beta.16 - '@intlify/vue-devtools': 9.3.0-beta.16 + '@intlify/core-base': 9.3.0-beta.17 + '@intlify/shared': 9.3.0-beta.17 + '@intlify/vue-devtools': 9.3.0-beta.17 '@vue/devtools-api': 6.5.0 vue: 3.3.4 dev: false