@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.
Files changed (176) hide show
  1. package/blog/ar/internationalization_and_SEO.md +0 -4
  2. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
  3. package/blog/de/internationalization_and_SEO.md +0 -2
  4. package/blog/en/internationalization_and_SEO.md +0 -2
  5. package/blog/en/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
  6. package/blog/en-GB/internationalization_and_SEO.md +0 -2
  7. package/blog/es/internationalization_and_SEO.md +0 -4
  8. package/blog/fr/internationalization_and_SEO.md +0 -2
  9. package/blog/hi/internationalization_and_SEO.md +0 -2
  10. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
  11. package/blog/it/internationalization_and_SEO.md +0 -2
  12. package/blog/ja/internationalization_and_SEO.md +0 -2
  13. package/blog/ko/internationalization_and_SEO.md +0 -2
  14. package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
  15. package/blog/pt/internationalization_and_SEO.md +0 -4
  16. package/blog/ru/internationalization_and_SEO.md +0 -4
  17. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +2 -2
  18. package/blog/zh/internationalization_and_SEO.md +0 -4
  19. package/docs/ar/intlayer_with_nextjs_14.md +9 -9
  20. package/docs/ar/intlayer_with_nextjs_15.md +9 -8
  21. package/docs/ar/intlayer_with_nextjs_16.md +2 -56
  22. package/docs/ar/intlayer_with_nextjs_page_router.md +7 -10
  23. package/docs/ar/intlayer_with_react_router_v7.md +6 -6
  24. package/docs/ar/intlayer_with_tanstack.md +46 -31
  25. package/docs/ar/intlayer_with_vite+preact.md +7 -7
  26. package/docs/ar/intlayer_with_vite+react.md +7 -7
  27. package/docs/ar/intlayer_with_vite+vue.md +9 -9
  28. package/docs/de/intlayer_with_nextjs_14.md +9 -9
  29. package/docs/de/intlayer_with_nextjs_15.md +9 -8
  30. package/docs/de/intlayer_with_nextjs_page_router.md +7 -10
  31. package/docs/de/intlayer_with_react_router_v7.md +6 -6
  32. package/docs/de/intlayer_with_tanstack.md +46 -31
  33. package/docs/de/intlayer_with_vite+preact.md +7 -7
  34. package/docs/de/intlayer_with_vite+react.md +7 -7
  35. package/docs/de/intlayer_with_vite+vue.md +9 -9
  36. package/docs/en/interest_of_intlayer.md +1 -1
  37. package/docs/en/intlayer_with_nextjs_page_router.md +7 -10
  38. package/docs/en/intlayer_with_react_router_v7.md +6 -6
  39. package/docs/en/intlayer_with_tanstack.md +57 -33
  40. package/docs/en/intlayer_with_vite+preact.md +8 -8
  41. package/docs/en/intlayer_with_vite+react.md +8 -8
  42. package/docs/en/intlayer_with_vite+vue.md +8 -8
  43. package/docs/en/releases/v6.md +1 -1
  44. package/docs/en-GB/intlayer_with_nextjs_14.md +9 -9
  45. package/docs/en-GB/intlayer_with_nextjs_15.md +9 -8
  46. package/docs/en-GB/intlayer_with_nextjs_page_router.md +7 -10
  47. package/docs/en-GB/intlayer_with_react_router_v7.md +6 -6
  48. package/docs/en-GB/intlayer_with_tanstack.md +46 -31
  49. package/docs/en-GB/intlayer_with_vite+preact.md +7 -7
  50. package/docs/en-GB/intlayer_with_vite+react.md +7 -7
  51. package/docs/en-GB/intlayer_with_vite+vue.md +9 -9
  52. package/docs/es/intlayer_with_nextjs_14.md +9 -9
  53. package/docs/es/intlayer_with_nextjs_15.md +9 -8
  54. package/docs/es/intlayer_with_nextjs_page_router.md +7 -10
  55. package/docs/es/intlayer_with_react_router_v7.md +6 -6
  56. package/docs/es/intlayer_with_tanstack.md +15 -10
  57. package/docs/es/intlayer_with_vite+preact.md +7 -7
  58. package/docs/es/intlayer_with_vite+react.md +7 -7
  59. package/docs/es/intlayer_with_vite+vue.md +9 -9
  60. package/docs/fr/intlayer_with_nextjs_14.md +9 -9
  61. package/docs/fr/intlayer_with_nextjs_15.md +9 -8
  62. package/docs/fr/intlayer_with_nextjs_page_router.md +7 -10
  63. package/docs/fr/intlayer_with_react_router_v7.md +6 -6
  64. package/docs/fr/intlayer_with_tanstack.md +46 -31
  65. package/docs/fr/intlayer_with_vite+preact.md +7 -7
  66. package/docs/fr/intlayer_with_vite+react.md +7 -7
  67. package/docs/fr/intlayer_with_vite+vue.md +9 -9
  68. package/docs/hi/intlayer_with_nextjs_14.md +9 -9
  69. package/docs/hi/intlayer_with_nextjs_15.md +9 -8
  70. package/docs/hi/intlayer_with_nextjs_page_router.md +7 -10
  71. package/docs/hi/intlayer_with_react_router_v7.md +6 -6
  72. package/docs/hi/intlayer_with_tanstack.md +15 -10
  73. package/docs/hi/intlayer_with_vite+preact.md +7 -7
  74. package/docs/hi/intlayer_with_vite+react.md +7 -7
  75. package/docs/hi/intlayer_with_vite+vue.md +9 -9
  76. package/docs/id/interest_of_intlayer.md +1 -1
  77. package/docs/id/intlayer_with_nextjs_page_router.md +7 -10
  78. package/docs/id/intlayer_with_react_router_v7.md +6 -6
  79. package/docs/id/intlayer_with_tanstack.md +15 -10
  80. package/docs/id/intlayer_with_vite+preact.md +9 -9
  81. package/docs/id/intlayer_with_vite+react.md +8 -8
  82. package/docs/id/intlayer_with_vite+vue.md +8 -8
  83. package/docs/id/releases/v6.md +1 -1
  84. package/docs/it/intlayer_with_nextjs_14.md +9 -9
  85. package/docs/it/intlayer_with_nextjs_15.md +9 -8
  86. package/docs/it/intlayer_with_nextjs_page_router.md +7 -10
  87. package/docs/it/intlayer_with_react_router_v7.md +6 -6
  88. package/docs/it/intlayer_with_tanstack.md +46 -31
  89. package/docs/it/intlayer_with_vite+preact.md +7 -7
  90. package/docs/it/intlayer_with_vite+react.md +7 -7
  91. package/docs/it/intlayer_with_vite+vue.md +9 -9
  92. package/docs/ja/intlayer_with_nextjs_14.md +9 -9
  93. package/docs/ja/intlayer_with_nextjs_15.md +9 -8
  94. package/docs/ja/intlayer_with_nextjs_page_router.md +7 -10
  95. package/docs/ja/intlayer_with_react_router_v7.md +6 -6
  96. package/docs/ja/intlayer_with_tanstack.md +16 -10
  97. package/docs/ja/intlayer_with_vite+preact.md +7 -7
  98. package/docs/ja/intlayer_with_vite+react.md +7 -7
  99. package/docs/ja/intlayer_with_vite+vue.md +9 -9
  100. package/docs/ko/intlayer_with_nextjs_14.md +9 -9
  101. package/docs/ko/intlayer_with_nextjs_15.md +9 -8
  102. package/docs/ko/intlayer_with_nextjs_page_router.md +7 -10
  103. package/docs/ko/intlayer_with_react_router_v7.md +6 -6
  104. package/docs/ko/intlayer_with_tanstack.md +46 -31
  105. package/docs/ko/intlayer_with_vite+preact.md +7 -7
  106. package/docs/ko/intlayer_with_vite+react.md +7 -7
  107. package/docs/ko/intlayer_with_vite+vue.md +9 -9
  108. package/docs/pl/interest_of_intlayer.md +1 -1
  109. package/docs/pl/intlayer_with_nextjs_page_router.md +7 -10
  110. package/docs/pl/intlayer_with_react_router_v7.md +6 -6
  111. package/docs/pl/intlayer_with_tanstack.md +15 -10
  112. package/docs/pl/intlayer_with_vite+preact.md +10 -10
  113. package/docs/pl/intlayer_with_vite+react.md +8 -8
  114. package/docs/pl/intlayer_with_vite+vue.md +8 -8
  115. package/docs/pl/releases/v6.md +1 -1
  116. package/docs/pt/intlayer_with_nextjs_14.md +9 -9
  117. package/docs/pt/intlayer_with_nextjs_15.md +9 -8
  118. package/docs/pt/intlayer_with_nextjs_page_router.md +7 -10
  119. package/docs/pt/intlayer_with_react_router_v7.md +2 -2
  120. package/docs/pt/intlayer_with_tanstack.md +46 -31
  121. package/docs/pt/intlayer_with_vite+preact.md +7 -7
  122. package/docs/pt/intlayer_with_vite+react.md +7 -7
  123. package/docs/pt/intlayer_with_vite+vue.md +9 -9
  124. package/docs/ru/intlayer_with_nextjs_14.md +9 -9
  125. package/docs/ru/intlayer_with_nextjs_15.md +9 -8
  126. package/docs/ru/intlayer_with_nextjs_page_router.md +7 -10
  127. package/docs/ru/intlayer_with_react_router_v7.md +6 -6
  128. package/docs/ru/intlayer_with_tanstack.md +15 -10
  129. package/docs/ru/intlayer_with_vite+preact.md +7 -7
  130. package/docs/ru/intlayer_with_vite+react.md +7 -7
  131. package/docs/ru/intlayer_with_vite+vue.md +9 -9
  132. package/docs/tr/interest_of_intlayer.md +1 -1
  133. package/docs/tr/intlayer_with_nextjs_15.md +9 -8
  134. package/docs/tr/intlayer_with_nextjs_page_router.md +7 -10
  135. package/docs/tr/intlayer_with_react_router_v7.md +6 -6
  136. package/docs/tr/intlayer_with_tanstack.md +46 -31
  137. package/docs/tr/intlayer_with_vite+preact.md +8 -8
  138. package/docs/tr/intlayer_with_vite+react.md +8 -8
  139. package/docs/tr/intlayer_with_vite+vue.md +8 -8
  140. package/docs/vi/interest_of_intlayer.md +1 -1
  141. package/docs/vi/intlayer_with_nextjs_15.md +1 -0
  142. package/docs/vi/intlayer_with_nextjs_page_router.md +7 -10
  143. package/docs/vi/intlayer_with_react_router_v7.md +6 -6
  144. package/docs/vi/intlayer_with_tanstack.md +46 -31
  145. package/docs/vi/intlayer_with_vite+preact.md +9 -9
  146. package/docs/vi/intlayer_with_vite+react.md +8 -8
  147. package/docs/vi/intlayer_with_vite+vue.md +8 -8
  148. package/docs/vi/releases/v6.md +1 -1
  149. package/docs/zh/intlayer_with_nextjs_14.md +9 -9
  150. package/docs/zh/intlayer_with_nextjs_15.md +9 -8
  151. package/docs/zh/intlayer_with_nextjs_page_router.md +7 -10
  152. package/docs/zh/intlayer_with_react_router_v7.md +6 -6
  153. package/docs/zh/intlayer_with_tanstack.md +14 -8
  154. package/docs/zh/intlayer_with_vite+preact.md +7 -7
  155. package/docs/zh/intlayer_with_vite+react.md +7 -7
  156. package/docs/zh/intlayer_with_vite+vue.md +7 -7
  157. package/frequent_questions/ar/domain_routing.md +1 -1
  158. package/frequent_questions/de/domain_routing.md +1 -1
  159. package/frequent_questions/en/domain_routing.md +1 -1
  160. package/frequent_questions/en/package_version_error.md +29 -1
  161. package/frequent_questions/en-GB/domain_routing.md +1 -1
  162. package/frequent_questions/es/domain_routing.md +1 -1
  163. package/frequent_questions/fr/domain_routing.md +1 -1
  164. package/frequent_questions/hi/domain_routing.md +1 -1
  165. package/frequent_questions/id/domain_routing.md +1 -1
  166. package/frequent_questions/it/domain_routing.md +1 -1
  167. package/frequent_questions/it/package_version_error.md +4 -4
  168. package/frequent_questions/ja/domain_routing.md +1 -1
  169. package/frequent_questions/ko/domain_routing.md +1 -1
  170. package/frequent_questions/pl/domain_routing.md +1 -1
  171. package/frequent_questions/pt/domain_routing.md +1 -1
  172. package/frequent_questions/ru/domain_routing.md +1 -1
  173. package/frequent_questions/tr/domain_routing.md +1 -1
  174. package/frequent_questions/vi/domain_routing.md +1 -1
  175. package/frequent_questions/zh/domain_routing.md +1 -1
  176. package/package.json +7 -14
@@ -153,7 +153,7 @@ export default withIntlayer(nextConfig);
153
153
  Kullanıcının tercih ettiği yerel ayarı otomatik olarak algılamak ve işlemek için middleware kurun:
154
154
 
155
155
  ```typescript fileName="src/middleware.ts" codeFormat="typescript"
156
- export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
156
+ export { intlayerProxy as middleware } from "next-intlayer/middleware";
157
157
 
158
158
  export const config = {
159
159
  matcher:
@@ -162,7 +162,7 @@ export const config = {
162
162
  ```
163
163
 
164
164
  ```javascript fileName="src/middleware.mjs" codeFormat="esm"
165
- export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
165
+ export { intlayerProxy as middleware } from "next-intlayer/middleware";
166
166
 
167
167
  export const config = {
168
168
  matcher:
@@ -171,14 +171,14 @@ export const config = {
171
171
  ```
172
172
 
173
173
  ```javascript fileName="src/middleware.cjs" codeFormat="commonjs"
174
- const { intlayerMiddleware } = require("next-intlayer/middleware");
174
+ const { intlayerProxy } = require("next-intlayer/middleware");
175
175
 
176
176
  const config = {
177
177
  matcher:
178
178
  "/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
179
179
  };
180
180
 
181
- module.exports = { middleware: intlayerMiddleware, config };
181
+ module.exports = { middleware: intlayerProxy, config };
182
182
  ```
183
183
 
184
184
  > Eşleştirici parametresini uygulamanızın rotalarına uyacak şekilde uyarlayın. Daha fazla detay için [Next.js dokümantasyonunda eşleştiriciyi yapılandırma](https://nextjs.org/docs/app/building-your-application/routing/middleware) bölümüne bakın.
@@ -1091,7 +1091,6 @@ import Link from "next/link";
1091
1091
 
1092
1092
  const LocaleSwitcher: FC = () => {
1093
1093
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1094
- const { setLocaleCookie } = useLocaleCookie();
1095
1094
 
1096
1095
  return (
1097
1096
  <div>
@@ -1103,7 +1102,7 @@ const LocaleSwitcher: FC = () => {
1103
1102
  hrefLang={localeItem}
1104
1103
  key={localeItem}
1105
1104
  aria-current={locale === localeItem ? "page" : undefined}
1106
- onClick={() => setLocaleCookie(localeItem)}
1105
+ onClick={() => setLocale(localeItem)}
1107
1106
  >
1108
1107
  <span>
1109
1108
  {/* Yerel ayar - örn. FR */}
@@ -1141,7 +1140,6 @@ import Link from "next/link";
1141
1140
 
1142
1141
  const LocaleSwitcher = () => {
1143
1142
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1144
- const { setLocaleCookie } = useLocaleCookie();
1145
1143
 
1146
1144
  return (
1147
1145
  <div>
@@ -1153,7 +1151,7 @@ const LocaleSwitcher = () => {
1153
1151
  hrefLang={localeItem}
1154
1152
  key={localeItem}
1155
1153
  aria-current={locale === localeItem ? "page" : undefined}
1156
- onClick={() => setLocaleCookie(localeItem)}
1154
+ onClick={() => setLocale(localeItem)}
1157
1155
  >
1158
1156
  <span>
1159
1157
  {/* Yerel ayar - örn. FR */}
@@ -1191,7 +1189,6 @@ const Link = require("next/link");
1191
1189
 
1192
1190
  const LocaleSwitcher = () => {
1193
1191
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1194
- const { setLocaleCookie } = useLocaleCookie();
1195
1192
 
1196
1193
  return (
1197
1194
  <select>
@@ -1201,7 +1198,7 @@ const LocaleSwitcher = () => {
1201
1198
  href={getLocalizedUrl(pathWithoutLocale, localeItem)}
1202
1199
  hrefLang={localeItem}
1203
1200
  aria-current={locale === localeItem ? "page" : undefined}
1204
- onClick={() => setLocaleCookie(localeItem)}
1201
+ onClick={() => setLocale(localeItem)}
1205
1202
  >
1206
1203
  <span>
1207
1204
  {/* Yerel ayar - örn. FR */}
@@ -316,7 +316,7 @@ import {
316
316
  getLocalizedUrl,
317
317
  getPathWithoutLocale,
318
318
  } from "intlayer";
319
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
319
+ import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
320
320
  import { Link, useLocation } from "react-router";
321
321
 
322
322
  export const LocaleSwitcher: FC = () => {
@@ -334,7 +334,7 @@ export const LocaleSwitcher: FC = () => {
334
334
  <Link
335
335
  aria-current={localeItem === locale ? "sayfa" : undefined}
336
336
  aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeItem)}`}
337
- onClick={() => setLocaleCookie(localeItem)}
337
+ onClick={() => setLocale(localeItem)}
338
338
  to={getLocalizedUrl(pathWithoutLocale, localeItem)}
339
339
  >
340
340
  <span>
@@ -403,18 +403,18 @@ export default function RootLayout() {
403
403
 
404
404
  ### Adım 11: Middleware ekleyin (İsteğe bağlı)
405
405
 
406
- Ayrıca uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerMiddleware` kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiçbir yerel ayar belirtilmemişse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiçbir yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirme yapar.
406
+ Ayrıca uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerProxy` kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiçbir yerel ayar belirtilmemişse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiçbir yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirme yapar.
407
407
 
408
- > Üretimde `intlayerMiddleware` kullanmak için, `vite-intlayer` paketini `devDependencies`'den `dependencies`'e geçirmeniz gerektiğini unutmayın.
408
+ > Üretimde `intlayerProxy` kullanmak için, `vite-intlayer` paketini `devDependencies`'den `dependencies`'e geçirmeniz gerektiğini unutmayın.
409
409
 
410
410
  ```typescript {3,7} fileName="vite.config.ts"
411
411
  import { defineConfig } from "vite";
412
412
  import react from "@vitejs/plugin-react-swc";
413
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
413
+ import { intlayer, intlayerProxy } from "vite-intlayer";
414
414
 
415
415
  // https://vitejs.dev/config/
416
416
  export default defineConfig({
417
- plugins: [react(), intlayer(), intlayerMiddleware()],
417
+ plugins: [react(), intlayer(), intlayerProxy()],
418
418
  });
419
419
  ```
420
420
 
@@ -205,6 +205,7 @@ import type { FC } from "react";
205
205
 
206
206
  import { Link, type LinkComponentProps } from "@tanstack/react-router";
207
207
  import { useLocale } from "react-intlayer";
208
+ import { getPrefix } from "intlayer";
208
209
 
209
210
  export const LOCALE_ROUTE = "{-$locale}" as const;
210
211
 
@@ -234,12 +235,13 @@ type RemoveLocaleFromString<S extends string> = CollapseDoubleSlashes<
234
235
 
235
236
  export const LocalizedLink: FC<LocalizedLinkProps> = (props) => {
236
237
  const { locale } = useLocale();
238
+ const { localePrefix } = getPrefix(locale);
237
239
 
238
240
  return (
239
241
  <Link
240
242
  {...props}
241
243
  params={{
242
- locale,
244
+ locale: localePrefix,
243
245
  ...(typeof props?.params === "object" ? props?.params : {}),
244
246
  }}
245
247
  to={`/${LOCALE_ROUTE}${props.to}` as LinkComponentProps["to"]}
@@ -256,43 +258,52 @@ Bu bileşenin iki amacı vardır:
256
258
  Daha sonra programatik gezinme için bir `useLocalizedNavigate` kancası oluşturabiliriz:
257
259
 
258
260
  ```tsx fileName="src/hooks/useLocalizedNavigate.tsx"
259
- import { useLocale } from "react-intlayer";
260
261
  import { useNavigate } from "@tanstack/react-router";
262
+ import { getPrefix } from "intlayer";
263
+ import { useLocale } from "react-intlayer";
261
264
  import { LOCALE_ROUTE } from "@/components/localized-link";
262
265
  import type { FileRouteTypes } from "@/routeTree.gen";
263
266
 
267
+ type StripLocalePrefix<T extends string> = T extends
268
+ | `/${typeof LOCALE_ROUTE}`
269
+ | `/${typeof LOCALE_ROUTE}/`
270
+ ? "/"
271
+ : T extends `/${typeof LOCALE_ROUTE}/${infer Rest}`
272
+ ? `/${Rest}`
273
+ : never;
274
+
275
+ type LocalizedTo = StripLocalePrefix<FileRouteTypes["to"]>;
276
+
277
+ type LocalizedNavigate = {
278
+ (to: LocalizedTo): ReturnType<ReturnType<typeof useNavigate>>;
279
+ (
280
+ opts: { to: LocalizedTo } & Record<string, unknown>
281
+ ): ReturnType<ReturnType<typeof useNavigate>>;
282
+ };
283
+
264
284
  export const useLocalizedNavigate = () => {
265
285
  const navigate = useNavigate();
266
286
 
267
287
  const { locale } = useLocale();
268
288
 
269
- type StripLocalePrefix<T extends string> = T extends
270
- | `/${typeof LOCALE_ROUTE}`
271
- | `/${typeof LOCALE_ROUTE}/`
272
- ? "/"
273
- : T extends `/${typeof LOCALE_ROUTE}/${infer Rest}`
274
- ? `/${Rest}`
275
- : never;
276
-
277
- type LocalizedTo = StripLocalePrefix<FileRouteTypes["to"]>;
278
-
279
- interface LocalizedNavigate {
280
- (to: LocalizedTo): ReturnType<typeof navigate>;
281
- (
282
- opts: { to: LocalizedTo } & Record<string, unknown>
283
- ): ReturnType<typeof navigate>;
284
- }
285
-
286
289
  const localizedNavigate: LocalizedNavigate = (args: any) => {
290
+ const { localePrefix } = getPrefix(locale);
291
+
287
292
  if (typeof args === "string") {
288
- return navigate({ to: `/${LOCALE_ROUTE}${args}`, params: { locale } });
293
+ return navigate({
294
+ to: `/${LOCALE_ROUTE}${args}`,
295
+ params: { locale: localePrefix },
296
+ });
289
297
  }
290
298
 
291
299
  const { to, ...rest } = args;
292
300
 
293
- const localedTo = `/${LOCALE_ROUTE}${to}` as any;
301
+ const localizedTo = `/${LOCALE_ROUTE}${to}` as any;
294
302
 
295
- return navigate({ to: localedTo, params: { locale, ...rest } as any });
303
+ return navigate({
304
+ to: localizedTo,
305
+ params: { locale: localePrefix, ...rest } as any,
306
+ });
296
307
  };
297
308
 
298
309
  return localizedNavigate;
@@ -366,8 +377,13 @@ Kullanıcıların dilleri değiştirmesine izin veren bir bileşen oluşturun:
366
377
  import type { FC } from "react";
367
378
 
368
379
  import { useLocation } from "@tanstack/react-router";
369
- import { getHTMLTextDir, getLocaleName, getPathWithoutLocale } from "intlayer";
370
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
380
+ import {
381
+ getHTMLTextDir,
382
+ getLocaleName,
383
+ getPathWithoutLocale,
384
+ getPrefix,
385
+ } from "intlayer";
386
+ import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
371
387
 
372
388
  import { LocalizedLink, To } from "./localized-link";
373
389
 
@@ -386,9 +402,8 @@ export const LocaleSwitcher: FC = () => {
386
402
  <LocalizedLink
387
403
  aria-current={localeEl === locale ? "sayfa" : undefined}
388
404
  aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeEl)}`}
389
- onClick={() => setLocaleCookie(localeEl)}
390
- params={{ locale: localeEl }}
391
- to={pathWithoutLocale as To}
405
+ onClick={() => setLocaleInStorage(localeEl)}
406
+ params={{ locale: getPrefix(localeEl).localePrefix }}
392
407
  >
393
408
  <span>
394
409
  {/* Dil Kodu - örn. FR */}
@@ -466,15 +481,15 @@ function LayoutComponent() {
466
481
 
467
482
  ### Adım 11: Middleware Ekleme (İsteğe Bağlı)
468
483
 
469
- Uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerMiddleware`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre mevcut yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiçbir yerel ayar belirtilmemişse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiçbir yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirme yapar.
484
+ Uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerProxy`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre mevcut yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiçbir yerel ayar belirtilmemişse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiçbir yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirme yapar.
470
485
 
471
- > Üretimde `intlayerMiddleware` kullanmak için, `vite-intlayer` paketini `devDependencies`'den `dependencies`'e geçirmeniz gerektiğini unutmayın.
486
+ > Üretimde `intlayerProxy` kullanmak için, `vite-intlayer` paketini `devDependencies`'den `dependencies`'e geçirmeniz gerektiğini unutmayın.
472
487
 
473
488
  ```typescript {3,7} fileName="vite.config.ts"
474
489
  import { reactRouter } from "@react-router/dev/vite";
475
490
  import tailwindcss from "@tailwindcss/vite";
476
491
  import { defineConfig } from "vite";
477
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
492
+ import { intlayer, intlayerProxy } from "vite-intlayer";
478
493
  import tsconfigPaths from "vite-tsconfig-paths";
479
494
 
480
495
  export default defineConfig({
@@ -483,7 +498,7 @@ export default defineConfig({
483
498
  reactRouter(),
484
499
  tsconfigPaths(),
485
500
  intlayer(),
486
- intlayerMiddleware(),
501
+ intlayerProxy(),
487
502
  ],
488
503
  });
489
504
  ```
@@ -1040,40 +1040,40 @@ const App = () => (
1040
1040
  module.exports = App;
1041
1041
  ```
1042
1042
 
1043
- Paralel olarak, uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerMiddleware`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiç yerel ayar belirtilmezse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiç yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirir.
1043
+ Paralel olarak, uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerProxy`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiç yerel ayar belirtilmezse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiç yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirir.
1044
1044
 
1045
- > Not: Üretimde `intlayerMiddleware`'i kullanmak için `vite-intlayer` paketini `devDependencies`'den `dependencies`'e taşımalısınız.
1045
+ > Not: Üretimde `intlayerProxy`'i kullanmak için `vite-intlayer` paketini `devDependencies`'den `dependencies`'e taşımalısınız.
1046
1046
 
1047
1047
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1048
1048
  import { defineConfig } from "vite";
1049
1049
  import preact from "@preact/preset-vite";
1050
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1050
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1051
1051
 
1052
1052
  // https://vitejs.dev/config/
1053
1053
  export default defineConfig({
1054
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1054
+ plugins: [preact(), intlayer(), intlayerProxy()],
1055
1055
  });
1056
1056
  ```
1057
1057
 
1058
1058
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
1059
1059
  import { defineConfig } from "vite";
1060
1060
  import preact from "@preact/preset-vite";
1061
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1061
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1062
1062
 
1063
1063
  // https://vitejs.dev/config/
1064
1064
  export default defineConfig({
1065
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1065
+ plugins: [preact(), intlayer(), intlayerProxy()],
1066
1066
  });
1067
1067
  ```
1068
1068
 
1069
1069
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
1070
1070
  const { defineConfig } = require("vite");
1071
1071
  const preact = require("@preact/preset-vite");
1072
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
1072
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
1073
1073
 
1074
1074
  // https://vitejs.dev/config/
1075
1075
  module.exports = defineConfig({
1076
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1076
+ plugins: [preact(), intlayer(), intlayerProxy()],
1077
1077
  });
1078
1078
  ```
1079
1079
 
@@ -1012,40 +1012,40 @@ const App = () => (
1012
1012
  );
1013
1013
  ```
1014
1014
 
1015
- Paralel olarak, uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerMiddleware`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiç yerel ayar belirtilmezse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiç yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirir.
1015
+ Paralel olarak, uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerProxy`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiç yerel ayar belirtilmezse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiç yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirir.
1016
1016
 
1017
- > Not: Üretimde `intlayerMiddleware`'i kullanmak için `vite-intlayer` paketini `devDependencies`'den `dependencies`'e taşımalısınız.
1017
+ > Not: Üretimde `intlayerProxy`'i kullanmak için `vite-intlayer` paketini `devDependencies`'den `dependencies`'e taşımalısınız.
1018
1018
 
1019
1019
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1020
1020
  import { defineConfig } from "vite";
1021
1021
  import react from "@vitejs/plugin-react-swc";
1022
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1022
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1023
1023
 
1024
1024
  // https://vitejs.dev/config/
1025
1025
  export default defineConfig({
1026
- plugins: [react(), intlayer(), intlayerMiddleware()],
1026
+ plugins: [react(), intlayer(), intlayerProxy()],
1027
1027
  });
1028
1028
  ```
1029
1029
 
1030
1030
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
1031
1031
  import { defineConfig } from "vite";
1032
1032
  import react from "@vitejs/plugin-react-swc";
1033
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1033
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1034
1034
 
1035
1035
  // https://vitejs.dev/config/
1036
1036
  export default defineConfig({
1037
- plugins: [react(), intlayer(), intlayerMiddleware()],
1037
+ plugins: [react(), intlayer(), intlayerProxy()],
1038
1038
  });
1039
1039
  ```
1040
1040
 
1041
1041
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
1042
1042
  const { defineConfig } = require("vite");
1043
1043
  const react = "@vitejs/plugin-react-swc";
1044
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
1044
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
1045
1045
 
1046
1046
  // https://vitejs.dev/config/
1047
1047
  module.exports = defineConfig({
1048
- plugins: [react(), intlayer(), intlayerMiddleware()],
1048
+ plugins: [react(), intlayer(), intlayerProxy()],
1049
1049
  });
1050
1050
  ```
1051
1051
 
@@ -648,40 +648,40 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
648
648
  </template>
649
649
  ```
650
650
 
651
- Paralel olarak, uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerMiddleware`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiç yerel ayar belirtilmezse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiç yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirir.
651
+ Paralel olarak, uygulamanıza sunucu tarafı yönlendirme eklemek için `intlayerProxy`'i de kullanabilirsiniz. Bu eklenti, URL'ye göre geçerli yerel ayarı otomatik olarak algılar ve uygun yerel ayar çerezini ayarlar. Hiç yerel ayar belirtilmezse, eklenti kullanıcının tarayıcı dil tercihlerine göre en uygun yerel ayarı belirler. Hiç yerel ayar algılanmazsa, varsayılan yerel ayara yönlendirir.
652
652
 
653
- > Not: Üretimde `intlayerMiddleware`'i kullanmak için `vite-intlayer` paketini `devDependencies`'den `dependencies`'e taşımalısınız.
653
+ > Not: Üretimde `intlayerProxy`'i kullanmak için `vite-intlayer` paketini `devDependencies`'den `dependencies`'e taşımalısınız.
654
654
 
655
655
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
656
656
  import { defineConfig } from "vite";
657
657
  import vue from "@vitejs/plugin-vue";
658
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
658
+ import { intlayer, intlayerProxy } from "vite-intlayer";
659
659
 
660
660
  // https://vitejs.dev/config/
661
661
  export default defineConfig({
662
- plugins: [vue(), intlayer(), intlayerMiddleware()],
662
+ plugins: [vue(), intlayer(), intlayerProxy()],
663
663
  });
664
664
  ```
665
665
 
666
666
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
667
667
  import { defineConfig } from "vite";
668
668
  import vue from "@vitejs/plugin-vue";
669
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
669
+ import { intlayer, intlayerProxy } from "vite-intlayer";
670
670
 
671
671
  // https://vitejs.dev/config/
672
672
  export default defineConfig({
673
- plugins: [vue(), intlayer(), intlayerMiddleware()],
673
+ plugins: [vue(), intlayer(), intlayerProxy()],
674
674
  });
675
675
  ```
676
676
 
677
677
  ```javascript fileName="vite.config.cjs" codeFormat="commonjs"
678
678
  const { defineConfig } = require("vite");
679
679
  const vue = require("@vitejs/plugin-vue");
680
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
680
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
681
681
 
682
682
  // https://vitejs.dev/config/
683
683
  module.exports = defineConfig({
684
- plugins: [vue(), intlayer(), intlayerMiddleware()],
684
+ plugins: [vue(), intlayer(), intlayerProxy()],
685
685
  });
686
686
  ```
687
687
 
@@ -279,7 +279,7 @@ Cách tiếp cận này cho phép bạn:
279
279
 
280
280
  Các sao trên GitHub là một chỉ số mạnh mẽ về độ phổ biến của dự án, sự tin tưởng của cộng đồng và tính liên quan lâu dài. Mặc dù không phải là thước đo trực tiếp về chất lượng kỹ thuật, chúng phản ánh số lượng nhà phát triển thấy dự án hữu ích, theo dõi tiến trình của nó và có khả năng áp dụng nó. Để ước tính giá trị của một dự án, các sao giúp so sánh mức độ thu hút giữa các lựa chọn thay thế và cung cấp cái nhìn sâu sắc về sự phát triển của hệ sinh thái.
281
281
 
282
- [![Biểu đồ Lịch sử Sao](https://api.star-history.com/svg?repos=formatjs/formatjs&repos=i18next/react-i18next&repos=i18next/i18next&repos=i18next/next-i18next&repos=lingui/js-lingui&repos=amannn/next-intl&repos=intlify/vue-i18n&repos=aymericzip/intlayer&type=Date)](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&aymericzip/intlayer)
282
+ [![Biểu đồ Lịch sử Sao](https://api.star-history.com/svg?repos=formatjs/formatjs&repos=i18next/react-i18next&repos=i18next/i18next&repos=i18next/next-i18next&repos=lingui/js-lingui&repos=amannn/next-intl&repos=intlify/vue-i18n&repo=opral/monorepo&repos=aymericzip/intlayer&type=Date)](https://www.star-history.com/#formatjs/formatjs&i18next/react-i18next&i18next/i18next&i18next/next-i18next&lingui/js-lingui&amannn/next-intl&intlify/vue-i18n&opral/monorepo&aymericzip/intlayer)
283
283
 
284
284
  ---
285
285
 
@@ -365,6 +365,7 @@ const inter = Inter({ subsets: ["latin"] });
365
365
  const LocaleLayout = async ({ children, params: { locale } }) => {
366
366
  const { locale } = await params;
367
367
  return (
368
+
368
369
  <html lang={locale} dir={getHTMLTextDir(locale)}>
369
370
  <body className={inter.className}>{children}</body>
370
371
  </html>
@@ -165,7 +165,7 @@ export default withIntlayer(nextConfig);
165
165
  Thiết lập middleware để tự động phát hiện và xử lý ngôn ngữ ưu tiên của người dùng:
166
166
 
167
167
  ```typescript fileName="src/middleware.ts" codeFormat="typescript"
168
- export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
168
+ export { intlayerProxy as middleware } from "next-intlayer/middleware";
169
169
 
170
170
  export const config = {
171
171
  matcher:
@@ -174,7 +174,7 @@ export const config = {
174
174
  ```
175
175
 
176
176
  ```javascript fileName="src/middleware.mjs" codeFormat="esm"
177
- export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
177
+ export { intlayerProxy as middleware } from "next-intlayer/middleware";
178
178
 
179
179
  export const config = {
180
180
  matcher:
@@ -183,14 +183,14 @@ export const config = {
183
183
  ```
184
184
 
185
185
  ```javascript fileName="src/middleware.cjs" codeFormat="commonjs"
186
- const { intlayerMiddleware } = require("next-intlayer/middleware");
186
+ const { intlayerProxy } = require("next-intlayer/middleware");
187
187
 
188
188
  const config = {
189
189
  matcher:
190
190
  "/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
191
191
  };
192
192
 
193
- module.exports = { middleware: intlayerMiddleware, config };
193
+ module.exports = { middleware: intlayerProxy, config };
194
194
  ```
195
195
 
196
196
  > Điều chỉnh tham số `matcher` để phù hợp với các route của ứng dụng bạn. Để biết thêm chi tiết, tham khảo tài liệu [Next.js về cấu hình matcher](https://nextjs.org/docs/app/building-your-application/routing/middleware).
@@ -1107,7 +1107,6 @@ import Link from "next/link";
1107
1107
 
1108
1108
  const LocaleSwitcher: FC = () => {
1109
1109
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1110
- const { setLocaleCookie } = useLocaleCookie();
1111
1110
 
1112
1111
  return (
1113
1112
  <div>
@@ -1119,7 +1118,7 @@ const LocaleSwitcher: FC = () => {
1119
1118
  hrefLang={localeItem}
1120
1119
  key={localeItem}
1121
1120
  aria-current={locale === localeItem ? "page" : undefined}
1122
- onClick={() => setLocaleCookie(localeItem)}
1121
+ onClick={() => setLocale(localeItem)}
1123
1122
  >
1124
1123
  <span>
1125
1124
  {/* Ngôn ngữ địa phương - ví dụ: FR */}
@@ -1157,7 +1156,6 @@ import Link from "next/link";
1157
1156
 
1158
1157
  const LocaleSwitcher = () => {
1159
1158
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1160
- const { setLocaleCookie } = useLocaleCookie();
1161
1159
 
1162
1160
  return (
1163
1161
  <div>
@@ -1169,7 +1167,7 @@ const LocaleSwitcher = () => {
1169
1167
  hrefLang={localeItem}
1170
1168
  key={localeItem}
1171
1169
  aria-current={locale === localeItem ? "page" : undefined}
1172
- onClick={() => setLocaleCookie(localeItem)}
1170
+ onClick={() => setLocale(localeItem)}
1173
1171
  >
1174
1172
  <span>
1175
1173
  {/* Locale - ví dụ: FR */}
@@ -1207,7 +1205,6 @@ const Link = require("next/link");
1207
1205
 
1208
1206
  const LocaleSwitcher = () => {
1209
1207
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1210
- const { setLocaleCookie } = useLocaleCookie();
1211
1208
 
1212
1209
  return (
1213
1210
  <select>
@@ -1217,7 +1214,7 @@ const LocaleSwitcher = () => {
1217
1214
  href={getLocalizedUrl(pathWithoutLocale, localeItem)}
1218
1215
  hrefLang={localeItem}
1219
1216
  aria-current={locale === localeItem ? "page" : undefined}
1220
- onClick={() => setLocaleCookie(localeItem)}
1217
+ onClick={() => setLocale(localeItem)}
1221
1218
  >
1222
1219
  <span>
1223
1220
  {/* Locale - ví dụ: FR */}
@@ -328,7 +328,7 @@ import {
328
328
  getLocalizedUrl,
329
329
  getPathWithoutLocale,
330
330
  } from "intlayer";
331
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
331
+ import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
332
332
  import { Link, useLocation } from "react-router";
333
333
 
334
334
  export const LocaleSwitcher: FC = () => {
@@ -346,7 +346,7 @@ export const LocaleSwitcher: FC = () => {
346
346
  <Link
347
347
  aria-current={localeItem === locale ? "page" : undefined}
348
348
  aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeItem)}`}
349
- onClick={() => setLocaleCookie(localeItem)}
349
+ onClick={() => setLocale(localeItem)}
350
350
  to={getLocalizedUrl(pathWithoutLocale, localeItem)}
351
351
  >
352
352
  <span>
@@ -415,18 +415,18 @@ export default function RootLayout() {
415
415
 
416
416
  ### Bước 11: Thêm middleware (Tùy chọn)
417
417
 
418
- Bạn cũng có thể sử dụng `intlayerMiddleware` để thêm routing phía server cho ứng dụng của bạn. Plugin này sẽ tự động phát hiện locale hiện tại dựa trên URL và thiết lập cookie locale phù hợp. Nếu không có locale nào được chỉ định, plugin sẽ xác định locale phù hợp nhất dựa trên ngôn ngữ trình duyệt của người dùng. Nếu không phát hiện được locale nào, nó sẽ chuyển hướng đến locale mặc định.
418
+ Bạn cũng có thể sử dụng `intlayerProxy` để thêm routing phía server cho ứng dụng của bạn. Plugin này sẽ tự động phát hiện locale hiện tại dựa trên URL và thiết lập cookie locale phù hợp. Nếu không có locale nào được chỉ định, plugin sẽ xác định locale phù hợp nhất dựa trên ngôn ngữ trình duyệt của người dùng. Nếu không phát hiện được locale nào, nó sẽ chuyển hướng đến locale mặc định.
419
419
 
420
- > Lưu ý rằng để sử dụng `intlayerMiddleware` trong môi trường production, bạn cần chuyển gói `vite-intlayer` từ `devDependencies` sang `dependencies`.
420
+ > Lưu ý rằng để sử dụng `intlayerProxy` trong môi trường production, bạn cần chuyển gói `vite-intlayer` từ `devDependencies` sang `dependencies`.
421
421
 
422
422
  ```typescript {3,7} fileName="vite.config.ts"
423
423
  import { defineConfig } from "vite";
424
424
  import react from "@vitejs/plugin-react-swc";
425
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
425
+ import { intlayer, intlayerProxy } from "vite-intlayer";
426
426
 
427
427
  // https://vitejs.dev/config/
428
428
  export default defineConfig({
429
- plugins: [react(), intlayer(), intlayerMiddleware()],
429
+ plugins: [react(), intlayer(), intlayerProxy()],
430
430
  });
431
431
  ```
432
432