@intlayer/docs 7.1.0 → 7.1.1-canary.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/blog/ar/internationalization_and_SEO.md +0 -4
- package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
- package/blog/de/internationalization_and_SEO.md +0 -2
- package/blog/en/internationalization_and_SEO.md +0 -2
- package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
- package/blog/en-GB/internationalization_and_SEO.md +0 -2
- package/blog/es/internationalization_and_SEO.md +0 -4
- package/blog/fr/internationalization_and_SEO.md +0 -2
- package/blog/hi/internationalization_and_SEO.md +0 -2
- package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
- package/blog/it/internationalization_and_SEO.md +0 -2
- package/blog/ja/internationalization_and_SEO.md +0 -2
- package/blog/ko/internationalization_and_SEO.md +0 -2
- package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
- package/blog/pt/internationalization_and_SEO.md +0 -4
- package/blog/ru/internationalization_and_SEO.md +0 -4
- package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
- package/blog/zh/internationalization_and_SEO.md +0 -4
- package/docs/ar/intlayer_with_nextjs_14.md +9 -9
- package/docs/ar/intlayer_with_nextjs_15.md +9 -8
- package/docs/ar/intlayer_with_nextjs_16.md +2 -56
- package/docs/ar/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/ar/intlayer_with_react_router_v7.md +6 -6
- package/docs/ar/intlayer_with_tanstack.md +46 -31
- package/docs/ar/intlayer_with_vite+preact.md +7 -7
- package/docs/ar/intlayer_with_vite+react.md +7 -7
- package/docs/ar/intlayer_with_vite+vue.md +9 -9
- package/docs/de/intlayer_with_nextjs_14.md +9 -9
- package/docs/de/intlayer_with_nextjs_15.md +9 -8
- package/docs/de/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/de/intlayer_with_react_router_v7.md +6 -6
- package/docs/de/intlayer_with_tanstack.md +46 -31
- package/docs/de/intlayer_with_vite+preact.md +7 -7
- package/docs/de/intlayer_with_vite+react.md +7 -7
- package/docs/de/intlayer_with_vite+vue.md +9 -9
- package/docs/en/interest_of_intlayer.md +1 -1
- package/docs/en/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/en/intlayer_with_react_router_v7.md +6 -6
- package/docs/en/intlayer_with_tanstack.md +57 -33
- package/docs/en/intlayer_with_vite+preact.md +8 -8
- package/docs/en/intlayer_with_vite+react.md +8 -8
- package/docs/en/intlayer_with_vite+vue.md +8 -8
- package/docs/en/releases/v6.md +1 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +9 -9
- package/docs/en-GB/intlayer_with_nextjs_15.md +9 -8
- package/docs/en-GB/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/en-GB/intlayer_with_react_router_v7.md +6 -6
- package/docs/en-GB/intlayer_with_tanstack.md +46 -31
- package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
- package/docs/en-GB/intlayer_with_vite+react.md +7 -7
- package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
- package/docs/es/intlayer_with_nextjs_14.md +9 -9
- package/docs/es/intlayer_with_nextjs_15.md +9 -8
- package/docs/es/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/es/intlayer_with_react_router_v7.md +6 -6
- package/docs/es/intlayer_with_tanstack.md +15 -10
- package/docs/es/intlayer_with_vite+preact.md +7 -7
- package/docs/es/intlayer_with_vite+react.md +7 -7
- package/docs/es/intlayer_with_vite+vue.md +9 -9
- package/docs/fr/intlayer_with_nextjs_14.md +9 -9
- package/docs/fr/intlayer_with_nextjs_15.md +9 -8
- package/docs/fr/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/fr/intlayer_with_react_router_v7.md +6 -6
- package/docs/fr/intlayer_with_tanstack.md +46 -31
- package/docs/fr/intlayer_with_vite+preact.md +7 -7
- package/docs/fr/intlayer_with_vite+react.md +7 -7
- package/docs/fr/intlayer_with_vite+vue.md +9 -9
- package/docs/hi/intlayer_with_nextjs_14.md +9 -9
- package/docs/hi/intlayer_with_nextjs_15.md +9 -8
- package/docs/hi/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/hi/intlayer_with_react_router_v7.md +6 -6
- package/docs/hi/intlayer_with_tanstack.md +15 -10
- package/docs/hi/intlayer_with_vite+preact.md +7 -7
- package/docs/hi/intlayer_with_vite+react.md +7 -7
- package/docs/hi/intlayer_with_vite+vue.md +9 -9
- package/docs/id/interest_of_intlayer.md +1 -1
- package/docs/id/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/id/intlayer_with_react_router_v7.md +6 -6
- package/docs/id/intlayer_with_tanstack.md +15 -10
- package/docs/id/intlayer_with_vite+preact.md +9 -9
- package/docs/id/intlayer_with_vite+react.md +8 -8
- package/docs/id/intlayer_with_vite+vue.md +8 -8
- package/docs/id/releases/v6.md +1 -1
- package/docs/it/intlayer_with_nextjs_14.md +9 -9
- package/docs/it/intlayer_with_nextjs_15.md +9 -8
- package/docs/it/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/it/intlayer_with_react_router_v7.md +6 -6
- package/docs/it/intlayer_with_tanstack.md +46 -31
- package/docs/it/intlayer_with_vite+preact.md +7 -7
- package/docs/it/intlayer_with_vite+react.md +7 -7
- package/docs/it/intlayer_with_vite+vue.md +9 -9
- package/docs/ja/intlayer_with_nextjs_14.md +9 -9
- package/docs/ja/intlayer_with_nextjs_15.md +9 -8
- package/docs/ja/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/ja/intlayer_with_react_router_v7.md +6 -6
- package/docs/ja/intlayer_with_tanstack.md +16 -10
- package/docs/ja/intlayer_with_vite+preact.md +7 -7
- package/docs/ja/intlayer_with_vite+react.md +7 -7
- package/docs/ja/intlayer_with_vite+vue.md +9 -9
- package/docs/ko/intlayer_with_nextjs_14.md +9 -9
- package/docs/ko/intlayer_with_nextjs_15.md +9 -8
- package/docs/ko/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/ko/intlayer_with_react_router_v7.md +6 -6
- package/docs/ko/intlayer_with_tanstack.md +46 -31
- package/docs/ko/intlayer_with_vite+preact.md +7 -7
- package/docs/ko/intlayer_with_vite+react.md +7 -7
- package/docs/ko/intlayer_with_vite+vue.md +9 -9
- package/docs/pl/interest_of_intlayer.md +1 -1
- package/docs/pl/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/pl/intlayer_with_react_router_v7.md +6 -6
- package/docs/pl/intlayer_with_tanstack.md +15 -10
- package/docs/pl/intlayer_with_vite+preact.md +10 -10
- package/docs/pl/intlayer_with_vite+react.md +8 -8
- package/docs/pl/intlayer_with_vite+vue.md +8 -8
- package/docs/pl/releases/v6.md +1 -1
- package/docs/pt/intlayer_with_nextjs_14.md +9 -9
- package/docs/pt/intlayer_with_nextjs_15.md +9 -8
- package/docs/pt/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/pt/intlayer_with_react_router_v7.md +2 -2
- package/docs/pt/intlayer_with_tanstack.md +46 -31
- package/docs/pt/intlayer_with_vite+preact.md +7 -7
- package/docs/pt/intlayer_with_vite+react.md +7 -7
- package/docs/pt/intlayer_with_vite+vue.md +9 -9
- package/docs/ru/intlayer_with_nextjs_14.md +9 -9
- package/docs/ru/intlayer_with_nextjs_15.md +9 -8
- package/docs/ru/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/ru/intlayer_with_react_router_v7.md +6 -6
- package/docs/ru/intlayer_with_tanstack.md +15 -10
- package/docs/ru/intlayer_with_vite+preact.md +7 -7
- package/docs/ru/intlayer_with_vite+react.md +7 -7
- package/docs/ru/intlayer_with_vite+vue.md +9 -9
- package/docs/tr/interest_of_intlayer.md +1 -1
- package/docs/tr/intlayer_with_nextjs_15.md +9 -8
- package/docs/tr/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/tr/intlayer_with_react_router_v7.md +6 -6
- package/docs/tr/intlayer_with_tanstack.md +46 -31
- package/docs/tr/intlayer_with_vite+preact.md +8 -8
- package/docs/tr/intlayer_with_vite+react.md +8 -8
- package/docs/tr/intlayer_with_vite+vue.md +8 -8
- package/docs/vi/interest_of_intlayer.md +1 -1
- package/docs/vi/intlayer_with_nextjs_15.md +1 -0
- package/docs/vi/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/vi/intlayer_with_react_router_v7.md +6 -6
- package/docs/vi/intlayer_with_tanstack.md +46 -31
- package/docs/vi/intlayer_with_vite+preact.md +9 -9
- package/docs/vi/intlayer_with_vite+react.md +8 -8
- package/docs/vi/intlayer_with_vite+vue.md +8 -8
- package/docs/vi/releases/v6.md +1 -1
- package/docs/zh/intlayer_with_nextjs_14.md +9 -9
- package/docs/zh/intlayer_with_nextjs_15.md +9 -8
- package/docs/zh/intlayer_with_nextjs_page_router.md +7 -10
- package/docs/zh/intlayer_with_react_router_v7.md +6 -6
- package/docs/zh/intlayer_with_tanstack.md +14 -8
- package/docs/zh/intlayer_with_vite+preact.md +7 -7
- package/docs/zh/intlayer_with_vite+react.md +7 -7
- package/docs/zh/intlayer_with_vite+vue.md +7 -7
- package/frequent_questions/ar/domain_routing.md +1 -1
- package/frequent_questions/de/domain_routing.md +1 -1
- package/frequent_questions/en/domain_routing.md +1 -1
- package/frequent_questions/en/package_version_error.md +29 -1
- package/frequent_questions/en-GB/domain_routing.md +1 -1
- package/frequent_questions/es/domain_routing.md +1 -1
- package/frequent_questions/fr/domain_routing.md +1 -1
- package/frequent_questions/hi/domain_routing.md +1 -1
- package/frequent_questions/id/domain_routing.md +1 -1
- package/frequent_questions/it/domain_routing.md +1 -1
- package/frequent_questions/it/package_version_error.md +4 -4
- package/frequent_questions/ja/domain_routing.md +1 -1
- package/frequent_questions/ko/domain_routing.md +1 -1
- package/frequent_questions/pl/domain_routing.md +1 -1
- package/frequent_questions/pt/domain_routing.md +1 -1
- package/frequent_questions/ru/domain_routing.md +1 -1
- package/frequent_questions/tr/domain_routing.md +1 -1
- package/frequent_questions/vi/domain_routing.md +1 -1
- package/frequent_questions/zh/domain_routing.md +1 -1
- package/package.json +7 -14
|
@@ -699,40 +699,40 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
|
|
|
699
699
|
</template>
|
|
700
700
|
```
|
|
701
701
|
|
|
702
|
-
Secara paralel, Anda juga dapat menggunakan `
|
|
702
|
+
Secara paralel, Anda juga dapat menggunakan `intlayerProxy` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini secara otomatis akan mendeteksi locale saat ini berdasarkan URL dan mengatur cookie locale yang sesuai. Jika tidak ada locale yang ditentukan, plugin akan menentukan locale yang paling tepat berdasarkan preferensi bahasa browser pengguna. Jika tidak ada locale yang terdeteksi, maka akan mengarahkan ulang ke locale default.
|
|
703
703
|
|
|
704
|
-
> Perlu dicatat bahwa untuk menggunakan `
|
|
704
|
+
> Perlu dicatat bahwa untuk menggunakan `intlayerProxy` dalam produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
|
|
705
705
|
|
|
706
706
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
707
707
|
import { defineConfig } from "vite";
|
|
708
708
|
import vue from "@vitejs/plugin-vue";
|
|
709
|
-
import { intlayer,
|
|
709
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
710
710
|
|
|
711
711
|
// https://vitejs.dev/config/
|
|
712
712
|
export default defineConfig({
|
|
713
|
-
plugins: [vue(), intlayer(),
|
|
713
|
+
plugins: [vue(), intlayer(), intlayerProxy()],
|
|
714
714
|
});
|
|
715
715
|
```
|
|
716
716
|
|
|
717
717
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
718
718
|
import { defineConfig } from "vite";
|
|
719
719
|
import vue from "@vitejs/plugin-vue";
|
|
720
|
-
import { intlayer,
|
|
720
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
721
721
|
|
|
722
722
|
// https://vitejs.dev/config/
|
|
723
723
|
export default defineConfig({
|
|
724
|
-
plugins: [vue(), intlayer(),
|
|
724
|
+
plugins: [vue(), intlayer(), intlayerProxy()],
|
|
725
725
|
});
|
|
726
726
|
```
|
|
727
727
|
|
|
728
728
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
729
729
|
const { defineConfig } = require("vite");
|
|
730
730
|
const vue = require("@vitejs/plugin-vue");
|
|
731
|
-
const { intlayer,
|
|
731
|
+
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
732
732
|
|
|
733
733
|
// https://vitejs.dev/config/
|
|
734
734
|
module.exports = defineConfig({
|
|
735
|
-
plugins: [vue(), intlayer(),
|
|
735
|
+
plugins: [vue(), intlayer(), intlayerProxy()],
|
|
736
736
|
});
|
|
737
737
|
```
|
|
738
738
|
|
package/docs/id/releases/v6.md
CHANGED
|
@@ -277,7 +277,7 @@ Untuk mengatasinya, kami menghapus perintah `intlayer watch`, dan menggunakan op
|
|
|
277
277
|
- Gunakan opsi global baru `content.autoFill` untuk menghasilkan terjemahan yang hilang secara massal.
|
|
278
278
|
- Gunakan `npx intlayer content test` untuk memeriksa PR terkait terjemahan yang hilang.
|
|
279
279
|
- Untuk diagnostik yang lebih rinci, atur `log.mode = 'verbose'`.
|
|
280
|
-
- Gunakan `intlayer` menggantikan `intlayerPlugin` dan `
|
|
280
|
+
- Gunakan `intlayer` menggantikan `intlayerPlugin` dan `intlayerProxy` menggantikan `intlayerProxyPlugin` dalam konfigurasi Vite Anda.
|
|
281
281
|
|
|
282
282
|
---
|
|
283
283
|
|
|
@@ -925,8 +925,8 @@ import { type FC } from "react";
|
|
|
925
925
|
import Link from "next/link";
|
|
926
926
|
|
|
927
927
|
const LocaleSwitcher: FC = () => {
|
|
928
|
-
const { locale, pathWithoutLocale, availableLocales } =
|
|
929
|
-
|
|
928
|
+
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
929
|
+
useLocale();
|
|
930
930
|
|
|
931
931
|
return (
|
|
932
932
|
<div>
|
|
@@ -938,7 +938,7 @@ const LocaleSwitcher: FC = () => {
|
|
|
938
938
|
hrefLang={localeItem}
|
|
939
939
|
key={localeItem}
|
|
940
940
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
941
|
-
onClick={() =>
|
|
941
|
+
onClick={() => setLocale(localeItem)}
|
|
942
942
|
>
|
|
943
943
|
<span>
|
|
944
944
|
{/* Lingua - es. FR */}
|
|
@@ -977,8 +977,8 @@ import { useLocale } from "next-intlayer";
|
|
|
977
977
|
import Link from "next/link";
|
|
978
978
|
|
|
979
979
|
const LocaleSwitcher = () => {
|
|
980
|
-
const { locale, pathWithoutLocale, availableLocales } =
|
|
981
|
-
|
|
980
|
+
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
981
|
+
useLocale();
|
|
982
982
|
|
|
983
983
|
return (
|
|
984
984
|
<div>
|
|
@@ -990,7 +990,7 @@ const LocaleSwitcher = () => {
|
|
|
990
990
|
hrefLang={localeItem}
|
|
991
991
|
key={localeItem}
|
|
992
992
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
993
|
-
onClick={() =>
|
|
993
|
+
onClick={() => setLocale(localeItem)}
|
|
994
994
|
>
|
|
995
995
|
<span>
|
|
996
996
|
{/* Lingua - es. FR */}
|
|
@@ -1029,8 +1029,8 @@ const { useLocale } = require("next-intlayer");
|
|
|
1029
1029
|
const Link = require("next/link");
|
|
1030
1030
|
|
|
1031
1031
|
const LocaleSwitcher = () => {
|
|
1032
|
-
const { locale, pathWithoutLocale, availableLocales } =
|
|
1033
|
-
|
|
1032
|
+
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1033
|
+
useLocale();
|
|
1034
1034
|
|
|
1035
1035
|
return (
|
|
1036
1036
|
<div>
|
|
@@ -1042,7 +1042,7 @@ const LocaleSwitcher = () => {
|
|
|
1042
1042
|
hrefLang={localeItem}
|
|
1043
1043
|
key={localeItem}
|
|
1044
1044
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
1045
|
-
onClick={() =>
|
|
1045
|
+
onClick={() => setLocale(localeItem)}
|
|
1046
1046
|
>
|
|
1047
1047
|
<span>
|
|
1048
1048
|
{/* Lingua - es. FR */}
|
|
@@ -1175,8 +1175,8 @@ import { useLocale } from "next-intlayer";
|
|
|
1175
1175
|
import Link from "next/link";
|
|
1176
1176
|
|
|
1177
1177
|
export const LocaleSwitcher: FC = () => {
|
|
1178
|
-
const { locale, pathWithoutLocale, availableLocales } =
|
|
1179
|
-
|
|
1178
|
+
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1179
|
+
useLocale();
|
|
1180
1180
|
|
|
1181
1181
|
return (
|
|
1182
1182
|
<div>
|
|
@@ -1188,7 +1188,7 @@ export const LocaleSwitcher: FC = () => {
|
|
|
1188
1188
|
hrefLang={localeItem}
|
|
1189
1189
|
key={localeItem}
|
|
1190
1190
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
1191
|
-
onClick={() =>
|
|
1191
|
+
onClick={() => setLocale(localeItem)}
|
|
1192
1192
|
>
|
|
1193
1193
|
<span>
|
|
1194
1194
|
{/* Località - es. FR */}
|
|
@@ -1227,8 +1227,8 @@ import { useLocale } from "next-intlayer";
|
|
|
1227
1227
|
import Link from "next/link";
|
|
1228
1228
|
|
|
1229
1229
|
export const LocaleSwitcher = () => {
|
|
1230
|
-
const { locale, pathWithoutLocale, availableLocales } =
|
|
1231
|
-
|
|
1230
|
+
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1231
|
+
useLocale();
|
|
1232
1232
|
|
|
1233
1233
|
return (
|
|
1234
1234
|
<div>
|
|
@@ -1240,7 +1240,7 @@ export const LocaleSwitcher = () => {
|
|
|
1240
1240
|
hrefLang={localeItem}
|
|
1241
1241
|
key={localeItem}
|
|
1242
1242
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
1243
|
-
onClick={() =>
|
|
1243
|
+
onClick={() => setLocale(localeItem)}
|
|
1244
1244
|
>
|
|
1245
1245
|
<span>
|
|
1246
1246
|
{/* Località - es. FR */}
|
|
@@ -1279,7 +1279,8 @@ const { useLocale } = require("next-intlayer");
|
|
|
1279
1279
|
const Link = require("next/link");
|
|
1280
1280
|
|
|
1281
1281
|
export const LocaleSwitcher = () => {
|
|
1282
|
-
const { locale, pathWithoutLocale, availableLocales } =
|
|
1282
|
+
const { locale, pathWithoutLocale, availableLocales, setLocale } =
|
|
1283
|
+
useLocale();
|
|
1283
1284
|
|
|
1284
1285
|
return (
|
|
1285
1286
|
<div>
|
|
@@ -1291,7 +1292,7 @@ export const LocaleSwitcher = () => {
|
|
|
1291
1292
|
hrefLang={localeItem}
|
|
1292
1293
|
key={localeItem}
|
|
1293
1294
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
1294
|
-
onClick={() =>
|
|
1295
|
+
onClick={() => setLocale(localeItem)}
|
|
1295
1296
|
>
|
|
1296
1297
|
<span>
|
|
1297
1298
|
{/* Località - es. FR */}
|
|
@@ -151,7 +151,7 @@ export default withIntlayer(nextConfig);
|
|
|
151
151
|
Configura il middleware per rilevare automaticamente e gestire la lingua preferita dall'utente:
|
|
152
152
|
|
|
153
153
|
```typescript fileName="src/middleware.ts" codeFormat="typescript"
|
|
154
|
-
export {
|
|
154
|
+
export { intlayerProxy as middleware } from "next-intlayer/middleware";
|
|
155
155
|
|
|
156
156
|
export const config = {
|
|
157
157
|
matcher:
|
|
@@ -160,7 +160,7 @@ export const config = {
|
|
|
160
160
|
```
|
|
161
161
|
|
|
162
162
|
```javascript fileName="src/middleware.mjs" codeFormat="esm"
|
|
163
|
-
export {
|
|
163
|
+
export { intlayerProxy as middleware } from "next-intlayer/middleware";
|
|
164
164
|
|
|
165
165
|
export const config = {
|
|
166
166
|
matcher:
|
|
@@ -169,14 +169,14 @@ export const config = {
|
|
|
169
169
|
```
|
|
170
170
|
|
|
171
171
|
```javascript fileName="src/middleware.cjs" codeFormat="commonjs"
|
|
172
|
-
const {
|
|
172
|
+
const { intlayerProxy } = require("next-intlayer/middleware");
|
|
173
173
|
|
|
174
174
|
const config = {
|
|
175
175
|
matcher:
|
|
176
176
|
"/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
|
|
177
177
|
};
|
|
178
178
|
|
|
179
|
-
module.exports = { middleware:
|
|
179
|
+
module.exports = { middleware: intlayerProxy, config };
|
|
180
180
|
```
|
|
181
181
|
|
|
182
182
|
> Adatta il parametro `matcher` per corrispondere alle rotte della tua applicazione. Per maggiori dettagli, consulta la [documentazione di Next.js sulla configurazione del matcher](https://nextjs.org/docs/app/building-your-application/routing/middleware).
|
|
@@ -1097,7 +1097,6 @@ import Link from "next/link";
|
|
|
1097
1097
|
|
|
1098
1098
|
const LocaleSwitcher: FC = () => {
|
|
1099
1099
|
const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
|
|
1100
|
-
const { setLocaleCookie } = useLocaleCookie();
|
|
1101
1100
|
|
|
1102
1101
|
return (
|
|
1103
1102
|
<div>
|
|
@@ -1109,7 +1108,7 @@ const LocaleSwitcher: FC = () => {
|
|
|
1109
1108
|
hrefLang={localeItem}
|
|
1110
1109
|
key={localeItem}
|
|
1111
1110
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
1112
|
-
onClick={() =>
|
|
1111
|
+
onClick={() => setLocale(localeItem)}
|
|
1113
1112
|
>
|
|
1114
1113
|
<span>
|
|
1115
1114
|
{/* Locale - es. FR */}
|
|
@@ -1147,7 +1146,6 @@ import Link from "next/link";
|
|
|
1147
1146
|
|
|
1148
1147
|
const LocaleSwitcher = () => {
|
|
1149
1148
|
const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
|
|
1150
|
-
const { setLocaleCookie } = useLocaleCookie();
|
|
1151
1149
|
|
|
1152
1150
|
return (
|
|
1153
1151
|
<div>
|
|
@@ -1159,7 +1157,7 @@ const LocaleSwitcher = () => {
|
|
|
1159
1157
|
hrefLang={localeItem}
|
|
1160
1158
|
key={localeItem}
|
|
1161
1159
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
1162
|
-
onClick={() =>
|
|
1160
|
+
onClick={() => setLocale(localeItem)}
|
|
1163
1161
|
>
|
|
1164
1162
|
<span>
|
|
1165
1163
|
{/* Località - es. FR */}
|
|
@@ -1197,7 +1195,6 @@ const Link = require("next/link");
|
|
|
1197
1195
|
|
|
1198
1196
|
const LocaleSwitcher = () => {
|
|
1199
1197
|
const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
|
|
1200
|
-
const { setLocaleCookie } = useLocaleCookie();
|
|
1201
1198
|
|
|
1202
1199
|
return (
|
|
1203
1200
|
<select>
|
|
@@ -1207,7 +1204,7 @@ const LocaleSwitcher = () => {
|
|
|
1207
1204
|
href={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
1208
1205
|
hrefLang={localeItem}
|
|
1209
1206
|
aria-current={locale === localeItem ? "page" : undefined}
|
|
1210
|
-
onClick={() =>
|
|
1207
|
+
onClick={() => setLocale(localeItem)}
|
|
1211
1208
|
>
|
|
1212
1209
|
<span>
|
|
1213
1210
|
{/* Località - es. FR */}
|
|
@@ -318,7 +318,7 @@ import {
|
|
|
318
318
|
getLocalizedUrl,
|
|
319
319
|
getPathWithoutLocale,
|
|
320
320
|
} from "intlayer";
|
|
321
|
-
import {
|
|
321
|
+
import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
|
|
322
322
|
import { Link, useLocation } from "react-router";
|
|
323
323
|
|
|
324
324
|
export const LocaleSwitcher: FC = () => {
|
|
@@ -336,7 +336,7 @@ export const LocaleSwitcher: FC = () => {
|
|
|
336
336
|
<Link
|
|
337
337
|
aria-current={localeItem === locale ? "page" : undefined}
|
|
338
338
|
aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeItem)}`}
|
|
339
|
-
onClick={() =>
|
|
339
|
+
onClick={() => setLocale(localeItem)}
|
|
340
340
|
to={getLocalizedUrl(pathWithoutLocale, localeItem)}
|
|
341
341
|
>
|
|
342
342
|
<span>
|
|
@@ -405,18 +405,18 @@ export default function RootLayout() {
|
|
|
405
405
|
|
|
406
406
|
### Passo 11: Aggiungere il middleware (Opzionale)
|
|
407
407
|
|
|
408
|
-
Puoi anche utilizzare `
|
|
408
|
+
Puoi anche utilizzare `intlayerProxy` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la lingua corrente basandosi sull'URL e imposterà il cookie della lingua appropriata. Se non viene specificata alcuna lingua, il plugin determinerà la lingua più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna lingua, verrà effettuato un reindirizzamento alla lingua predefinita.
|
|
409
409
|
|
|
410
|
-
> Nota che per utilizzare `
|
|
410
|
+
> Nota che per utilizzare `intlayerProxy` in produzione, è necessario spostare il pacchetto `vite-intlayer` da `devDependencies` a `dependencies`.
|
|
411
411
|
|
|
412
412
|
```typescript {3,7} fileName="vite.config.ts"
|
|
413
413
|
import { defineConfig } from "vite";
|
|
414
414
|
import react from "@vitejs/plugin-react-swc";
|
|
415
|
-
import { intlayer,
|
|
415
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
416
416
|
|
|
417
417
|
// https://vitejs.dev/config/
|
|
418
418
|
export default defineConfig({
|
|
419
|
-
plugins: [react(), intlayer(),
|
|
419
|
+
plugins: [react(), intlayer(), intlayerProxy()],
|
|
420
420
|
});
|
|
421
421
|
```
|
|
422
422
|
|
|
@@ -212,6 +212,7 @@ import type { FC } from "react";
|
|
|
212
212
|
|
|
213
213
|
import { Link, type LinkComponentProps } from "@tanstack/react-router";
|
|
214
214
|
import { useLocale } from "react-intlayer";
|
|
215
|
+
import { getPrefix } from "intlayer";
|
|
215
216
|
|
|
216
217
|
export const LOCALE_ROUTE = "{-$locale}" as const;
|
|
217
218
|
|
|
@@ -241,12 +242,13 @@ type RemoveLocaleFromString<S extends string> = CollapseDoubleSlashes<
|
|
|
241
242
|
|
|
242
243
|
export const LocalizedLink: FC<LocalizedLinkProps> = (props) => {
|
|
243
244
|
const { locale } = useLocale();
|
|
245
|
+
const { localePrefix } = getPrefix(locale);
|
|
244
246
|
|
|
245
247
|
return (
|
|
246
248
|
<Link
|
|
247
249
|
{...props}
|
|
248
250
|
params={{
|
|
249
|
-
locale,
|
|
251
|
+
locale: localePrefix,
|
|
250
252
|
...(typeof props?.params === "object" ? props?.params : {}),
|
|
251
253
|
}}
|
|
252
254
|
to={`/${LOCALE_ROUTE}${props.to}` as LinkComponentProps["to"]}
|
|
@@ -263,43 +265,52 @@ Questo componente ha due obiettivi:
|
|
|
263
265
|
Successivamente possiamo creare un hook `useLocalizedNavigate` per la navigazione programmatica:
|
|
264
266
|
|
|
265
267
|
```tsx fileName="src/hooks/useLocalizedNavigate.tsx"
|
|
266
|
-
import { useLocale } from "react-intlayer";
|
|
267
268
|
import { useNavigate } from "@tanstack/react-router";
|
|
269
|
+
import { getPrefix } from "intlayer";
|
|
270
|
+
import { useLocale } from "react-intlayer";
|
|
268
271
|
import { LOCALE_ROUTE } from "@/components/localized-link";
|
|
269
272
|
import type { FileRouteTypes } from "@/routeTree.gen";
|
|
270
273
|
|
|
274
|
+
type StripLocalePrefix<T extends string> = T extends
|
|
275
|
+
| `/${typeof LOCALE_ROUTE}`
|
|
276
|
+
| `/${typeof LOCALE_ROUTE}/`
|
|
277
|
+
? "/"
|
|
278
|
+
: T extends `/${typeof LOCALE_ROUTE}/${infer Rest}`
|
|
279
|
+
? `/${Rest}`
|
|
280
|
+
: never;
|
|
281
|
+
|
|
282
|
+
type LocalizedTo = StripLocalePrefix<FileRouteTypes["to"]>;
|
|
283
|
+
|
|
284
|
+
type LocalizedNavigate = {
|
|
285
|
+
(to: LocalizedTo): ReturnType<ReturnType<typeof useNavigate>>;
|
|
286
|
+
(
|
|
287
|
+
opts: { to: LocalizedTo } & Record<string, unknown>
|
|
288
|
+
): ReturnType<ReturnType<typeof useNavigate>>;
|
|
289
|
+
};
|
|
290
|
+
|
|
271
291
|
export const useLocalizedNavigate = () => {
|
|
272
292
|
const navigate = useNavigate();
|
|
273
293
|
|
|
274
294
|
const { locale } = useLocale();
|
|
275
295
|
|
|
276
|
-
type StripLocalePrefix<T extends string> = T extends
|
|
277
|
-
| `/${typeof LOCALE_ROUTE}`
|
|
278
|
-
| `/${typeof LOCALE_ROUTE}/`
|
|
279
|
-
? "/"
|
|
280
|
-
: T extends `/${typeof LOCALE_ROUTE}/${infer Rest}`
|
|
281
|
-
? `/${Rest}`
|
|
282
|
-
: never;
|
|
283
|
-
|
|
284
|
-
type LocalizedTo = StripLocalePrefix<FileRouteTypes["to"]>;
|
|
285
|
-
|
|
286
|
-
interface LocalizedNavigate {
|
|
287
|
-
(to: LocalizedTo): ReturnType<typeof navigate>;
|
|
288
|
-
(
|
|
289
|
-
opts: { to: LocalizedTo } & Record<string, unknown>
|
|
290
|
-
): ReturnType<typeof navigate>;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
296
|
const localizedNavigate: LocalizedNavigate = (args: any) => {
|
|
297
|
+
const { localePrefix } = getPrefix(locale);
|
|
298
|
+
|
|
294
299
|
if (typeof args === "string") {
|
|
295
|
-
return navigate({
|
|
300
|
+
return navigate({
|
|
301
|
+
to: `/${LOCALE_ROUTE}${args}`,
|
|
302
|
+
params: { locale: localePrefix },
|
|
303
|
+
});
|
|
296
304
|
}
|
|
297
305
|
|
|
298
306
|
const { to, ...rest } = args;
|
|
299
307
|
|
|
300
|
-
const
|
|
308
|
+
const localizedTo = `/${LOCALE_ROUTE}${to}` as any;
|
|
301
309
|
|
|
302
|
-
return navigate({
|
|
310
|
+
return navigate({
|
|
311
|
+
to: localizedTo,
|
|
312
|
+
params: { locale: localePrefix, ...rest } as any,
|
|
313
|
+
});
|
|
303
314
|
};
|
|
304
315
|
|
|
305
316
|
return localizedNavigate;
|
|
@@ -373,8 +384,13 @@ Crea un componente per permettere agli utenti di cambiare lingua:
|
|
|
373
384
|
import type { FC } from "react";
|
|
374
385
|
|
|
375
386
|
import { useLocation } from "@tanstack/react-router";
|
|
376
|
-
import {
|
|
377
|
-
|
|
387
|
+
import {
|
|
388
|
+
getHTMLTextDir,
|
|
389
|
+
getLocaleName,
|
|
390
|
+
getPathWithoutLocale,
|
|
391
|
+
getPrefix,
|
|
392
|
+
} from "intlayer";
|
|
393
|
+
import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
|
|
378
394
|
|
|
379
395
|
import { LocalizedLink, To } from "./localized-link";
|
|
380
396
|
|
|
@@ -393,9 +409,8 @@ export const LocaleSwitcher: FC = () => {
|
|
|
393
409
|
<LocalizedLink
|
|
394
410
|
aria-current={localeEl === locale ? "page" : undefined}
|
|
395
411
|
aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeEl)}`}
|
|
396
|
-
onClick={() =>
|
|
397
|
-
params={{ locale: localeEl }}
|
|
398
|
-
to={pathWithoutLocale as To}
|
|
412
|
+
onClick={() => setLocaleInStorage(localeEl)}
|
|
413
|
+
params={{ locale: getPrefix(localeEl).localePrefix }}
|
|
399
414
|
>
|
|
400
415
|
<span>
|
|
401
416
|
{/* Lingua - es. FR */}
|
|
@@ -473,15 +488,15 @@ function LayoutComponent() {
|
|
|
473
488
|
|
|
474
489
|
### Passo 11: Aggiungere middleware (Opzionale)
|
|
475
490
|
|
|
476
|
-
Puoi anche utilizzare `
|
|
491
|
+
Puoi anche utilizzare `intlayerProxy` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la locale corrente basandosi sull'URL e imposterà il cookie della locale appropriata. Se non viene specificata alcuna locale, il plugin determinerà la locale più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna locale, verrà effettuato un reindirizzamento alla locale predefinita.
|
|
477
492
|
|
|
478
|
-
> Nota che per utilizzare `
|
|
493
|
+
> Nota che per utilizzare `intlayerProxy` in produzione, è necessario spostare il pacchetto `vite-intlayer` da `devDependencies` a `dependencies`.
|
|
479
494
|
|
|
480
495
|
```typescript {3,7} fileName="vite.config.ts"
|
|
481
496
|
import { reactRouter } from "@react-router/dev/vite";
|
|
482
497
|
import tailwindcss from "@tailwindcss/vite";
|
|
483
498
|
import { defineConfig } from "vite";
|
|
484
|
-
import { intlayer,
|
|
499
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
485
500
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
486
501
|
|
|
487
502
|
export default defineConfig({
|
|
@@ -490,7 +505,7 @@ export default defineConfig({
|
|
|
490
505
|
reactRouter(),
|
|
491
506
|
tsconfigPaths(),
|
|
492
507
|
intlayer(),
|
|
493
|
-
|
|
508
|
+
intlayerProxy(),
|
|
494
509
|
],
|
|
495
510
|
});
|
|
496
511
|
```
|
|
@@ -1063,38 +1063,38 @@ const App = () => (
|
|
|
1063
1063
|
module.exports = App;
|
|
1064
1064
|
```
|
|
1065
1065
|
|
|
1066
|
-
In parallelo, puoi anche utilizzare il `
|
|
1066
|
+
In parallelo, puoi anche utilizzare il `intlayerProxy` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la locale corrente basandosi sull'URL e imposterà il cookie della locale appropriata. Se non viene specificata alcuna locale, il plugin determinerà la locale più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna locale, verrà effettuato un reindirizzamento alla locale predefinita.
|
|
1067
1067
|
|
|
1068
1068
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1069
1069
|
import { defineConfig } from "vite";
|
|
1070
1070
|
import preact from "@preact/preset-vite";
|
|
1071
|
-
import { intlayer,
|
|
1071
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
1072
1072
|
|
|
1073
1073
|
// https://vitejs.dev/config/
|
|
1074
1074
|
export default defineConfig({
|
|
1075
|
-
plugins: [preact(), intlayer(),
|
|
1075
|
+
plugins: [preact(), intlayer(), intlayerProxy()],
|
|
1076
1076
|
});
|
|
1077
1077
|
```
|
|
1078
1078
|
|
|
1079
1079
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1080
1080
|
import { defineConfig } from "vite";
|
|
1081
1081
|
import preact from "@preact/preset-vite";
|
|
1082
|
-
import { intlayer,
|
|
1082
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
1083
1083
|
|
|
1084
1084
|
// https://vitejs.dev/config/
|
|
1085
1085
|
export default defineConfig({
|
|
1086
|
-
plugins: [preact(), intlayer(),
|
|
1086
|
+
plugins: [preact(), intlayer(), intlayerProxy()],
|
|
1087
1087
|
});
|
|
1088
1088
|
```
|
|
1089
1089
|
|
|
1090
1090
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1091
1091
|
const { defineConfig } = require("vite");
|
|
1092
1092
|
const preact = require("@preact/preset-vite");
|
|
1093
|
-
const { intlayer,
|
|
1093
|
+
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
1094
1094
|
|
|
1095
1095
|
// https://vitejs.dev/config/
|
|
1096
1096
|
module.exports = defineConfig({
|
|
1097
|
-
plugins: [preact(), intlayer(),
|
|
1097
|
+
plugins: [preact(), intlayer(), intlayerProxy()],
|
|
1098
1098
|
});
|
|
1099
1099
|
```
|
|
1100
1100
|
|
|
@@ -1017,38 +1017,38 @@ const App = () => (
|
|
|
1017
1017
|
);
|
|
1018
1018
|
```
|
|
1019
1019
|
|
|
1020
|
-
In parallelo, puoi anche utilizzare il `
|
|
1020
|
+
In parallelo, puoi anche utilizzare il `intlayerProxy` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la locale corrente basandosi sull'URL e imposterà il cookie della locale appropriata. Se non viene specificata alcuna locale, il plugin determinerà la locale più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna locale, verrà effettuato un reindirizzamento alla locale predefinita.
|
|
1021
1021
|
|
|
1022
1022
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
1023
1023
|
import { defineConfig } from "vite";
|
|
1024
1024
|
import react from "@vitejs/plugin-react-swc";
|
|
1025
|
-
import { intlayer,
|
|
1025
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
1026
1026
|
|
|
1027
1027
|
// https://vitejs.dev/config/
|
|
1028
1028
|
export default defineConfig({
|
|
1029
|
-
plugins: [react(), intlayer(),
|
|
1029
|
+
plugins: [react(), intlayer(), intlayerProxy()],
|
|
1030
1030
|
});
|
|
1031
1031
|
```
|
|
1032
1032
|
|
|
1033
1033
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
1034
1034
|
import { defineConfig } from "vite";
|
|
1035
1035
|
import react from "@vitejs/plugin-react-swc";
|
|
1036
|
-
import { intlayer,
|
|
1036
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
1037
1037
|
|
|
1038
1038
|
// https://vitejs.dev/config/
|
|
1039
1039
|
export default defineConfig({
|
|
1040
|
-
plugins: [react(), intlayer(),
|
|
1040
|
+
plugins: [react(), intlayer(), intlayerProxy()],
|
|
1041
1041
|
});
|
|
1042
1042
|
```
|
|
1043
1043
|
|
|
1044
1044
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
1045
1045
|
const { defineConfig } = require("vite");
|
|
1046
1046
|
const react = require("@vitejs/plugin-react-swc");
|
|
1047
|
-
const { intlayer,
|
|
1047
|
+
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
1048
1048
|
|
|
1049
1049
|
// https://vitejs.dev/config/
|
|
1050
1050
|
module.exports = defineConfig({
|
|
1051
|
-
plugins: [react(), intlayer(),
|
|
1051
|
+
plugins: [react(), intlayer(), intlayerProxy()],
|
|
1052
1052
|
});
|
|
1053
1053
|
```
|
|
1054
1054
|
|
|
@@ -695,46 +695,46 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
|
|
|
695
695
|
</template>
|
|
696
696
|
```
|
|
697
697
|
|
|
698
|
-
Parallelamente, puoi anche utilizzare il `
|
|
698
|
+
Parallelamente, puoi anche utilizzare il `intlayerProxy` per aggiungere il routing lato server alla tua applicazione. Questo plugin rileverà automaticamente la locale corrente basandosi sull'URL e imposterà il cookie della locale appropriata. Se non viene specificata alcuna locale, il plugin determinerà la locale più adatta in base alle preferenze linguistiche del browser dell'utente. Se non viene rilevata alcuna locale, effettuerà un reindirizzamento alla locale predefinita.
|
|
699
699
|
|
|
700
700
|
```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
|
|
701
701
|
import { defineConfig } from "vite";
|
|
702
702
|
import vue from "@vitejs/plugin-vue";
|
|
703
|
-
import { intlayer,
|
|
703
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
704
704
|
|
|
705
705
|
// https://vitejs.dev/config/
|
|
706
706
|
export default defineConfig({
|
|
707
|
-
plugins: [vue(), intlayer(),
|
|
707
|
+
plugins: [vue(), intlayer(), intlayerProxy()],
|
|
708
708
|
});
|
|
709
709
|
```
|
|
710
710
|
|
|
711
711
|
```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
|
|
712
712
|
import { defineConfig } from "vite";
|
|
713
713
|
import vue from "@vitejs/plugin-vue";
|
|
714
|
-
import { intlayer,
|
|
714
|
+
import { intlayer, intlayerProxy } from "vite-intlayer";
|
|
715
715
|
|
|
716
716
|
// https://vitejs.dev/config/
|
|
717
717
|
export default defineConfig({
|
|
718
|
-
plugins: [vue(), intlayer(),
|
|
718
|
+
plugins: [vue(), intlayer(), intlayerProxy()],
|
|
719
719
|
});
|
|
720
720
|
```
|
|
721
721
|
|
|
722
722
|
```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
|
|
723
723
|
const { defineConfig } = require("vite");
|
|
724
724
|
const vue = require("@vitejs/plugin-vue");
|
|
725
|
-
const { intlayer,
|
|
725
|
+
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
726
726
|
|
|
727
727
|
// https://vitejs.dev/config/
|
|
728
728
|
module.exports = defineConfig({
|
|
729
|
-
plugins: [vue(), intlayer(),
|
|
729
|
+
plugins: [vue(), intlayer(), intlayerProxy()],
|
|
730
730
|
});
|
|
731
731
|
const { defineConfig } = require("vite");
|
|
732
732
|
const vue = require("@vitejs/plugin-vue");
|
|
733
|
-
const { intlayer,
|
|
733
|
+
const { intlayer, intlayerProxy } = require("vite-intlayer");
|
|
734
734
|
|
|
735
735
|
// https://vitejs.dev/config/
|
|
736
736
|
module.exports = defineConfig({
|
|
737
|
-
plugins: [vue(), intlayer(),
|
|
737
|
+
plugins: [vue(), intlayer(), intlayerProxy()],
|
|
738
738
|
});
|
|
739
739
|
```
|
|
740
740
|
|