@intlayer/docs 7.1.0 → 7.1.1-canary.1

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
@@ -674,46 +674,46 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue";
674
674
  </template>
675
675
  ```
676
676
 
677
- Paralelamente, você também pode usar o `intlayerMiddleware` para adicionar roteamento no lado do servidor à sua aplicação. Este plugin detectará automaticamente o idioma atual com base na URL e definirá o cookie de idioma apropriado. Se nenhum idioma for especificado, o plugin determinará o idioma mais adequado com base nas preferências de idioma do navegador do usuário. Se nenhum idioma for detectado, ele redirecionará para o idioma padrão.
677
+ Paralelamente, você também pode usar o `intlayerProxy` para adicionar roteamento no lado do servidor à sua aplicação. Este plugin detectará automaticamente o idioma atual com base na URL e definirá o cookie de idioma apropriado. Se nenhum idioma for especificado, o plugin determinará o idioma mais adequado com base nas preferências de idioma do navegador do usuário. Se nenhum idioma for detectado, ele redirecionará para o idioma padrão.
678
678
 
679
679
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
680
680
  import { defineConfig } from "vite";
681
681
  import vue from "@vitejs/plugin-vue";
682
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
682
+ import { intlayer, intlayerProxy } from "vite-intlayer";
683
683
 
684
684
  // https://vitejs.dev/config/
685
685
  export default defineConfig({
686
- plugins: [vue(), intlayer(), intlayerMiddleware()],
686
+ plugins: [vue(), intlayer(), intlayerProxy()],
687
687
  });
688
688
  ```
689
689
 
690
690
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
691
691
  import { defineConfig } from "vite";
692
692
  import vue from "@vitejs/plugin-vue";
693
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
693
+ import { intlayer, intlayerProxy } from "vite-intlayer";
694
694
 
695
695
  // https://vitejs.dev/config/
696
696
  export default defineConfig({
697
- plugins: [vue(), intlayer(), intlayerMiddleware()],
697
+ plugins: [vue(), intlayer(), intlayerProxy()],
698
698
  });
699
699
  ```
700
700
 
701
701
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
702
702
  const { defineConfig } = require("vite");
703
703
  const vue = require("@vitejs/plugin-vue");
704
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
704
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
705
705
 
706
706
  // https://vitejs.dev/config/
707
707
  module.exports = defineConfig({
708
- plugins: [vue(), intlayer(), intlayerMiddleware()],
708
+ plugins: [vue(), intlayer(), intlayerProxy()],
709
709
  });
710
710
  const { defineConfig } = require("vite");
711
711
  const vue = require("@vitejs/plugin-vue");
712
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
712
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
713
713
 
714
714
  // https://vitejs.dev/config/
715
715
  module.exports = defineConfig({
716
- plugins: [vue(), intlayer(), intlayerMiddleware()],
716
+ plugins: [vue(), intlayer(), intlayerProxy()],
717
717
  });
718
718
  ```
719
719
 
@@ -917,8 +917,8 @@ import { type FC } from "react";
917
917
  import Link from "next/link";
918
918
 
919
919
  const LocaleSwitcher: FC = () => {
920
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
921
- const { setLocaleCookie } = useLocaleCookie();
920
+ const { locale, pathWithoutLocale, availableLocales, setLocale } =
921
+ useLocale();
922
922
 
923
923
  return (
924
924
  <div>
@@ -930,7 +930,7 @@ const LocaleSwitcher: FC = () => {
930
930
  hrefLang={localeItem}
931
931
  key={localeItem}
932
932
  aria-current={locale === localeItem ? "page" : undefined}
933
- onClick={() => setLocaleCookie(localeItem)}
933
+ onClick={() => setLocale(localeItem)}
934
934
  >
935
935
  <span>
936
936
  {/* Локаль - например, FR */}
@@ -969,8 +969,8 @@ import { useLocale } from "next-intlayer";
969
969
  import Link from "next/link";
970
970
 
971
971
  const LocaleSwitcher = () => {
972
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
973
- const { setLocaleCookie } = useLocaleCookie();
972
+ const { locale, pathWithoutLocale, availableLocales, setLocale } =
973
+ useLocale();
974
974
 
975
975
  return (
976
976
  <div>
@@ -982,7 +982,7 @@ const LocaleSwitcher = () => {
982
982
  hrefLang={localeItem}
983
983
  key={localeItem}
984
984
  aria-current={locale === localeItem ? "page" : undefined}
985
- onClick={() => setLocaleCookie(localeItem)}
985
+ onClick={() => setLocale(localeItem)}
986
986
  >
987
987
  <span>
988
988
  {/* Локаль - например, FR */}
@@ -1021,8 +1021,8 @@ const { useLocale } = require("next-intlayer");
1021
1021
  const Link = require("next/link");
1022
1022
 
1023
1023
  const LocaleSwitcher = () => {
1024
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
1025
- const { setLocaleCookie } = useLocaleCookie();
1024
+ const { locale, pathWithoutLocale, availableLocales, setLocale } = useLocale();
1025
+
1026
1026
 
1027
1027
  return (
1028
1028
  <div>
@@ -1035,7 +1035,7 @@ const LocaleSwitcher = () => {
1035
1035
  key={localeItem}
1036
1036
  aria-current={locale === localeItem ? "page" : undefined}
1037
1037
  onClick={() =>
1038
- setLocaleCookie(localeItem)
1038
+ setLocaleInStorage(localeItem)
1039
1039
  }
1040
1040
  >
1041
1041
  <span>
@@ -1190,8 +1190,8 @@ import { useLocale } from "next-intlayer";
1190
1190
  import Link from "next/link";
1191
1191
 
1192
1192
  export const LocaleSwitcher: FC = () => {
1193
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
1194
- const { setLocaleCookie } = useLocaleCookie();
1193
+ const { locale, pathWithoutLocale, availableLocales, setLocale } =
1194
+ useLocale();
1195
1195
 
1196
1196
  return (
1197
1197
  <div>
@@ -1203,7 +1203,7 @@ export const LocaleSwitcher: FC = () => {
1203
1203
  hrefLang={localeItem}
1204
1204
  key={localeItem}
1205
1205
  aria-current={locale === localeItem ? "page" : undefined}
1206
- onClick={() => setLocaleCookie(localeItem)}
1206
+ onClick={() => setLocale(localeItem)}
1207
1207
  >
1208
1208
  <span>
1209
1209
  {/* Локаль - например, FR */}
@@ -1242,8 +1242,8 @@ import { useLocale } from "next-intlayer";
1242
1242
  import Link from "next/link";
1243
1243
 
1244
1244
  export const LocaleSwitcher = () => {
1245
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
1246
- const { setLocaleCookie } = useLocaleCookie();
1245
+ const { locale, pathWithoutLocale, availableLocales, setLocale } =
1246
+ useLocale();
1247
1247
 
1248
1248
  return (
1249
1249
  <div>
@@ -1255,7 +1255,7 @@ export const LocaleSwitcher = () => {
1255
1255
  hrefLang={localeItem}
1256
1256
  key={localeItem}
1257
1257
  aria-current={locale === localeItem ? "page" : undefined}
1258
- onClick={() => setLocaleCookie(localeItem)}
1258
+ onClick={() => setLocale(localeItem)}
1259
1259
  >
1260
1260
  <span>
1261
1261
  {/* Локаль - например, FR */}
@@ -1294,7 +1294,8 @@ const { useLocale } = require("next-intlayer");
1294
1294
  const Link = require("next/link");
1295
1295
 
1296
1296
  export const LocaleSwitcher = () => {
1297
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
1297
+ const { locale, pathWithoutLocale, availableLocales, setLocale } =
1298
+ useLocale();
1298
1299
 
1299
1300
  return (
1300
1301
  <div>
@@ -1306,7 +1307,7 @@ export const LocaleSwitcher = () => {
1306
1307
  hrefLang={localeItem}
1307
1308
  key={localeItem}
1308
1309
  aria-current={locale === localeItem ? "page" : undefined}
1309
- onClick={() => setLocaleCookie(localeItem)}
1310
+ onClick={() => setLocale(localeItem)}
1310
1311
  >
1311
1312
  <span>
1312
1313
  {/* Локаль - например, FR */}
@@ -151,7 +151,7 @@ export default withIntlayer(nextConfig);
151
151
  Настройте middleware для автоматического определения и обработки предпочтительной локали пользователя:
152
152
 
153
153
  ```typescript fileName="src/middleware.ts" codeFormat="typescript"
154
- export { intlayerMiddleware as middleware } from "next-intlayer/middleware";
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 { intlayerMiddleware as middleware } from "next-intlayer/middleware";
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 { intlayerMiddleware } = require("next-intlayer/middleware");
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: intlayerMiddleware, config };
179
+ module.exports = { middleware: intlayerProxy, config };
180
180
  ```
181
181
 
182
182
  > Адаптируйте параметр `matcher` так, чтобы он соответствовал маршрутам вашего приложения. Для получения дополнительной информации обратитесь к [документации Next.js по настройке matcher](https://nextjs.org/docs/app/building-your-application/routing/middleware).
@@ -1119,7 +1119,6 @@ import Link from "next/link";
1119
1119
 
1120
1120
  const LocaleSwitcher: FC = () => {
1121
1121
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1122
- const { setLocaleCookie } = useLocaleCookie();
1123
1122
 
1124
1123
  return (
1125
1124
  <div>
@@ -1131,7 +1130,7 @@ const LocaleSwitcher: FC = () => {
1131
1130
  hrefLang={localeItem}
1132
1131
  key={localeItem}
1133
1132
  aria-current={locale === localeItem ? "page" : undefined}
1134
- onClick={() => setLocaleCookie(localeItem)}
1133
+ onClick={() => setLocale(localeItem)}
1135
1134
  >
1136
1135
  <span>
1137
1136
  {/* Локаль - например, FR */}
@@ -1169,7 +1168,6 @@ import Link from "next/link";
1169
1168
 
1170
1169
  const LocaleSwitcher = () => {
1171
1170
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1172
- const { setLocaleCookie } = useLocaleCookie();
1173
1171
 
1174
1172
  return (
1175
1173
  <div>
@@ -1181,7 +1179,7 @@ const LocaleSwitcher = () => {
1181
1179
  hrefLang={localeItem}
1182
1180
  key={localeItem}
1183
1181
  aria-current={locale === localeItem ? "page" : undefined}
1184
- onClick={() => setLocaleCookie(localeItem)}
1182
+ onClick={() => setLocale(localeItem)}
1185
1183
  >
1186
1184
  <span>
1187
1185
  {/* Локаль - например, FR */}
@@ -1219,7 +1217,6 @@ const Link = require("next/link");
1219
1217
 
1220
1218
  const LocaleSwitcher = () => {
1221
1219
  const { locale, pathWithoutLocale, availableLocales } = useLocalePageRouter();
1222
- const { setLocaleCookie } = useLocaleCookie();
1223
1220
 
1224
1221
  return (
1225
1222
  <select>
@@ -1229,7 +1226,7 @@ const LocaleSwitcher = () => {
1229
1226
  href={getLocalizedUrl(pathWithoutLocale, localeItem)}
1230
1227
  hrefLang={localeItem}
1231
1228
  aria-current={locale === localeItem ? "page" : undefined}
1232
- onClick={() => setLocaleCookie(localeItem)}
1229
+ onClick={() => setLocale(localeItem)}
1233
1230
  >
1234
1231
  <span>
1235
1232
  {/* Локаль - например, FR */}
@@ -318,7 +318,7 @@ import {
318
318
  getLocalizedUrl,
319
319
  getPathWithoutLocale,
320
320
  } from "intlayer";
321
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
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={() => setLocaleCookie(localeItem)}
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
  ### Шаг 11: Добавьте middleware (необязательно)
407
407
 
408
- Вы также можете использовать `intlayerMiddleware` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующее cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
408
+ Вы также можете использовать `intlayerProxy` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующее cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
409
409
 
410
- > Обратите внимание, что для использования `intlayerMiddleware` в продакшене необходимо переместить пакет `vite-intlayer` из `devDependencies` в `dependencies`.
410
+ > Обратите внимание, что для использования `intlayerProxy` в продакшене необходимо переместить пакет `vite-intlayer` из `devDependencies` в `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, intlayerMiddleware } from "vite-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(), intlayerMiddleware()],
419
+ plugins: [react(), intlayer(), intlayerProxy()],
420
420
  });
421
421
  ```
422
422
 
@@ -231,12 +231,13 @@ type RemoveLocaleFromString<S extends string> = CollapseDoubleSlashes<
231
231
 
232
232
  export const LocalizedLink: FC<LocalizedLinkProps> = (props) => {
233
233
  const { locale } = useLocale();
234
+ const { localePrefix } = getPrefix(locale);
234
235
 
235
236
  return (
236
237
  <Link
237
238
  {...props}
238
239
  params={{
239
- locale,
240
+ locale: localePrefix,
240
241
  ...(typeof props?.params === "object" ? props?.params : {}),
241
242
  }}
242
243
  to={`/${LOCALE_ROUTE}${props.to}` as LinkComponentProps["to"]}
@@ -363,8 +364,13 @@ function RouteComponent() {
363
364
  import type { FC } from "react";
364
365
 
365
366
  import { useLocation } from "@tanstack/react-router";
366
- import { getHTMLTextDir, getLocaleName, getPathWithoutLocale } from "intlayer";
367
- import { setLocaleCookie, useIntlayer, useLocale } from "react-intlayer";
367
+ import {
368
+ getHTMLTextDir,
369
+ getLocaleName,
370
+ getPathWithoutLocale,
371
+ getPrefix,
372
+ } from "intlayer";
373
+ import { setLocaleInStorage, useIntlayer, useLocale } from "react-intlayer";
368
374
 
369
375
  import { LocalizedLink, To } from "./localized-link";
370
376
 
@@ -383,9 +389,8 @@ export const LocaleSwitcher: FC = () => {
383
389
  <LocalizedLink
384
390
  aria-current={localeEl === locale ? "page" : undefined}
385
391
  aria-label={`${localeSwitcherLabel.value} ${getLocaleName(localeEl)}`}
386
- onClick={() => setLocaleCookie(localeEl)}
387
- params={{ locale: localeEl }}
388
- to={pathWithoutLocale as To}
392
+ onClick={() => setLocaleInStorage(localeEl)}
393
+ params={{ locale: getPrefix(localeEl).localePrefix }}
389
394
  >
390
395
  <span>
391
396
  {/* Локаль - например, FR */}
@@ -463,15 +468,15 @@ function LayoutComponent() {
463
468
 
464
469
  ### Шаг 11: Добавление middleware (необязательно)
465
470
 
466
- Вы также можете использовать `intlayerMiddleware` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующий cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
471
+ Вы также можете использовать `intlayerProxy` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующий cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
467
472
 
468
- > Обратите внимание, что для использования `intlayerMiddleware` в продакшене необходимо переместить пакет `vite-intlayer` из `devDependencies` в `dependencies`.
473
+ > Обратите внимание, что для использования `intlayerProxy` в продакшене необходимо переместить пакет `vite-intlayer` из `devDependencies` в `dependencies`.
469
474
 
470
475
  ```typescript {3,7} fileName="vite.config.ts"
471
476
  import { reactRouter } from "@react-router/dev/vite";
472
477
  import tailwindcss from "@tailwindcss/vite";
473
478
  import { defineConfig } from "vite";
474
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
479
+ import { intlayer, intlayerProxy } from "vite-intlayer";
475
480
  import tsconfigPaths from "vite-tsconfig-paths";
476
481
 
477
482
  export default defineConfig({
@@ -480,7 +485,7 @@ export default defineConfig({
480
485
  reactRouter(),
481
486
  tsconfigPaths(),
482
487
  intlayer(),
483
- intlayerMiddleware(),
488
+ intlayerProxy(),
484
489
  ],
485
490
  });
486
491
  ```
@@ -1056,38 +1056,38 @@ const App = () => (
1056
1056
  module.exports = App;
1057
1057
  ```
1058
1058
 
1059
- Параллельно вы также можете использовать `intlayerMiddleware` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующее cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
1059
+ Параллельно вы также можете использовать `intlayerProxy` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующее cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
1060
1060
 
1061
1061
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1062
1062
  import { defineConfig } from "vite";
1063
1063
  import preact from "@preact/preset-vite";
1064
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1064
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1065
1065
 
1066
1066
  // https://vitejs.dev/config/
1067
1067
  export default defineConfig({
1068
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1068
+ plugins: [preact(), intlayer(), intlayerProxy()],
1069
1069
  });
1070
1070
  ```
1071
1071
 
1072
1072
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
1073
1073
  import { defineConfig } from "vite";
1074
1074
  import preact from "@preact/preset-vite";
1075
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
1075
+ import { intlayer, intlayerProxy } from "vite-intlayer";
1076
1076
 
1077
1077
  // https://vitejs.dev/config/
1078
1078
  export default defineConfig({
1079
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1079
+ plugins: [preact(), intlayer(), intlayerProxy()],
1080
1080
  });
1081
1081
  ```
1082
1082
 
1083
1083
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
1084
1084
  const { defineConfig } = require("vite");
1085
1085
  const preact = require("@preact/preset-vite");
1086
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
1086
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
1087
1087
 
1088
1088
  // https://vitejs.dev/config/
1089
1089
  module.exports = defineConfig({
1090
- plugins: [preact(), intlayer(), intlayerMiddleware()],
1090
+ plugins: [preact(), intlayer(), intlayerProxy()],
1091
1091
  });
1092
1092
  ```
1093
1093
 
@@ -1017,38 +1017,38 @@ const App = () => (
1017
1017
  );
1018
1018
  ```
1019
1019
 
1020
- Параллельно вы также можете использовать `intlayerMiddleware` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующее cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
1020
+ Параллельно вы также можете использовать `intlayerProxy` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующее cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
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
 
@@ -679,46 +679,46 @@ import LocaleSwitcher from "@components/LocaleSwitcher.vue"; // Импорт п
679
679
  </template>
680
680
  ```
681
681
 
682
- Параллельно вы также можете использовать `intlayerMiddleware` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующий cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
682
+ Параллельно вы также можете использовать `intlayerProxy` для добавления маршрутизации на стороне сервера в ваше приложение. Этот плагин автоматически определит текущую локаль на основе URL и установит соответствующий cookie с локалью. Если локаль не указана, плагин определит наиболее подходящую локаль на основе языковых предпочтений браузера пользователя. Если локаль не будет обнаружена, произойдет перенаправление на локаль по умолчанию.
683
683
 
684
684
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
685
685
  import { defineConfig } from "vite";
686
686
  import vue from "@vitejs/plugin-vue";
687
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
687
+ import { intlayer, intlayerProxy } from "vite-intlayer";
688
688
 
689
689
  // https://vitejs.dev/config/
690
690
  export default defineConfig({
691
- plugins: [vue(), intlayer(), intlayerMiddleware()],
691
+ plugins: [vue(), intlayer(), intlayerProxy()],
692
692
  });
693
693
  ```
694
694
 
695
695
  ```javascript {3,7} fileName="vite.config.mjs" codeFormat="esm"
696
696
  import { defineConfig } from "vite";
697
697
  import vue from "@vitejs/plugin-vue";
698
- import { intlayer, intlayerMiddleware } from "vite-intlayer";
698
+ import { intlayer, intlayerProxy } from "vite-intlayer";
699
699
 
700
700
  // https://vitejs.dev/config/
701
701
  export default defineConfig({
702
- plugins: [vue(), intlayer(), intlayerMiddleware()],
702
+ plugins: [vue(), intlayer(), intlayerProxy()],
703
703
  });
704
704
  ```
705
705
 
706
706
  ```javascript {3,7} fileName="vite.config.cjs" codeFormat="commonjs"
707
707
  const { defineConfig } = require("vite");
708
708
  const vue = require("@vitejs/plugin-vue");
709
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
709
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
710
710
 
711
711
  // https://vitejs.dev/config/
712
712
  module.exports = defineConfig({
713
- plugins: [vue(), intlayer(), intlayerMiddleware()],
713
+ plugins: [vue(), intlayer(), intlayerProxy()],
714
714
  });
715
715
  const { defineConfig } = require("vite");
716
716
  const vue = require("@vitejs/plugin-vue");
717
- const { intlayer, intlayerMiddleware } = require("vite-intlayer");
717
+ const { intlayer, intlayerProxy } = require("vite-intlayer");
718
718
 
719
719
  // https://vitejs.dev/config/
720
720
  module.exports = defineConfig({
721
- plugins: [vue(), intlayer(), intlayerMiddleware()],
721
+ plugins: [vue(), intlayer(), intlayerProxy()],
722
722
  });
723
723
  ```
724
724
 
@@ -275,7 +275,7 @@ Bu yaklaşım şunları yapmanıza izin verir:
275
275
 
276
276
  GitHub yıldızları, bir projenin popülaritesinin, topluluk güveninin ve uzun vadeli öneminin güçlü bir göstergesidir. Teknik kalitenin doğrudan bir ölçüsü olmasa da, kaç geliştiricinin projeyi yararlı bulduğunu, ilerlemesini takip ettiğini ve muhtemelen benimsediğini yansıtır. Bir projenin değerini tahmin etmek için yıldızlar, alternatifler arasındaki çekişmeyi karşılaştırmaya ve ekosistem büyümesine ilişkin içgörüler sağlamaya yardımcı olur.
277
277
 
278
- [![Yıldız Geçmişi Grafiği](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)
278
+ [![Yıldız Geçmişi Grafiği](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)
279
279
 
280
280
  ---
281
281
 
@@ -1151,8 +1151,8 @@ import { useLocale } from "next-intlayer";
1151
1151
  import Link from "next/link";
1152
1152
 
1153
1153
  export const LocaleSwitcher: FC = () => {
1154
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
1155
- const { setLocaleCookie } = useLocaleCookie();
1154
+ const { locale, pathWithoutLocale, availableLocales, setLocale } =
1155
+ useLocale();
1156
1156
 
1157
1157
  return (
1158
1158
  <div>
@@ -1164,7 +1164,7 @@ export const LocaleSwitcher: FC = () => {
1164
1164
  hrefLang={localeItem}
1165
1165
  key={localeItem}
1166
1166
  aria-current={locale === localeItem ? "page" : undefined}
1167
- onClick={() => setLocaleCookie(localeItem)}
1167
+ onClick={() => setLocale(localeItem)}
1168
1168
  >
1169
1169
  <span>
1170
1170
  {/* Yerel ayar - örn. FR */}
@@ -1203,8 +1203,8 @@ import { useLocale } from "next-intlayer";
1203
1203
  import Link from "next/link";
1204
1204
 
1205
1205
  export const LocaleSwitcher = () => {
1206
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
1207
- const { setLocaleCookie } = useLocaleCookie();
1206
+ const { locale, pathWithoutLocale, availableLocales, setLocale } =
1207
+ useLocale();
1208
1208
 
1209
1209
  return (
1210
1210
  <div>
@@ -1216,7 +1216,7 @@ export const LocaleSwitcher = () => {
1216
1216
  hrefLang={localeItem}
1217
1217
  key={localeItem}
1218
1218
  aria-current={locale === localeItem ? "page" : undefined}
1219
- onClick={() => setLocaleCookie(localeItem)}
1219
+ onClick={() => setLocale(localeItem)}
1220
1220
  >
1221
1221
  <span>
1222
1222
  {/* Yerel ayar - örn. FR */}
@@ -1255,7 +1255,8 @@ const { useLocale } = require("next-intlayer");
1255
1255
  const Link = require("next/link");
1256
1256
 
1257
1257
  export const LocaleSwitcher = () => {
1258
- const { locale, pathWithoutLocale, availableLocales } = useLocale();
1258
+ const { locale, pathWithoutLocale, availableLocales, setLocale } =
1259
+ useLocale();
1259
1260
 
1260
1261
  return (
1261
1262
  <div>
@@ -1267,7 +1268,7 @@ export const LocaleSwitcher = () => {
1267
1268
  hrefLang={localeItem}
1268
1269
  key={localeItem}
1269
1270
  aria-current={locale === localeItem ? "page" : undefined}
1270
- onClick={() => setLocaleCookie(localeItem)}
1271
+ onClick={() => setLocale(localeItem)}
1271
1272
  >
1272
1273
  <span>
1273
1274
  {/* Yerel ayar - örn. FR */}