@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
@@ -319,7 +319,7 @@ import {
319
319
  getLocalizedUrl,
320
320
  getPathWithoutLocale,
321
321
  } from "intlayer";
322
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
322
+ import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
323
323
  import { Link, useLocation } from "react-router";
324
324
 
325
325
  export const LocaleSwitcher: FC = () => {
@@ -337,7 +337,7 @@ export const LocaleSwitcher: FC = () => {
337
337
  <Link
338
338
  aria-current={localeItem === locale ? "page" : undefined}
339
339
  aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeItem)}`}
340
- onClick={() => setLocaleCookie(localeItem)}
340
+ onClick={() => setLocale(localeItem)}
341
341
  to={getLocalizedUrl(pathWithoutLocale, localeItem)}
342
342
  >
343
343
  <span>
@@ -406,18 +406,18 @@ export default function RootLayout() {
406
406
 
407
407
  ### चरण 11: मिडलवेयर जोड़ें (वैकल्पिक)
408
408
 
409
- आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerMiddleware` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनः निर्देशित करेगा।
409
+ आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerProxy` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनः निर्देशित करेगा।
410
410
 
411
- > ध्यान दें कि उत्पादन में `intlayerMiddleware` का उपयोग करने के लिए, आपको `vite-intlayer` पैकेज को `devDependencies` से `dependencies` में स्विच करना होगा।
411
+ > ध्यान दें कि उत्पादन में `intlayerProxy` का उपयोग करने के लिए, आपको `vite-intlayer` पैकेज को `devDependencies` से `dependencies` में स्विच करना होगा।
412
412
 
413
413
  ```typescript {3,7} fileName="vite.config.ts"
414
414
  import { defineConfig } from "vite";
415
415
  import react from "@vitejs/plugin-react-swc";
416
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
416
+ import { intlayer, intlayerProxy } from "vite-intlayer";
417
417
 
418
418
  // https://vitejs.dev/config/
419
419
  export default defineConfig({
420
- plugins: [react(), intlayer(), intlayerMiddleware()],
420
+ plugins: [react(), intlayer(), intlayerProxy()],
421
421
  });
422
422
  ```
423
423
 
@@ -230,12 +230,13 @@ type RemoveLocaleFromString<S extends string> = CollapseDoubleSlashes<
230
230
 
231
231
  export const LocalizedLink: FC<LocalizedLinkProps> = (props) => {
232
232
  const { locale } = useLocale();
233
+ const { localePrefix } = getPrefix(locale);
233
234
 
234
235
  return (
235
236
  <Link
236
237
  {...props}
237
238
  params={{
238
- locale,
239
+ locale: localePrefix,
239
240
  ...(typeof props?.params === "object" ? props?.params : {}),
240
241
  }}
241
242
  to={`/${LOCALE_ROUTE}${props.to}` as LinkComponentProps["to"]}
@@ -362,8 +363,13 @@ function RouteComponent() {
362
363
  import type { FC } from "react";
363
364
 
364
365
  import { useLocation } from "@tanstack/react-router";
365
- import { getHTMLTextDir, getLocaleName, getPathWithoutLocale } from "intlayer";
366
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
366
+ import {
367
+ getHTMLTextDir,
368
+ getLocaleName,
369
+ getPathWithoutLocale,
370
+ getPrefix,
371
+ } from "intlayer";
372
+ import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
367
373
 
368
374
  import { LocalizedLink, To } from "./localized-link";
369
375
 
@@ -382,9 +388,8 @@ export const LocaleSwitcher: FC = () => {
382
388
  <LocalizedLink
383
389
  aria-current={localeEl === locale ? "page" : undefined}
384
390
  aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeEl)}`}
385
- onClick={() => setLocaleCookie(localeEl)}
386
- params={{ locale: localeEl }}
387
- to={pathWithoutLocale as To}
391
+ onClick={() => setLocaleInStorage(localeEl)}
392
+ params={{ locale: getPrefix(localeEl).localePrefix }}
388
393
  >
389
394
  <span>
390
395
  {/* लोकल - उदाहरण के लिए FR */}
@@ -462,15 +467,15 @@ function LayoutComponent() {
462
467
 
463
468
  ### चरण 11: मिडलवेयर जोड़ें (वैकल्पिक)
464
469
 
465
- आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerMiddleware` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनः निर्देशित करेगा।
470
+ आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerProxy` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनः निर्देशित करेगा।
466
471
 
467
- > ध्यान दें कि उत्पादन में `intlayerMiddleware` का उपयोग करने के लिए, आपको `vite-intlayer` पैकेज को `devDependencies` से `dependencies` में स्विच करना होगा।
472
+ > ध्यान दें कि उत्पादन में `intlayerProxy` का उपयोग करने के लिए, आपको `vite-intlayer` पैकेज को `devDependencies` से `dependencies` में स्विच करना होगा।
468
473
 
469
474
  ```typescript {3,7} fileName="vite.config.ts"
470
475
  import { reactRouter } from "@react-router/dev/vite";
471
476
  import tailwindcss from "@tailwindcss/vite";
472
477
  import { defineConfig } from "vite";
473
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
478
+ import { intlayer, intlayerProxy } from "vite-intlayer";
474
479
  import tsconfigPaths from "vite-tsconfig-paths";
475
480
 
476
481
  export default defineConfig({
@@ -479,7 +484,7 @@ export default defineConfig({
479
484
  reactRouter(),
480
485
  tsconfigPaths(),
481
486
  intlayer(),
482
- intlayerMiddleware(),
487
+ intlayerProxy(),
483
488
  ],
484
489
  });
485
490
  ```
@@ -1077,38 +1077,38 @@ const App = () => (
1077
1077
  module.exports = App;
1078
1078
  ```
1079
1079
 
1080
- साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerMiddleware` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनः निर्देशित करेगा।
1080
+ साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerProxy` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनः निर्देशित करेगा।
1081
1081
 
1082
1082
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1083
1083
  import { defineConfig } from "vite";
1084
1084
  import preact from "@preact/preset-vite";
1085
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1085
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1086
1086
 
1087
1087
  // https://vitejs.dev/config/
1088
1088
  export default defineConfig({
1089
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1089
+ plugins: [preact(), intlayer(), intlayerProxy()],
1090
1090
  });
1091
1091
  ```
1092
1092
 
1093
1093
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
1094
1094
  import { defineConfig } from "vite";
1095
1095
  import preact from "@preact/preset-vite";
1096
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1096
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1097
1097
 
1098
1098
  // https://vitejs.dev/config/
1099
1099
  export default defineConfig({
1100
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1100
+ plugins: [preact(), intlayer(), intlayerProxy()],
1101
1101
  });
1102
1102
  ```
1103
1103
 
1104
1104
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
1105
1105
  const { defineConfig } = require("vite");
1106
1106
  const preact = require("@preact/preset-vite");
1107
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
1107
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
1108
1108
 
1109
1109
  // https://vitejs.dev/config/
1110
1110
  module.exports = defineConfig({
1111
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1111
+ plugins: [preact(), intlayer(), intlayerProxy()],
1112
1112
  });
1113
1113
  ```
1114
1114
 
@@ -1017,38 +1017,38 @@ const App = () => (
1017
1017
  );
1018
1018
  ```
1019
1019
 
1020
- साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerMiddleware` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनर्निर्देशित करेगा।
1020
+ साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerProxy` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान लोकल का स्वचालित रूप से पता लगाएगा और उपयुक्त लोकल कुकी सेट करेगा। यदि कोई लोकल निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त लोकल निर्धारित करेगा। यदि कोई लोकल पता नहीं चलता है, तो यह डिफ़ॉल्ट लोकल पर पुनर्निर्देशित करेगा।
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, intlayerMiddleware } from "vite-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(), intlayerMiddleware()],
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, intlayerMiddleware } from "vite-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(), intlayerMiddleware()],
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, intlayerMiddleware } = require("vite-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(), intlayerMiddleware()],
1051
+ plugins: [react(), intlayer(), intlayerProxy()],
1052
1052
  });
1053
1053
  ```
1054
1054
 
@@ -660,46 +660,46 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
660
660
  </template>
661
661
  ```
662
662
 
663
- साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerMiddleware` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान स्थानीयता को स्वचालित रूप से पहचान लेगा और उपयुक्त स्थानीयता कुकी सेट करेगा। यदि कोई स्थानीयता निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त स्थानीयता निर्धारित करेगा। यदि कोई स्थानीयता पता नहीं चलती है, तो यह डिफ़ॉल्ट स्थानीयता पर पुनर्निर्देशित करेगा।
663
+ साथ ही, आप अपने एप्लिकेशन में सर्वर-साइड रूटिंग जोड़ने के लिए `intlayerProxy` का भी उपयोग कर सकते हैं। यह प्लगइन URL के आधार पर वर्तमान स्थानीयता को स्वचालित रूप से पहचान लेगा और उपयुक्त स्थानीयता कुकी सेट करेगा। यदि कोई स्थानीयता निर्दिष्ट नहीं है, तो प्लगइन उपयोगकर्ता के ब्राउज़र भाषा प्राथमिकताओं के आधार पर सबसे उपयुक्त स्थानीयता निर्धारित करेगा। यदि कोई स्थानीयता पता नहीं चलती है, तो यह डिफ़ॉल्ट स्थानीयता पर पुनर्निर्देशित करेगा।
664
664
 
665
665
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
666
666
  import { defineConfig } from "vite";
667
667
  import vue from "@vitejs/plugin-vue";
668
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
668
+ import { intlayer, intlayerProxy } from "vite-intlayer";
669
669
 
670
670
  // https://vitejs.dev/config/
671
671
  export default defineConfig({
672
- plugins: [vue(), intlayer(), intlayerMiddleware()],
672
+ plugins: [vue(), intlayer(), intlayerProxy()],
673
673
  });
674
674
  ```
675
675
 
676
676
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
677
677
  import { defineConfig } from "vite";
678
678
  import vue from "@vitejs/plugin-vue";
679
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
679
+ import { intlayer, intlayerProxy } from "vite-intlayer";
680
680
 
681
681
  // https://vitejs.dev/config/
682
682
  export default defineConfig({
683
- plugins: [vue(), intlayer(), intlayerMiddleware()],
683
+ plugins: [vue(), intlayer(), intlayerProxy()],
684
684
  });
685
685
  ```
686
686
 
687
687
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
688
688
  const { defineConfig } = require("vite");
689
689
  const vue = require("@vitejs/plugin-vue");
690
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
690
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
691
691
 
692
692
  // https://vitejs.dev/config/
693
693
  module.exports = defineConfig({
694
- plugins: [vue(), intlayer(), intlayerMiddleware()],
694
+ plugins: [vue(), intlayer(), intlayerProxy()],
695
695
  });
696
696
  const { defineConfig } = require("vite");
697
697
  const vue = require("@vitejs/plugin-vue");
698
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
698
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
699
699
 
700
700
  // https://vitejs.dev/config/
701
701
  module.exports = defineConfig({
702
- plugins: [vue(), intlayer(), intlayerMiddleware()],
702
+ plugins: [vue(), intlayer(), intlayerProxy()],
703
703
  });
704
704
  ```
705
705
 
@@ -276,7 +276,7 @@ Pendekatan ini memungkinkan Anda untuk:
276
276
 
277
277
  Bintang GitHub adalah indikator kuat dari popularitas proyek, kepercayaan komunitas, dan relevansi jangka panjang. Meskipun bukan ukuran langsung dari kualitas teknis, bintang tersebut mencerminkan berapa banyak pengembang yang menganggap proyek ini berguna, mengikuti perkembangannya, dan kemungkinan akan mengadopsinya. Untuk memperkirakan nilai sebuah proyek, bintang membantu membandingkan daya tarik di antara alternatif dan memberikan wawasan tentang pertumbuhan ekosistem.
278
278
 
279
- [![Star History Chart](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)
279
+ [![Star History Chart](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)
280
280
 
281
281
  ---
282
282
 
@@ -167,7 +167,7 @@ export default withIntlayer(nextConfig);
167
167
  Siapkan middleware untuk secara otomatis mendeteksi dan menangani locale yang dipilih pengguna:
168
168
 
169
169
  ```typescript fileName="src/middleware.ts" codeFormat="typescript"
170
- export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
170
+ export { intlayerProxy as middleware } from "next-intlayer/middleware";
171
171
 
172
172
  export const config = {
173
173
  matcher:
@@ -176,7 +176,7 @@ export const config = {
176
176
  ```
177
177
 
178
178
  ```javascript fileName="src/middleware.mjs" codeFormat="esm"
179
- export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
179
+ export { intlayerProxy as middleware } from "next-intlayer/middleware";
180
180
 
181
181
  export const config = {
182
182
  matcher:
@@ -185,14 +185,14 @@ export const config = {
185
185
  ```
186
186
 
187
187
  ```javascript fileName="src/middleware.cjs" codeFormat="commonjs"
188
- const { intlayerMiddleware } = require("next-intlayer/middleware");
188
+ const { intlayerProxy } = require("next-intlayer/middleware");
189
189
 
190
190
  const config = {
191
191
  matcher:
192
192
  "/((?!api|static|assets|robots|sitemap|sw|service-worker|manifest|.*\\..*|_next).*)",
193
193
  };
194
194
 
195
- module.exports = { middleware: intlayerMiddleware, config };
195
+ module.exports = { middleware: intlayerProxy, config };
196
196
  ```
197
197
 
198
198
  > Sesuaikan parameter `matcher` untuk mencocokkan rute aplikasi Anda. Untuk informasi lebih lanjut, lihat [dokumentasi Next.js tentang konfigurasi matcher](https://nextjs.org/docs/app/building-your-application/routing/middleware).
@@ -1081,7 +1081,6 @@ import Link from "next/link";
1081
1081
 
1082
1082
  const LocaleSwitcher: FC = () => {
1083
1083
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1084
- const { setLocaleCookie } = useLocaleCookie();
1085
1084
 
1086
1085
  return (
1087
1086
  <div>
@@ -1093,7 +1092,7 @@ const LocaleSwitcher: FC = () => {
1093
1092
  hrefLang={localeItem}
1094
1093
  key={localeItem}
1095
1094
  aria-current={locale === localeItem ? "page" : undefined}
1096
- onClick={() => setLocaleCookie(localeItem)}
1095
+ onClick={() => setLocale(localeItem)}
1097
1096
  >
1098
1097
  <span>
1099
1098
  {/* Locale - misal FR */}
@@ -1131,7 +1130,6 @@ import Link from "next/link";
1131
1130
 
1132
1131
  const LocaleSwitcher = () => {
1133
1132
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1134
- const { setLocaleCookie } = useLocaleCookie();
1135
1133
 
1136
1134
  return (
1137
1135
  <div>
@@ -1143,7 +1141,7 @@ const LocaleSwitcher = () => {
1143
1141
  hrefLang={localeItem}
1144
1142
  key={localeItem}
1145
1143
  aria-current={locale === localeItem ? "page" : undefined}
1146
- onClick={() => setLocaleCookie(localeItem)}
1144
+ onClick={() => setLocale(localeItem)}
1147
1145
  >
1148
1146
  <span>
1149
1147
  {/* Locale - misal FR */}
@@ -1181,7 +1179,6 @@ const Link = require("next/link");
1181
1179
 
1182
1180
  const LocaleSwitcher = () => {
1183
1181
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1184
- const { setLocaleCookie } = useLocaleCookie();
1185
1182
 
1186
1183
  return (
1187
1184
  <select>
@@ -1191,7 +1188,7 @@ const LocaleSwitcher = () => {
1191
1188
  href={getLocalizedUrl(pathWithoutLocale, localeItem)}
1192
1189
  hrefLang={localeItem}
1193
1190
  aria-current={locale === localeItem ? "page" : undefined}
1194
- onClick={() => setLocaleCookie(localeItem)}
1191
+ onClick={() => setLocale(localeItem)}
1195
1192
  >
1196
1193
  <span>
1197
1194
  {/* Locale - misal FR */}
@@ -326,7 +326,7 @@ import {
326
326
  getLocalizedUrl,
327
327
  getPathWithoutLocale,
328
328
  } from "intlayer";
329
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
329
+ import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
330
330
  import { Link, useLocation } from "react-router";
331
331
 
332
332
  export const LocaleSwitcher: FC = () => {
@@ -344,7 +344,7 @@ export const LocaleSwitcher: FC = () => {
344
344
  <Link
345
345
  aria-current={localeItem === locale ? "page" : undefined}
346
346
  aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeItem)}`}
347
- onClick={() => setLocaleCookie(localeItem)}
347
+ onClick={() => setLocale(localeItem)}
348
348
  to={getLocalizedUrl(pathWithoutLocale, localeItem)}
349
349
  >
350
350
  <span>
@@ -413,18 +413,18 @@ export default function RootLayout() {
413
413
 
414
414
  ### Langkah 11: Tambahkan middleware (Opsional)
415
415
 
416
- Anda juga dapat menggunakan `intlayerMiddleware` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis mendeteksi locale saat ini berdasarkan URL dan mengatur cookie locale yang sesuai. Jika tidak ada locale yang ditentukan, plugin akan menentukan locale yang paling sesuai berdasarkan preferensi bahasa browser pengguna. Jika tidak ada locale yang terdeteksi, maka akan mengarahkan ulang ke locale default.
416
+ Anda juga dapat menggunakan `intlayerProxy` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis mendeteksi locale saat ini berdasarkan URL dan mengatur cookie locale yang sesuai. Jika tidak ada locale yang ditentukan, plugin akan menentukan locale yang paling sesuai berdasarkan preferensi bahasa browser pengguna. Jika tidak ada locale yang terdeteksi, maka akan mengarahkan ulang ke locale default.
417
417
 
418
- > Perlu dicatat bahwa untuk menggunakan `intlayerMiddleware` di produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
418
+ > Perlu dicatat bahwa untuk menggunakan `intlayerProxy` di produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
419
419
 
420
420
  ```typescript {3,7} fileName="vite.config.ts"
421
421
  import { defineConfig } from "vite";
422
422
  import react from "@vitejs/plugin-react-swc";
423
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
423
+ import { intlayer, intlayerProxy } from "vite-intlayer";
424
424
 
425
425
  // https://vitejs.dev/config/
426
426
  export default defineConfig({
427
- plugins: [react(), intlayer(), intlayerMiddleware()],
427
+ plugins: [react(), intlayer(), intlayerProxy()],
428
428
  });
429
429
  ```
430
430
 
@@ -242,12 +242,13 @@ type RemoveLocaleFromString<S extends string> = CollapseDoubleSlashes<
242
242
 
243
243
  export const LocalizedLink: FC<LocalizedLinkProps> = (props) => {
244
244
  const { locale } = useLocale();
245
+ const { localePrefix } = getPrefix(locale);
245
246
 
246
247
  return (
247
248
  <Link
248
249
  {...props}
249
250
  params={{
250
- locale,
251
+ locale: localePrefix,
251
252
  ...(typeof props?.params === "object" ? props?.params : {}),
252
253
  }}
253
254
  to={`/${LOCALE_ROUTE}${props.to}` as LinkComponentProps["to"]}
@@ -374,8 +375,13 @@ Buat komponen untuk memungkinkan pengguna mengganti bahasa:
374
375
  import type { FC } from "react";
375
376
 
376
377
  import { useLocation } from "@tanstack/react-router";
377
- import { getHTMLTextDir, getLocaleName, getPathWithoutLocale } from "intlayer";
378
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
378
+ import {
379
+ getHTMLTextDir,
380
+ getLocaleName,
381
+ getPathWithoutLocale,
382
+ getPrefix,
383
+ } from "intlayer";
384
+ import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
379
385
 
380
386
  import { LocalizedLink, To } from "./localized-link";
381
387
 
@@ -394,9 +400,8 @@ export const LocaleSwitcher: FC = () => {
394
400
  <LocalizedLink
395
401
  aria-current={localeEl === locale ? "page" : undefined}
396
402
  aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeEl)}`}
397
- onClick={() => setLocaleCookie(localeEl)}
398
- params={{ locale: localeEl }}
399
- to={pathWithoutLocale as To}
403
+ onClick={() => setLocaleInStorage(localeEl)}
404
+ params={{ locale: getPrefix(localeEl).localePrefix }}
400
405
  >
401
406
  <span>
402
407
  {/* Locale - misalnya FR */}
@@ -474,15 +479,15 @@ function LayoutComponent() {
474
479
 
475
480
  ### Langkah 11: Tambahkan middleware (Opsional)
476
481
 
477
- Anda juga dapat menggunakan `intlayerMiddleware` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis mendeteksi locale saat ini berdasarkan URL dan mengatur cookie locale yang sesuai. Jika tidak ada locale yang ditentukan, plugin akan menentukan locale yang paling sesuai berdasarkan preferensi bahasa browser pengguna. Jika tidak ada locale yang terdeteksi, maka akan mengarahkan ke locale default.
482
+ Anda juga dapat menggunakan `intlayerProxy` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis mendeteksi locale saat ini berdasarkan URL dan mengatur cookie locale yang sesuai. Jika tidak ada locale yang ditentukan, plugin akan menentukan locale yang paling sesuai berdasarkan preferensi bahasa browser pengguna. Jika tidak ada locale yang terdeteksi, maka akan mengarahkan ke locale default.
478
483
 
479
- > Perlu diperhatikan bahwa untuk menggunakan `intlayerMiddleware` di produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
484
+ > Perlu diperhatikan bahwa untuk menggunakan `intlayerProxy` di produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
480
485
 
481
486
  ```typescript {3,7} fileName="vite.config.ts"
482
487
  import { reactRouter } from "@react-router/dev/vite";
483
488
  import tailwindcss from "@tailwindcss/vite";
484
489
  import { defineConfig } from "vite";
485
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
490
+ import { intlayer, intlayerProxy } from "vite-intlayer";
486
491
  import tsconfigPaths from "vite-tsconfig-paths";
487
492
 
488
493
  export default defineConfig({
@@ -491,7 +496,7 @@ export default defineConfig({
491
496
  reactRouter(),
492
497
  tsconfigPaths(),
493
498
  intlayer(),
494
- intlayerMiddleware(),
499
+ intlayerProxy(),
495
500
  ],
496
501
  });
497
502
  ```
@@ -1083,40 +1083,40 @@ const App = () => (
1083
1083
  module.exports = App;
1084
1084
  ```
1085
1085
 
1086
- Secara paralel, Anda juga dapat menggunakan `intlayerMiddleware` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis 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.
1086
+ Secara paralel, Anda juga dapat menggunakan `intlayerProxy` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis 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.
1087
1087
 
1088
- > Perlu diperhatikan bahwa untuk menggunakan `intlayerMiddleware` dalam produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
1088
+ > Perlu diperhatikan bahwa untuk menggunakan `intlayerProxy` dalam produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
1089
1089
 
1090
1090
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1091
1091
  import { defineConfig } from "vite";
1092
1092
  import preact from "@preact/preset-vite";
1093
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1093
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1094
1094
 
1095
1095
  // https://vitejs.dev/config/
1096
1096
  export default defineConfig({
1097
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1097
+ plugins: [preact(), intlayer(), intlayerProxy()],
1098
1098
  });
1099
1099
  ```
1100
1100
 
1101
1101
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
1102
1102
  import { defineConfig } from "vite";
1103
1103
  import preact from "@preact/preset-vite";
1104
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1104
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1105
1105
 
1106
1106
  // https://vitejs.dev/config/
1107
1107
  export default defineConfig({
1108
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1108
+ plugins: [preact(), intlayer(), intlayerProxy()],
1109
1109
  });
1110
1110
  ```
1111
1111
 
1112
1112
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
1113
1113
  const { defineConfig } = require("vite");
1114
1114
  const preact = require("@preact/preset-vite");
1115
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
1115
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
1116
1116
 
1117
1117
  // https://vitejs.dev/config/
1118
1118
  module.exports = defineConfig({
1119
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1119
+ plugins: [preact(), intlayer(), intlayerProxy()],
1120
1120
  });
1121
1121
  ```
1122
1122
 
@@ -1137,7 +1137,7 @@ import type { FunctionalComponent } from "preact";
1137
1137
 
1138
1138
  const LocaleSwitcher: FunctionalComponent = () => {
1139
1139
  const location = useLocation();
1140
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1140
+ plugins: [preact(), intlayer(), intlayerProxy()],
1141
1141
  });
1142
1142
  ```
1143
1143
 
@@ -795,40 +795,40 @@ const App = () => (
795
795
  );
796
796
  ```
797
797
 
798
- Secara paralel, Anda juga dapat menggunakan `intlayerMiddleware` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis mendeteksi locale saat ini berdasarkan URL dan mengatur cookie locale yang sesuai. Jika tidak ada locale yang ditentukan, plugin akan menentukan locale yang paling sesuai berdasarkan preferensi bahasa browser pengguna. Jika tidak ada locale yang terdeteksi, maka akan mengarahkan ulang ke locale default.
798
+ Secara paralel, Anda juga dapat menggunakan `intlayerProxy` untuk menambahkan routing sisi server ke aplikasi Anda. Plugin ini akan secara otomatis mendeteksi locale saat ini berdasarkan URL dan mengatur cookie locale yang sesuai. Jika tidak ada locale yang ditentukan, plugin akan menentukan locale yang paling sesuai berdasarkan preferensi bahasa browser pengguna. Jika tidak ada locale yang terdeteksi, maka akan mengarahkan ulang ke locale default.
799
799
 
800
- > Perlu dicatat bahwa untuk menggunakan `intlayerMiddleware` dalam produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
800
+ > Perlu dicatat bahwa untuk menggunakan `intlayerProxy` dalam produksi, Anda perlu memindahkan paket `vite-intlayer` dari `devDependencies` ke `dependencies`.
801
801
 
802
802
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
803
803
  import { defineConfig } from "vite";
804
804
  import react from "@vitejs/plugin-react-swc";
805
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
805
+ import { intlayer, intlayerProxy } from "vite-intlayer";
806
806
 
807
807
  // https://vitejs.dev/config/
808
808
  export default defineConfig({
809
- plugins: [react(), intlayer(), intlayerMiddleware()],
809
+ plugins: [react(), intlayer(), intlayerProxy()],
810
810
  });
811
811
  ```
812
812
 
813
813
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
814
814
  import { defineConfig } from "vite";
815
815
  import react from "@vitejs/plugin-react-swc";
816
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
816
+ import { intlayer, intlayerProxy } from "vite-intlayer";
817
817
 
818
818
  // https://vitejs.dev/config/
819
819
  export default defineConfig({
820
- plugins: [react(), intlayer(), intlayerMiddleware()],
820
+ plugins: [react(), intlayer(), intlayerProxy()],
821
821
  });
822
822
  ```
823
823
 
824
824
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
825
825
  const { defineConfig } = require("vite");
826
826
  const react = require("@vitejs/plugin-react-swc");
827
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
827
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
828
828
 
829
829
  // https://vitejs.dev/config/
830
830
  module.exports = defineConfig({
831
- plugins: [react(), intlayer(), intlayerMiddleware()],
831
+ plugins: [react(), intlayer(), intlayerProxy()],
832
832
  });
833
833
  ```
834
834