@intlayer/docs 7.0.6 → 7.0.8-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 (726) hide show
  1. package/blog/ar/i18n_using_next-i18next.md +1068 -0
  2. package/blog/ar/i18n_using_next-intl.md +768 -0
  3. package/blog/ar/intlayer_with_react-intl.md +0 -4
  4. package/blog/ar/next-i18next_vs_next-intl_vs_intlayer.md +5 -4
  5. package/blog/de/i18n_using_next-i18next.md +1107 -0
  6. package/blog/de/i18n_using_next-intl.md +760 -0
  7. package/blog/de/intlayer_with_react-intl.md +0 -4
  8. package/blog/de/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  9. package/blog/en/i18n_using_next-i18next.md +1073 -0
  10. package/blog/en/i18n_using_next-intl.md +757 -0
  11. package/blog/en/intlayer_with_i18next.md +71 -8
  12. package/blog/en/intlayer_with_next-i18next.md +71 -8
  13. package/blog/en/intlayer_with_next-intl.md +71 -8
  14. package/blog/en/intlayer_with_react-i18next.md +69 -8
  15. package/blog/en/intlayer_with_react-intl.md +68 -9
  16. package/blog/en/intlayer_with_vue-i18n.md +68 -7
  17. package/blog/en/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
  18. package/blog/en/vue-i18n_vs_intlayer.md +2 -0
  19. package/blog/en-GB/i18n_using_next-i18next.md +1074 -0
  20. package/blog/en-GB/i18n_using_next-intl.md +757 -0
  21. package/blog/en-GB/intlayer_with_i18next.md +15 -6
  22. package/blog/en-GB/intlayer_with_next-i18next.md +16 -6
  23. package/blog/en-GB/intlayer_with_next-intl.md +16 -6
  24. package/blog/en-GB/intlayer_with_react-i18next.md +16 -7
  25. package/blog/en-GB/intlayer_with_react-intl.md +14 -9
  26. package/blog/en-GB/intlayer_with_vue-i18n.md +16 -7
  27. package/blog/en-GB/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  28. package/blog/en-GB/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
  29. package/blog/en-GB/vue-i18n_vs_intlayer.md +2 -0
  30. package/blog/es/i18n_using_next-i18next.md +1066 -0
  31. package/blog/es/i18n_using_next-intl.md +757 -0
  32. package/blog/es/intlayer_with_react-intl.md +0 -4
  33. package/blog/es/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  34. package/blog/fr/i18n_using_next-i18next.md +1078 -0
  35. package/blog/fr/i18n_using_next-intl.md +759 -0
  36. package/blog/fr/intlayer_with_react-intl.md +0 -4
  37. package/blog/fr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  38. package/blog/hi/i18n_using_next-i18next.md +1068 -0
  39. package/blog/hi/i18n_using_next-intl.md +758 -0
  40. package/blog/hi/intlayer_with_react-intl.md +0 -4
  41. package/blog/hi/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  42. package/blog/id/i18n_using_next-i18next.md +1078 -0
  43. package/blog/id/i18n_using_next-intl.md +757 -0
  44. package/blog/id/index.md +69 -0
  45. package/blog/id/internationalization_and_SEO.md +364 -0
  46. package/blog/id/intlayer_with_react-intl.md +0 -4
  47. package/blog/id/list_i18n_technologies/CMS/drupal.md +143 -0
  48. package/blog/id/list_i18n_technologies/CMS/wix.md +167 -0
  49. package/blog/id/list_i18n_technologies/CMS/wordpress.md +188 -0
  50. package/blog/id/list_i18n_technologies/frameworks/angular.md +125 -0
  51. package/blog/id/list_i18n_technologies/frameworks/flutter.md +150 -0
  52. package/blog/id/list_i18n_technologies/frameworks/react-native.md +217 -0
  53. package/blog/id/list_i18n_technologies/frameworks/react.md +155 -0
  54. package/blog/id/list_i18n_technologies/frameworks/svelte.md +131 -0
  55. package/blog/id/list_i18n_technologies/frameworks/vue.md +130 -0
  56. package/blog/id/next-i18next_vs_next-intl_vs_intlayer.md +1500 -0
  57. package/blog/id/nextjs-multilingual-seo-comparison.md +361 -0
  58. package/blog/id/rag_powered_documentation_assistant.md +288 -0
  59. package/blog/id/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
  60. package/blog/id/vue-i18n_vs_intlayer.md +278 -0
  61. package/blog/id/what_is_internationalization.md +166 -0
  62. package/blog/it/i18n_using_next-i18next.md +1078 -0
  63. package/blog/it/i18n_using_next-intl.md +758 -0
  64. package/blog/it/intlayer_with_react-intl.md +0 -4
  65. package/blog/it/react-i18next_vs_react-intl_vs_intlayer.md +4 -0
  66. package/blog/it/vue-i18n_vs_intlayer.md +2 -0
  67. package/blog/ja/i18n_using_next-i18next.md +1078 -0
  68. package/blog/ja/i18n_using_next-intl.md +758 -0
  69. package/blog/ja/intlayer_with_react-intl.md +0 -4
  70. package/blog/ja/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  71. package/blog/ko/i18n_using_next-i18next.md +1075 -0
  72. package/blog/ko/i18n_using_next-intl.md +759 -0
  73. package/blog/ko/intlayer_with_react-intl.md +0 -4
  74. package/blog/ko/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  75. package/blog/pl/i18n_using_next-i18next.md +1078 -0
  76. package/blog/pl/i18n_using_next-intl.md +758 -0
  77. package/blog/pl/index.md +69 -0
  78. package/blog/pl/internationalization_and_SEO.md +363 -0
  79. package/blog/pl/intlayer_with_react-intl.md +0 -4
  80. package/blog/pl/list_i18n_technologies/CMS/drupal.md +143 -0
  81. package/blog/pl/list_i18n_technologies/CMS/wix.md +167 -0
  82. package/blog/pl/list_i18n_technologies/CMS/wordpress.md +196 -0
  83. package/blog/pl/list_i18n_technologies/frameworks/angular.md +125 -0
  84. package/blog/pl/list_i18n_technologies/frameworks/flutter.md +151 -0
  85. package/blog/pl/list_i18n_technologies/frameworks/react-native.md +217 -0
  86. package/blog/pl/list_i18n_technologies/frameworks/react.md +155 -0
  87. package/blog/pl/list_i18n_technologies/frameworks/svelte.md +131 -0
  88. package/blog/pl/list_i18n_technologies/frameworks/vue.md +130 -0
  89. package/blog/pl/next-i18next_vs_next-intl_vs_intlayer.md +1501 -0
  90. package/blog/pl/nextjs-multilingual-seo-comparison.md +362 -0
  91. package/blog/pl/rag_powered_documentation_assistant.md +288 -0
  92. package/blog/pl/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
  93. package/blog/pl/vue-i18n_vs_intlayer.md +278 -0
  94. package/blog/pl/what_is_internationalization.md +167 -0
  95. package/blog/pt/i18n_using_next-i18next.md +1067 -0
  96. package/blog/pt/i18n_using_next-intl.md +760 -0
  97. package/blog/pt/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  98. package/blog/ru/i18n_using_next-i18next.md +1106 -0
  99. package/blog/ru/i18n_using_next-intl.md +759 -0
  100. package/blog/ru/intlayer_with_react-intl.md +0 -4
  101. package/blog/ru/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  102. package/blog/tr/i18n_using_next-i18next.md +1078 -0
  103. package/blog/tr/i18n_using_next-intl.md +760 -0
  104. package/blog/tr/intlayer_with_react-intl.md +0 -4
  105. package/blog/tr/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  106. package/blog/tr/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
  107. package/blog/tr/vue-i18n_vs_intlayer.md +2 -0
  108. package/blog/vi/i18n_using_next-i18next.md +1080 -0
  109. package/blog/vi/i18n_using_next-intl.md +758 -0
  110. package/blog/vi/index.md +69 -0
  111. package/blog/vi/internationalization_and_SEO.md +363 -0
  112. package/blog/vi/intlayer_with_react-intl.md +0 -4
  113. package/blog/vi/list_i18n_technologies/CMS/drupal.md +143 -0
  114. package/blog/vi/list_i18n_technologies/CMS/wix.md +167 -0
  115. package/blog/vi/list_i18n_technologies/CMS/wordpress.md +188 -0
  116. package/blog/vi/list_i18n_technologies/frameworks/angular.md +125 -0
  117. package/blog/vi/list_i18n_technologies/frameworks/flutter.md +150 -0
  118. package/blog/vi/list_i18n_technologies/frameworks/react-native.md +217 -0
  119. package/blog/vi/list_i18n_technologies/frameworks/react.md +155 -0
  120. package/blog/vi/list_i18n_technologies/frameworks/svelte.md +131 -0
  121. package/blog/vi/list_i18n_technologies/frameworks/vue.md +130 -0
  122. package/blog/vi/next-i18next_vs_next-intl_vs_intlayer.md +1520 -0
  123. package/blog/vi/nextjs-multilingual-seo-comparison.md +362 -0
  124. package/blog/vi/rag_powered_documentation_assistant.md +288 -0
  125. package/blog/vi/react-i18next_vs_react-intl_vs_intlayer.md +164 -0
  126. package/blog/vi/vue-i18n_vs_intlayer.md +278 -0
  127. package/blog/vi/what_is_internationalization.md +168 -0
  128. package/blog/zh/i18n_using_next-i18next.md +1105 -0
  129. package/blog/zh/i18n_using_next-intl.md +758 -0
  130. package/blog/zh/intlayer_with_react-intl.md +0 -4
  131. package/blog/zh/next-i18next_vs_next-intl_vs_intlayer.md +2 -0
  132. package/blog/zh/react-i18next_vs_react-intl_vs_intlayer.md +2 -0
  133. package/dist/cjs/common.cjs +0 -4
  134. package/dist/cjs/common.cjs.map +1 -1
  135. package/dist/cjs/generated/blog.entry.cjs +38 -6
  136. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  137. package/dist/cjs/generated/docs.entry.cjs +0 -6
  138. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  139. package/dist/cjs/generated/frequentQuestions.entry.cjs +0 -6
  140. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  141. package/dist/cjs/generated/legal.entry.cjs +0 -6
  142. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  143. package/dist/esm/generated/blog.entry.mjs +38 -0
  144. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  145. package/dist/types/generated/blog.entry.d.ts +2 -0
  146. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  147. package/docs/ar/component_i18n.md +1 -1
  148. package/docs/ar/configuration.md +6 -0
  149. package/docs/ar/intlayer_cli.md +8 -3
  150. package/docs/ar/intlayer_with_next-i18next.md +619 -0
  151. package/docs/ar/intlayer_with_next-intl.md +446 -0
  152. package/docs/ar/intlayer_with_nextjs_16.md +21 -0
  153. package/docs/ar/intlayer_with_tanstack.md +4 -0
  154. package/docs/ar/intlayer_with_vite+react.md +4 -0
  155. package/docs/de/component_i18n.md +1 -1
  156. package/docs/de/configuration.md +6 -0
  157. package/docs/de/intlayer_cli.md +8 -3
  158. package/docs/de/intlayer_with_next-i18next.md +627 -0
  159. package/docs/de/intlayer_with_next-intl.md +451 -0
  160. package/docs/de/intlayer_with_nextjs_16.md +21 -0
  161. package/docs/de/intlayer_with_tanstack.md +4 -0
  162. package/docs/de/intlayer_with_vite+react.md +4 -0
  163. package/docs/en/component_i18n.md +1 -1
  164. package/docs/en/intlayer_cli.md +8 -1
  165. package/docs/en/intlayer_with_astro.md +10 -2
  166. package/docs/en/intlayer_with_create_react_app.md +8 -0
  167. package/docs/en/intlayer_with_lynx+react.md +8 -0
  168. package/docs/en/intlayer_with_nestjs.md +10 -0
  169. package/docs/en/intlayer_with_nextjs_14.md +10 -2
  170. package/docs/en/intlayer_with_nextjs_15.md +21 -4
  171. package/docs/en/intlayer_with_nextjs_16.md +17 -0
  172. package/docs/en/intlayer_with_nuxt.md +8 -0
  173. package/docs/en/intlayer_with_react_native+expo.md +10 -2
  174. package/docs/en/intlayer_with_react_router_v7.md +8 -0
  175. package/docs/en/intlayer_with_tanstack.md +10 -0
  176. package/docs/en/intlayer_with_vite+preact.md +10 -2
  177. package/docs/en/intlayer_with_vite+react.md +21 -4
  178. package/docs/en/intlayer_with_vite+vue.md +10 -2
  179. package/docs/en-GB/component_i18n.md +1 -1
  180. package/docs/en-GB/configuration.md +6 -0
  181. package/docs/en-GB/intlayer_cli.md +8 -3
  182. package/docs/en-GB/intlayer_with_angular.md +4 -4
  183. package/docs/en-GB/intlayer_with_express.md +4 -4
  184. package/docs/en-GB/intlayer_with_lynx+react.md +12 -12
  185. package/{blog/en/_intlayer_with_next-i18next.md → docs/en-GB/intlayer_with_next-i18next.md} +241 -42
  186. package/{blog/en/_intlayer_with_next-intl.md → docs/en-GB/intlayer_with_next-intl.md} +144 -29
  187. package/docs/en-GB/intlayer_with_nextjs_16.md +21 -0
  188. package/docs/en-GB/intlayer_with_tanstack.md +5 -1
  189. package/docs/en-GB/intlayer_with_vite+react.md +4 -0
  190. package/docs/en-GB/packages/next-intlayer/t.md +2 -2
  191. package/docs/es/component_i18n.md +1 -1
  192. package/docs/es/configuration.md +6 -0
  193. package/docs/es/intlayer_cli.md +8 -3
  194. package/docs/es/intlayer_with_next-i18next.md +628 -0
  195. package/docs/es/intlayer_with_next-intl.md +446 -0
  196. package/docs/es/intlayer_with_nextjs_16.md +21 -0
  197. package/docs/es/intlayer_with_tanstack.md +4 -0
  198. package/docs/es/intlayer_with_vite+react.md +4 -0
  199. package/docs/fr/configuration.md +6 -0
  200. package/docs/fr/intlayer_cli.md +8 -3
  201. package/docs/fr/intlayer_with_next-i18next.md +628 -0
  202. package/docs/fr/intlayer_with_next-intl.md +446 -0
  203. package/docs/fr/intlayer_with_nextjs_16.md +23 -2
  204. package/docs/fr/intlayer_with_tanstack.md +4 -0
  205. package/docs/fr/intlayer_with_vite+react.md +4 -0
  206. package/docs/hi/component_i18n.md +1 -1
  207. package/docs/hi/configuration.md +6 -0
  208. package/docs/hi/intlayer_cli.md +8 -0
  209. package/docs/hi/intlayer_with_next-i18next.md +628 -0
  210. package/docs/hi/intlayer_with_next-intl.md +446 -0
  211. package/docs/hi/intlayer_with_nextjs_16.md +21 -0
  212. package/docs/hi/intlayer_with_tanstack.md +4 -0
  213. package/docs/hi/intlayer_with_vite+react.md +4 -0
  214. package/docs/id/CI_CD.md +198 -0
  215. package/docs/id/autoFill.md +284 -0
  216. package/docs/id/component_i18n.md +186 -0
  217. package/docs/id/configuration.md +710 -0
  218. package/docs/id/dictionary/condition.md +231 -0
  219. package/docs/id/dictionary/content_file.md +1092 -0
  220. package/docs/id/dictionary/enumeration.md +245 -0
  221. package/docs/id/dictionary/file.md +237 -0
  222. package/docs/id/dictionary/function_fetching.md +214 -0
  223. package/docs/id/dictionary/gender.md +273 -0
  224. package/docs/id/dictionary/insertion.md +192 -0
  225. package/docs/id/dictionary/markdown.md +381 -0
  226. package/docs/id/dictionary/nesting.md +273 -0
  227. package/docs/id/dictionary/translation.md +310 -0
  228. package/docs/id/formatters.md +596 -0
  229. package/docs/id/how_works_intlayer.md +256 -0
  230. package/docs/id/index.md +176 -0
  231. package/docs/id/interest_of_intlayer.md +293 -0
  232. package/docs/id/intlayer_CMS.md +549 -0
  233. package/docs/id/intlayer_cli.md +850 -0
  234. package/docs/id/intlayer_visual_editor.md +288 -0
  235. package/docs/id/intlayer_with_angular.md +694 -0
  236. package/docs/id/intlayer_with_astro.md +252 -0
  237. package/docs/id/intlayer_with_create_react_app.md +1233 -0
  238. package/docs/id/intlayer_with_express.md +411 -0
  239. package/docs/id/intlayer_with_lynx+react.md +518 -0
  240. package/docs/id/intlayer_with_nestjs.md +272 -0
  241. package/docs/id/intlayer_with_next-i18next.md +628 -0
  242. package/docs/id/intlayer_with_next-intl.md +446 -0
  243. package/docs/id/intlayer_with_nextjs_14.md +1617 -0
  244. package/docs/id/intlayer_with_nextjs_15.md +1698 -0
  245. package/docs/id/intlayer_with_nextjs_16.md +21 -0
  246. package/docs/id/intlayer_with_nextjs_page_router.md +1478 -0
  247. package/docs/id/intlayer_with_nuxt.md +808 -0
  248. package/docs/id/intlayer_with_react_native+expo.md +699 -0
  249. package/docs/id/intlayer_with_react_router_v7.md +496 -0
  250. package/docs/id/intlayer_with_tanstack.md +564 -0
  251. package/docs/id/intlayer_with_vite+preact.md +1737 -0
  252. package/docs/id/intlayer_with_vite+react.md +1413 -0
  253. package/docs/id/intlayer_with_vite+solid.md +289 -0
  254. package/docs/id/intlayer_with_vite+svelte.md +289 -0
  255. package/docs/id/intlayer_with_vite+vue.md +1088 -0
  256. package/docs/id/introduction.md +218 -0
  257. package/docs/id/locale_mapper.md +242 -0
  258. package/docs/id/mcp_server.md +211 -0
  259. package/docs/id/packages/express-intlayer/t.md +458 -0
  260. package/docs/id/packages/intlayer/getConfiguration.md +145 -0
  261. package/docs/id/packages/intlayer/getEnumeration.md +159 -0
  262. package/docs/id/packages/intlayer/getHTMLTextDir.md +122 -0
  263. package/docs/id/packages/intlayer/getLocaleLang.md +81 -0
  264. package/docs/id/packages/intlayer/getLocaleName.md +119 -0
  265. package/docs/id/packages/intlayer/getLocalizedUrl.md +309 -0
  266. package/docs/id/packages/intlayer/getMultilingualUrls.md +223 -0
  267. package/docs/id/packages/intlayer/getPathWithoutLocale.md +75 -0
  268. package/docs/id/packages/intlayer/getTranslation.md +190 -0
  269. package/docs/id/packages/intlayer/getTranslationContent.md +188 -0
  270. package/docs/id/packages/next-intlayer/t.md +352 -0
  271. package/docs/id/packages/next-intlayer/useDictionary.md +271 -0
  272. package/docs/id/packages/next-intlayer/useIntlayer.md +264 -0
  273. package/docs/id/packages/next-intlayer/useLocale.md +166 -0
  274. package/docs/id/packages/react-intlayer/t.md +303 -0
  275. package/docs/id/packages/react-intlayer/useDictionary.md +287 -0
  276. package/docs/id/packages/react-intlayer/useI18n.md +267 -0
  277. package/docs/id/packages/react-intlayer/useIntlayer.md +254 -0
  278. package/docs/id/packages/react-intlayer/useLocale.md +210 -0
  279. package/docs/id/per_locale_file.md +323 -0
  280. package/docs/id/readme.md +261 -0
  281. package/docs/id/releases/v6.md +305 -0
  282. package/docs/id/roadmap.md +362 -0
  283. package/docs/id/testing.md +202 -0
  284. package/docs/id/vs_code_extension.md +126 -0
  285. package/docs/it/component_i18n.md +1 -1
  286. package/docs/it/configuration.md +6 -0
  287. package/docs/it/intlayer_cli.md +8 -3
  288. package/docs/it/intlayer_with_next-i18next.md +628 -0
  289. package/docs/it/intlayer_with_next-intl.md +446 -0
  290. package/docs/it/intlayer_with_nextjs_16.md +21 -0
  291. package/docs/it/intlayer_with_tanstack.md +4 -0
  292. package/docs/it/intlayer_with_vite+react.md +4 -0
  293. package/docs/ja/component_i18n.md +1 -1
  294. package/docs/ja/configuration.md +6 -0
  295. package/docs/ja/intlayer_cli.md +8 -3
  296. package/docs/ja/intlayer_with_next-i18next.md +627 -0
  297. package/docs/ja/intlayer_with_next-intl.md +446 -0
  298. package/docs/ja/intlayer_with_nextjs_16.md +21 -0
  299. package/docs/ja/intlayer_with_tanstack.md +4 -0
  300. package/docs/ja/intlayer_with_vite+react.md +4 -0
  301. package/docs/ko/configuration.md +6 -0
  302. package/docs/ko/intlayer_cli.md +8 -3
  303. package/docs/ko/intlayer_with_next-i18next.md +627 -0
  304. package/docs/ko/intlayer_with_next-intl.md +446 -0
  305. package/docs/ko/intlayer_with_nextjs_16.md +21 -0
  306. package/docs/ko/intlayer_with_tanstack.md +4 -0
  307. package/docs/ko/intlayer_with_vite+react.md +4 -0
  308. package/docs/pl/CI_CD.md +198 -0
  309. package/docs/pl/autoFill.md +284 -0
  310. package/docs/pl/component_i18n.md +186 -0
  311. package/docs/pl/configuration.md +710 -0
  312. package/docs/pl/dictionary/condition.md +232 -0
  313. package/docs/pl/dictionary/content_file.md +1130 -0
  314. package/docs/pl/dictionary/enumeration.md +245 -0
  315. package/docs/pl/dictionary/file.md +234 -0
  316. package/docs/pl/dictionary/function_fetching.md +214 -0
  317. package/docs/pl/dictionary/gender.md +276 -0
  318. package/docs/pl/dictionary/insertion.md +188 -0
  319. package/docs/pl/dictionary/markdown.md +408 -0
  320. package/docs/pl/dictionary/nesting.md +273 -0
  321. package/docs/pl/dictionary/translation.md +310 -0
  322. package/docs/pl/formatters.md +596 -0
  323. package/docs/pl/how_works_intlayer.md +256 -0
  324. package/docs/pl/index.md +176 -0
  325. package/docs/pl/interest_of_intlayer.md +291 -0
  326. package/docs/pl/intlayer_CMS.md +549 -0
  327. package/docs/pl/intlayer_cli.md +857 -0
  328. package/docs/pl/intlayer_visual_editor.md +288 -0
  329. package/docs/pl/intlayer_with_angular.md +690 -0
  330. package/docs/pl/intlayer_with_astro.md +280 -0
  331. package/docs/pl/intlayer_with_create_react_app.md +1235 -0
  332. package/docs/pl/intlayer_with_express.md +411 -0
  333. package/docs/pl/intlayer_with_lynx+react.md +518 -0
  334. package/docs/pl/intlayer_with_nestjs.md +272 -0
  335. package/docs/pl/intlayer_with_next-i18next.md +628 -0
  336. package/docs/pl/intlayer_with_next-intl.md +446 -0
  337. package/docs/pl/intlayer_with_nextjs_14.md +1594 -0
  338. package/docs/pl/intlayer_with_nextjs_15.md +1701 -0
  339. package/docs/pl/intlayer_with_nextjs_16.md +21 -0
  340. package/docs/pl/intlayer_with_nextjs_page_router.md +1513 -0
  341. package/docs/pl/intlayer_with_nuxt.md +885 -0
  342. package/docs/pl/intlayer_with_react_native+expo.md +698 -0
  343. package/docs/pl/intlayer_with_react_router_v7.md +503 -0
  344. package/docs/pl/intlayer_with_tanstack.md +562 -0
  345. package/docs/pl/intlayer_with_vite+preact.md +1736 -0
  346. package/docs/pl/intlayer_with_vite+react.md +1438 -0
  347. package/docs/pl/intlayer_with_vite+solid.md +290 -0
  348. package/docs/pl/intlayer_with_vite+svelte.md +289 -0
  349. package/docs/pl/intlayer_with_vite+vue.md +1116 -0
  350. package/docs/pl/introduction.md +209 -0
  351. package/docs/pl/locale_mapper.md +242 -0
  352. package/docs/pl/mcp_server.md +211 -0
  353. package/docs/pl/packages/express-intlayer/t.md +458 -0
  354. package/docs/pl/packages/intlayer/getConfiguration.md +146 -0
  355. package/docs/pl/packages/intlayer/getEnumeration.md +160 -0
  356. package/docs/pl/packages/intlayer/getHTMLTextDir.md +121 -0
  357. package/docs/pl/packages/intlayer/getLocaleLang.md +81 -0
  358. package/docs/pl/packages/intlayer/getLocaleName.md +118 -0
  359. package/docs/pl/packages/intlayer/getLocalizedUrl.md +300 -0
  360. package/docs/pl/packages/intlayer/getMultilingualUrls.md +221 -0
  361. package/docs/pl/packages/intlayer/getPathWithoutLocale.md +75 -0
  362. package/docs/pl/packages/intlayer/getTranslation.md +190 -0
  363. package/docs/pl/packages/intlayer/getTranslationContent.md +189 -0
  364. package/docs/pl/packages/next-intlayer/t.md +353 -0
  365. package/docs/pl/packages/next-intlayer/useDictionary.md +270 -0
  366. package/docs/pl/packages/next-intlayer/useIntlayer.md +263 -0
  367. package/docs/pl/packages/next-intlayer/useLocale.md +166 -0
  368. package/docs/pl/packages/react-intlayer/t.md +303 -0
  369. package/docs/pl/packages/react-intlayer/useDictionary.md +289 -0
  370. package/docs/pl/packages/react-intlayer/useI18n.md +249 -0
  371. package/docs/pl/packages/react-intlayer/useIntlayer.md +256 -0
  372. package/docs/pl/packages/react-intlayer/useLocale.md +210 -0
  373. package/docs/pl/per_locale_file.md +321 -0
  374. package/docs/pl/readme.md +261 -0
  375. package/docs/pl/releases/v6.md +305 -0
  376. package/docs/pl/roadmap.md +362 -0
  377. package/docs/pl/testing.md +202 -0
  378. package/docs/pl/vs_code_extension.md +126 -0
  379. package/docs/pt/component_i18n.md +1 -1
  380. package/docs/pt/configuration.md +6 -0
  381. package/docs/pt/intlayer_cli.md +8 -3
  382. package/docs/pt/intlayer_with_next-i18next.md +627 -0
  383. package/docs/pt/intlayer_with_next-intl.md +446 -0
  384. package/docs/pt/intlayer_with_nextjs_16.md +21 -0
  385. package/docs/pt/intlayer_with_tanstack.md +4 -0
  386. package/docs/pt/intlayer_with_vite+react.md +4 -0
  387. package/docs/ru/component_i18n.md +1 -1
  388. package/docs/ru/configuration.md +6 -0
  389. package/docs/ru/intlayer_cli.md +301 -22
  390. package/docs/ru/intlayer_with_next-i18next.md +629 -0
  391. package/docs/ru/intlayer_with_next-intl.md +448 -0
  392. package/docs/ru/intlayer_with_nextjs_16.md +21 -0
  393. package/docs/ru/intlayer_with_tanstack.md +4 -0
  394. package/docs/ru/intlayer_with_vite+react.md +4 -0
  395. package/docs/tr/component_i18n.md +1 -1
  396. package/docs/tr/configuration.md +6 -0
  397. package/docs/tr/intlayer_cli.md +8 -0
  398. package/docs/tr/intlayer_with_next-i18next.md +627 -0
  399. package/docs/tr/intlayer_with_next-intl.md +446 -0
  400. package/docs/tr/intlayer_with_nextjs_16.md +21 -0
  401. package/docs/tr/intlayer_with_tanstack.md +4 -0
  402. package/docs/tr/intlayer_with_vite+react.md +4 -0
  403. package/docs/vi/CI_CD.md +198 -0
  404. package/docs/vi/autoFill.md +284 -0
  405. package/docs/vi/component_i18n.md +186 -0
  406. package/docs/vi/configuration.md +710 -0
  407. package/docs/vi/dictionary/condition.md +237 -0
  408. package/docs/vi/dictionary/content_file.md +1115 -0
  409. package/docs/vi/dictionary/enumeration.md +255 -0
  410. package/docs/vi/dictionary/file.md +234 -0
  411. package/docs/vi/dictionary/function_fetching.md +212 -0
  412. package/docs/vi/dictionary/gender.md +275 -0
  413. package/docs/vi/dictionary/insertion.md +191 -0
  414. package/docs/vi/dictionary/markdown.md +381 -0
  415. package/docs/vi/dictionary/nesting.md +273 -0
  416. package/docs/vi/dictionary/translation.md +309 -0
  417. package/docs/vi/formatters.md +595 -0
  418. package/docs/vi/how_works_intlayer.md +256 -0
  419. package/docs/vi/index.md +174 -0
  420. package/docs/vi/interest_of_intlayer.md +292 -0
  421. package/docs/vi/intlayer_CMS.md +549 -0
  422. package/docs/vi/intlayer_cli.md +850 -0
  423. package/docs/vi/intlayer_visual_editor.md +288 -0
  424. package/docs/vi/intlayer_with_angular.md +692 -0
  425. package/docs/vi/intlayer_with_astro.md +252 -0
  426. package/docs/vi/intlayer_with_create_react_app.md +1230 -0
  427. package/docs/vi/intlayer_with_express.md +409 -0
  428. package/docs/vi/intlayer_with_lynx+react.md +520 -0
  429. package/docs/vi/intlayer_with_nestjs.md +272 -0
  430. package/docs/vi/intlayer_with_next-i18next.md +628 -0
  431. package/docs/vi/intlayer_with_next-intl.md +446 -0
  432. package/docs/vi/intlayer_with_nextjs_14.md +1584 -0
  433. package/docs/vi/intlayer_with_nextjs_15.md +1738 -0
  434. package/docs/vi/intlayer_with_nextjs_16.md +21 -0
  435. package/docs/vi/intlayer_with_nextjs_page_router.md +1504 -0
  436. package/docs/vi/intlayer_with_nuxt.md +821 -0
  437. package/docs/vi/intlayer_with_react_native+expo.md +700 -0
  438. package/docs/vi/intlayer_with_react_router_v7.md +498 -0
  439. package/docs/vi/intlayer_with_tanstack.md +562 -0
  440. package/docs/vi/intlayer_with_vite+preact.md +1722 -0
  441. package/docs/vi/intlayer_with_vite+react.md +1407 -0
  442. package/docs/vi/intlayer_with_vite+solid.md +287 -0
  443. package/docs/vi/intlayer_with_vite+svelte.md +289 -0
  444. package/docs/vi/intlayer_with_vite+vue.md +1071 -0
  445. package/docs/vi/introduction.md +215 -0
  446. package/docs/vi/locale_mapper.md +242 -0
  447. package/docs/vi/mcp_server.md +211 -0
  448. package/docs/vi/packages/express-intlayer/t.md +457 -0
  449. package/docs/vi/packages/intlayer/getConfiguration.md +145 -0
  450. package/docs/vi/packages/intlayer/getEnumeration.md +162 -0
  451. package/docs/vi/packages/intlayer/getHTMLTextDir.md +121 -0
  452. package/docs/vi/packages/intlayer/getLocaleLang.md +81 -0
  453. package/docs/vi/packages/intlayer/getLocaleName.md +129 -0
  454. package/docs/vi/packages/intlayer/getLocalizedUrl.md +309 -0
  455. package/docs/vi/packages/intlayer/getMultilingualUrls.md +221 -0
  456. package/docs/vi/packages/intlayer/getPathWithoutLocale.md +75 -0
  457. package/docs/vi/packages/intlayer/getTranslation.md +201 -0
  458. package/docs/vi/packages/intlayer/getTranslationContent.md +188 -0
  459. package/docs/vi/packages/next-intlayer/t.md +352 -0
  460. package/docs/vi/packages/next-intlayer/useDictionary.md +273 -0
  461. package/docs/vi/packages/next-intlayer/useIntlayer.md +264 -0
  462. package/docs/vi/packages/next-intlayer/useLocale.md +166 -0
  463. package/docs/vi/packages/react-intlayer/t.md +304 -0
  464. package/docs/vi/packages/react-intlayer/useDictionary.md +288 -0
  465. package/docs/vi/packages/react-intlayer/useI18n.md +295 -0
  466. package/docs/vi/packages/react-intlayer/useIntlayer.md +256 -0
  467. package/docs/vi/packages/react-intlayer/useLocale.md +210 -0
  468. package/docs/vi/per_locale_file.md +326 -0
  469. package/docs/vi/readme.md +261 -0
  470. package/docs/vi/releases/v6.md +305 -0
  471. package/docs/vi/roadmap.md +346 -0
  472. package/docs/vi/testing.md +202 -0
  473. package/docs/vi/vs_code_extension.md +126 -0
  474. package/docs/zh/configuration.md +6 -0
  475. package/docs/zh/intlayer_cli.md +8 -3
  476. package/docs/zh/intlayer_with_next-i18next.md +628 -0
  477. package/docs/zh/intlayer_with_next-intl.md +448 -0
  478. package/docs/zh/intlayer_with_nextjs_16.md +21 -0
  479. package/docs/zh/intlayer_with_tanstack.md +4 -0
  480. package/docs/zh/intlayer_with_vite+react.md +4 -0
  481. package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -2
  482. package/frequent_questions/ar/array_as_content_declaration.md +1 -2
  483. package/frequent_questions/ar/build_dictionaries.md +1 -2
  484. package/frequent_questions/ar/build_error_CI_CD.md +1 -2
  485. package/frequent_questions/ar/bun_set_up.md +1 -2
  486. package/frequent_questions/ar/customized_locale_list.md +1 -2
  487. package/frequent_questions/ar/domain_routing.md +1 -2
  488. package/frequent_questions/ar/esbuild_error.md +1 -2
  489. package/frequent_questions/ar/get_locale_cookie.md +1 -2
  490. package/frequent_questions/ar/intlayer_command_undefined.md +1 -2
  491. package/frequent_questions/ar/locale_incorect_in_url.md +1 -2
  492. package/frequent_questions/ar/static_rendering.md +1 -3
  493. package/frequent_questions/ar/translated_path_url.md +1 -2
  494. package/frequent_questions/ar/unknown_command.md +1 -2
  495. package/frequent_questions/de/SSR_Next_no_[locale].md +1 -2
  496. package/frequent_questions/de/array_as_content_declaration.md +1 -2
  497. package/frequent_questions/de/build_dictionaries.md +1 -2
  498. package/frequent_questions/de/build_error_CI_CD.md +1 -2
  499. package/frequent_questions/de/bun_set_up.md +1 -2
  500. package/frequent_questions/de/customized_locale_list.md +1 -2
  501. package/frequent_questions/de/domain_routing.md +1 -2
  502. package/frequent_questions/de/esbuild_error.md +1 -2
  503. package/frequent_questions/de/get_locale_cookie.md +1 -2
  504. package/frequent_questions/de/intlayer_command_undefined.md +1 -2
  505. package/frequent_questions/de/locale_incorect_in_url.md +1 -2
  506. package/frequent_questions/de/static_rendering.md +1 -3
  507. package/frequent_questions/de/translated_path_url.md +1 -2
  508. package/frequent_questions/de/unknown_command.md +1 -2
  509. package/frequent_questions/en/SSR_Next_no_[locale].md +1 -2
  510. package/frequent_questions/en/array_as_content_declaration.md +1 -2
  511. package/frequent_questions/en/build_dictionaries.md +1 -2
  512. package/frequent_questions/en/build_error_CI_CD.md +1 -2
  513. package/frequent_questions/en/bun_set_up.md +1 -2
  514. package/frequent_questions/en/customized_locale_list.md +1 -2
  515. package/frequent_questions/en/domain_routing.md +1 -2
  516. package/frequent_questions/en/esbuild_error.md +1 -2
  517. package/frequent_questions/en/get_locale_cookie.md +1 -2
  518. package/frequent_questions/en/intlayer_command_undefined.md +1 -2
  519. package/frequent_questions/en/locale_incorect_in_url.md +1 -2
  520. package/frequent_questions/en/static_rendering.md +1 -3
  521. package/frequent_questions/en/translated_path_url.md +1 -2
  522. package/frequent_questions/en/unknown_command.md +1 -2
  523. package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -2
  524. package/frequent_questions/en-GB/array_as_content_declaration.md +1 -2
  525. package/frequent_questions/en-GB/build_dictionaries.md +1 -2
  526. package/frequent_questions/en-GB/build_error_CI_CD.md +1 -2
  527. package/frequent_questions/en-GB/bun_set_up.md +1 -2
  528. package/frequent_questions/en-GB/customized_locale_list.md +1 -2
  529. package/frequent_questions/en-GB/domain_routing.md +1 -2
  530. package/frequent_questions/en-GB/esbuild_error.md +1 -2
  531. package/frequent_questions/en-GB/get_locale_cookie.md +1 -2
  532. package/frequent_questions/en-GB/intlayer_command_undefined.md +1 -2
  533. package/frequent_questions/en-GB/locale_incorect_in_url.md +1 -2
  534. package/frequent_questions/en-GB/static_rendering.md +1 -3
  535. package/frequent_questions/en-GB/translated_path_url.md +1 -2
  536. package/frequent_questions/en-GB/unknown_command.md +1 -2
  537. package/frequent_questions/es/SSR_Next_no_[locale].md +1 -2
  538. package/frequent_questions/es/array_as_content_declaration.md +1 -2
  539. package/frequent_questions/es/build_dictionaries.md +1 -2
  540. package/frequent_questions/es/build_error_CI_CD.md +1 -2
  541. package/frequent_questions/es/bun_set_up.md +1 -2
  542. package/frequent_questions/es/customized_locale_list.md +1 -2
  543. package/frequent_questions/es/domain_routing.md +1 -2
  544. package/frequent_questions/es/esbuild_error.md +1 -2
  545. package/frequent_questions/es/get_locale_cookie.md +1 -2
  546. package/frequent_questions/es/intlayer_command_undefined.md +1 -2
  547. package/frequent_questions/es/locale_incorect_in_url.md +1 -2
  548. package/frequent_questions/es/static_rendering.md +1 -3
  549. package/frequent_questions/es/translated_path_url.md +1 -2
  550. package/frequent_questions/es/unknown_command.md +1 -2
  551. package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -2
  552. package/frequent_questions/fr/array_as_content_declaration.md +1 -2
  553. package/frequent_questions/fr/build_dictionaries.md +1 -2
  554. package/frequent_questions/fr/build_error_CI_CD.md +1 -2
  555. package/frequent_questions/fr/bun_set_up.md +1 -2
  556. package/frequent_questions/fr/customized_locale_list.md +1 -2
  557. package/frequent_questions/fr/domain_routing.md +1 -2
  558. package/frequent_questions/fr/esbuild_error.md +1 -2
  559. package/frequent_questions/fr/get_locale_cookie.md +1 -2
  560. package/frequent_questions/fr/intlayer_command_undefined.md +1 -2
  561. package/frequent_questions/fr/locale_incorect_in_url.md +1 -2
  562. package/frequent_questions/fr/static_rendering.md +1 -3
  563. package/frequent_questions/fr/translated_path_url.md +1 -2
  564. package/frequent_questions/fr/unknown_command.md +1 -2
  565. package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -2
  566. package/frequent_questions/hi/array_as_content_declaration.md +1 -2
  567. package/frequent_questions/hi/build_dictionaries.md +1 -2
  568. package/frequent_questions/hi/build_error_CI_CD.md +1 -2
  569. package/frequent_questions/hi/bun_set_up.md +1 -2
  570. package/frequent_questions/hi/customized_locale_list.md +1 -2
  571. package/frequent_questions/hi/domain_routing.md +1 -2
  572. package/frequent_questions/hi/esbuild_error.md +1 -2
  573. package/frequent_questions/hi/get_locale_cookie.md +1 -2
  574. package/frequent_questions/hi/intlayer_command_undefined.md +1 -2
  575. package/frequent_questions/hi/locale_incorect_in_url.md +1 -2
  576. package/frequent_questions/hi/static_rendering.md +1 -3
  577. package/frequent_questions/hi/translated_path_url.md +1 -2
  578. package/frequent_questions/hi/unknown_command.md +1 -2
  579. package/frequent_questions/id/SSR_Next_no_[locale].md +104 -0
  580. package/frequent_questions/id/array_as_content_declaration.md +71 -0
  581. package/frequent_questions/id/build_dictionaries.md +58 -0
  582. package/frequent_questions/id/build_error_CI_CD.md +74 -0
  583. package/frequent_questions/id/bun_set_up.md +53 -0
  584. package/frequent_questions/id/customized_locale_list.md +64 -0
  585. package/frequent_questions/id/domain_routing.md +113 -0
  586. package/frequent_questions/id/esbuild_error.md +29 -0
  587. package/frequent_questions/id/get_locale_cookie.md +142 -0
  588. package/frequent_questions/id/intlayer_command_undefined.md +155 -0
  589. package/frequent_questions/id/locale_incorect_in_url.md +73 -0
  590. package/frequent_questions/id/static_rendering.md +44 -0
  591. package/frequent_questions/id/translated_path_url.md +55 -0
  592. package/frequent_questions/id/unknown_command.md +97 -0
  593. package/frequent_questions/it/SSR_Next_no_[locale].md +1 -2
  594. package/frequent_questions/it/array_as_content_declaration.md +1 -2
  595. package/frequent_questions/it/build_dictionaries.md +1 -2
  596. package/frequent_questions/it/build_error_CI_CD.md +1 -2
  597. package/frequent_questions/it/bun_set_up.md +1 -2
  598. package/frequent_questions/it/customized_locale_list.md +1 -2
  599. package/frequent_questions/it/domain_routing.md +1 -2
  600. package/frequent_questions/it/esbuild_error.md +1 -2
  601. package/frequent_questions/it/get_locale_cookie.md +1 -2
  602. package/frequent_questions/it/intlayer_command_undefined.md +1 -2
  603. package/frequent_questions/it/locale_incorect_in_url.md +1 -2
  604. package/frequent_questions/it/static_rendering.md +1 -3
  605. package/frequent_questions/it/translated_path_url.md +1 -2
  606. package/frequent_questions/it/unknown_command.md +1 -2
  607. package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -2
  608. package/frequent_questions/ja/array_as_content_declaration.md +1 -2
  609. package/frequent_questions/ja/build_dictionaries.md +1 -2
  610. package/frequent_questions/ja/build_error_CI_CD.md +1 -2
  611. package/frequent_questions/ja/bun_set_up.md +1 -2
  612. package/frequent_questions/ja/customized_locale_list.md +1 -2
  613. package/frequent_questions/ja/domain_routing.md +1 -2
  614. package/frequent_questions/ja/esbuild_error.md +1 -2
  615. package/frequent_questions/ja/get_locale_cookie.md +1 -2
  616. package/frequent_questions/ja/intlayer_command_undefined.md +1 -2
  617. package/frequent_questions/ja/locale_incorect_in_url.md +1 -2
  618. package/frequent_questions/ja/static_rendering.md +1 -3
  619. package/frequent_questions/ja/translated_path_url.md +1 -2
  620. package/frequent_questions/ja/unknown_command.md +1 -2
  621. package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -2
  622. package/frequent_questions/ko/array_as_content_declaration.md +1 -2
  623. package/frequent_questions/ko/build_dictionaries.md +1 -2
  624. package/frequent_questions/ko/build_error_CI_CD.md +1 -2
  625. package/frequent_questions/ko/bun_set_up.md +1 -2
  626. package/frequent_questions/ko/customized_locale_list.md +1 -2
  627. package/frequent_questions/ko/domain_routing.md +1 -2
  628. package/frequent_questions/ko/esbuild_error.md +1 -2
  629. package/frequent_questions/ko/get_locale_cookie.md +1 -2
  630. package/frequent_questions/ko/intlayer_command_undefined.md +1 -2
  631. package/frequent_questions/ko/locale_incorect_in_url.md +1 -2
  632. package/frequent_questions/ko/static_rendering.md +1 -3
  633. package/frequent_questions/ko/translated_path_url.md +1 -2
  634. package/frequent_questions/ko/unknown_command.md +1 -2
  635. package/frequent_questions/pl/SSR_Next_no_[locale].md +104 -0
  636. package/frequent_questions/pl/array_as_content_declaration.md +71 -0
  637. package/frequent_questions/pl/build_dictionaries.md +58 -0
  638. package/frequent_questions/pl/build_error_CI_CD.md +74 -0
  639. package/frequent_questions/pl/bun_set_up.md +54 -0
  640. package/frequent_questions/pl/customized_locale_list.md +64 -0
  641. package/frequent_questions/pl/domain_routing.md +113 -0
  642. package/frequent_questions/pl/esbuild_error.md +29 -0
  643. package/frequent_questions/pl/get_locale_cookie.md +142 -0
  644. package/frequent_questions/pl/intlayer_command_undefined.md +155 -0
  645. package/frequent_questions/pl/locale_incorect_in_url.md +73 -0
  646. package/frequent_questions/pl/static_rendering.md +44 -0
  647. package/frequent_questions/pl/translated_path_url.md +55 -0
  648. package/frequent_questions/pl/unknown_command.md +97 -0
  649. package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -2
  650. package/frequent_questions/pt/array_as_content_declaration.md +1 -2
  651. package/frequent_questions/pt/build_dictionaries.md +1 -2
  652. package/frequent_questions/pt/build_error_CI_CD.md +1 -2
  653. package/frequent_questions/pt/bun_set_up.md +1 -2
  654. package/frequent_questions/pt/customized_locale_list.md +1 -2
  655. package/frequent_questions/pt/domain_routing.md +1 -2
  656. package/frequent_questions/pt/esbuild_error.md +1 -2
  657. package/frequent_questions/pt/get_locale_cookie.md +1 -2
  658. package/frequent_questions/pt/intlayer_command_undefined.md +1 -2
  659. package/frequent_questions/pt/locale_incorect_in_url.md +1 -2
  660. package/frequent_questions/pt/static_rendering.md +1 -3
  661. package/frequent_questions/pt/translated_path_url.md +1 -2
  662. package/frequent_questions/pt/unknown_command.md +1 -2
  663. package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -2
  664. package/frequent_questions/ru/array_as_content_declaration.md +1 -2
  665. package/frequent_questions/ru/build_dictionaries.md +1 -2
  666. package/frequent_questions/ru/build_error_CI_CD.md +1 -2
  667. package/frequent_questions/ru/bun_set_up.md +1 -2
  668. package/frequent_questions/ru/customized_locale_list.md +1 -2
  669. package/frequent_questions/ru/domain_routing.md +1 -2
  670. package/frequent_questions/ru/esbuild_error.md +1 -2
  671. package/frequent_questions/ru/get_locale_cookie.md +1 -2
  672. package/frequent_questions/ru/intlayer_command_undefined.md +1 -2
  673. package/frequent_questions/ru/locale_incorect_in_url.md +1 -2
  674. package/frequent_questions/ru/static_rendering.md +1 -2
  675. package/frequent_questions/ru/translated_path_url.md +1 -2
  676. package/frequent_questions/ru/unknown_command.md +1 -2
  677. package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -2
  678. package/frequent_questions/tr/array_as_content_declaration.md +1 -2
  679. package/frequent_questions/tr/build_dictionaries.md +1 -2
  680. package/frequent_questions/tr/build_error_CI_CD.md +1 -2
  681. package/frequent_questions/tr/bun_set_up.md +1 -2
  682. package/frequent_questions/tr/customized_locale_list.md +1 -2
  683. package/frequent_questions/tr/domain_routing.md +1 -2
  684. package/frequent_questions/tr/esbuild_error.md +1 -2
  685. package/frequent_questions/tr/get_locale_cookie.md +1 -2
  686. package/frequent_questions/tr/intlayer_command_undefined.md +1 -2
  687. package/frequent_questions/tr/locale_incorect_in_url.md +1 -2
  688. package/frequent_questions/tr/static_rendering.md +1 -2
  689. package/frequent_questions/tr/translated_path_url.md +1 -2
  690. package/frequent_questions/tr/unknown_command.md +1 -2
  691. package/frequent_questions/vi/SSR_Next_no_[locale].md +106 -0
  692. package/frequent_questions/vi/array_as_content_declaration.md +71 -0
  693. package/frequent_questions/vi/build_dictionaries.md +58 -0
  694. package/frequent_questions/vi/build_error_CI_CD.md +74 -0
  695. package/frequent_questions/vi/bun_set_up.md +53 -0
  696. package/frequent_questions/vi/customized_locale_list.md +64 -0
  697. package/frequent_questions/vi/domain_routing.md +113 -0
  698. package/frequent_questions/vi/esbuild_error.md +29 -0
  699. package/frequent_questions/vi/get_locale_cookie.md +142 -0
  700. package/frequent_questions/vi/intlayer_command_undefined.md +155 -0
  701. package/frequent_questions/vi/locale_incorect_in_url.md +73 -0
  702. package/frequent_questions/vi/static_rendering.md +44 -0
  703. package/frequent_questions/vi/translated_path_url.md +55 -0
  704. package/frequent_questions/vi/unknown_command.md +97 -0
  705. package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -2
  706. package/frequent_questions/zh/array_as_content_declaration.md +1 -2
  707. package/frequent_questions/zh/build_dictionaries.md +1 -2
  708. package/frequent_questions/zh/build_error_CI_CD.md +1 -2
  709. package/frequent_questions/zh/bun_set_up.md +1 -2
  710. package/frequent_questions/zh/customized_locale_list.md +1 -2
  711. package/frequent_questions/zh/domain_routing.md +1 -2
  712. package/frequent_questions/zh/esbuild_error.md +1 -2
  713. package/frequent_questions/zh/get_locale_cookie.md +1 -2
  714. package/frequent_questions/zh/intlayer_command_undefined.md +1 -2
  715. package/frequent_questions/zh/locale_incorect_in_url.md +1 -2
  716. package/frequent_questions/zh/static_rendering.md +1 -3
  717. package/frequent_questions/zh/translated_path_url.md +1 -2
  718. package/frequent_questions/zh/unknown_command.md +1 -2
  719. package/legal/id/privacy_notice.md +83 -0
  720. package/legal/id/terms_of_service.md +55 -0
  721. package/legal/pl/privacy_notice.md +83 -0
  722. package/legal/pl/terms_of_service.md +55 -0
  723. package/legal/vi/privacy_notice.md +83 -0
  724. package/legal/vi/terms_of_service.md +55 -0
  725. package/package.json +19 -18
  726. package/src/generated/blog.entry.ts +38 -0
@@ -0,0 +1,69 @@
1
+ ---
2
+ createdAt: 2024-24-12
3
+ updatedAt: 2025-06-29
4
+ title: Blog
5
+ description: Odkryj wszystkie tematy związane z Intlayer, internacjonalizacją i innymi
6
+ keywords:
7
+ - Intlayer
8
+ - Internacjonalizacja
9
+ - Blog
10
+ - Next.js
11
+ - JavaScript
12
+ - React
13
+ slugs:
14
+ - blog
15
+ - search
16
+ ---
17
+
18
+ # Wdrażanie internacjonalizacji w JavaScript: zwiększanie globalnego zasięgu i SEO
19
+
20
+ Witamy na naszym blogu poświęconym wszystkim zagadnieniom związanym z **internacjonalizacją** aplikacji JavaScript! Tutaj omawiamy najlepsze praktyki, strategie i narzędzia, które pomagają programistom rozszerzać swoje produkty cyfrowe na cały świat.
21
+
22
+ ---
23
+
24
+ ## Dlaczego internacjonalizacja (i18n) ma znaczenie
25
+
26
+ W dzisiejszym połączonym świecie użytkownicy oczekują płynnych, lokalizowanych doświadczeń. Internacjonalizacja (i18n) zapewnia, że Twoja aplikacja internetowa może dostosować się do różnych języków i niuansów kulturowych. Wprowadzając praktyki i18n od samego początku, odblokowujesz liczne korzyści, takie jak:
27
+
28
+ 1. **Lepsze doświadczenie użytkownika:** Użytkownicy czują się bardziej komfortowo, korzystając z treści w swoim ojczystym języku.
29
+ 2. **Szerszy zasięg rynkowy:** Oferowanie wielu języków pomaga dotrzeć do nowych regionów i zwiększyć bazę użytkowników.
30
+ 3. **Poprawiona dostępność:** Dobrze zorganizowana internacjonalizacja często jest zgodna ze standardami dostępności, co czyni Twoją aplikację bardziej inkluzywną.
31
+ 4. **Lepsza wydajność SEO:** Lokalizowane treści mogą zwiększyć widoczność w wynikach wyszukiwania specyficznych dla danego regionu.
32
+
33
+ ---
34
+
35
+ ## Otwarte rozwiązania do internacjonalizacji
36
+
37
+ Budowanie aplikacji z internacjonalizacją nie musi być skomplikowane. Społeczność open-source oferuje wiele potężnych, dobrze wspieranych narzędzi i bibliotek, które ułatwiają lokalizację. Popularne rozwiązania, takie jak **react-intl**, **i18next** i **FormatJS**, zapewniają elastyczne API oraz łatwą integrację z nowoczesnymi frameworkami JavaScript, takimi jak React, Vue i Angular.
38
+
39
+ ### Kluczowe korzyści rozwiązań open-source
40
+
41
+ - **Elastyczność:** Biblioteki tworzone przez społeczność rozwijają się szybko, oferując aktualizacje i nowe funkcje w miarę pojawiających się potrzeb.
42
+ - **Oszczędność kosztów:** Brak opłat licencyjnych, co ułatwia testowanie lub skalowanie aplikacji.
43
+ - **Wsparcie społeczności:** Duże społeczności często oznaczają więcej samouczków, dokumentacji i gotowych wtyczek.
44
+
45
+ ---
46
+
47
+ ## Ogłoszenia i co dalej
48
+
49
+ Z radością ogłaszamy nadchodzące samouczki, najlepsze praktyki oraz **studia przypadków** dotyczące optymalizacji Twoich aplikacji JavaScript dla globalnej publiczności. Oto mała zapowiedź:
50
+
51
+ - **Zaawansowane wskazówki dotyczące lokalizacji:** Opanowanie pluralizacji, formatowania daty/czasu oraz dynamicznej zawartości.
52
+ - **Optymalizacje wydajności:** Minimalizacja rozmiarów pakietów przy jednoczesnym wsparciu wielu lokalizacji.
53
+ - **Studia przypadków ze społeczności:** Prezentacja rzeczywistych przykładów udanych implementacji i18n.
54
+
55
+ Bądź na bieżąco z tymi aktualizacjami i nie tylko!
56
+
57
+ ---
58
+
59
+ ## Współtwórz nasz blog!
60
+
61
+ Wierzymy w dzielenie się wiedzą napędzane przez społeczność. Jeśli masz świetny pomysł na wpis na blogu związany z internacjonalizacją, **SEO** lub innym istotnym tematem, chętnie Cię usłyszymy. Możesz przesłać Pull Request, dodając swój proponowany wpis na blogu do naszego repozytorium GitHub:
62
+
63
+ [**Prześlij swój wpis tutaj**](https://github.com/aymericzip/intlayer/blob/main/docs/blog)
64
+
65
+ Twoje wkłady pomagają nam wzbogacić tę platformę i wspierać programistów na całym świecie.
66
+
67
+ ---
68
+
69
+ **Dziękujemy za lekturę i witamy w naszej społeczności i18n!** Bądź na bieżąco z kolejnymi spostrzeżeniami, wskazówkami i najlepszymi praktykami, jak osiągnąć międzynarodowy sukces swoich aplikacji JavaScript.
@@ -0,0 +1,363 @@
1
+ ---
2
+ createdAt: 2024-12-24
3
+ updatedAt: 2025-06-29
4
+ title: SEO i internacjonalizacja
5
+ description: Odkryj, jak zoptymalizować swoją wielojęzyczną stronę internetową pod kątem wyszukiwarek i poprawić SEO.
6
+ keywords:
7
+ - SEO
8
+ - Intlayer
9
+ - Internacjonalizacja
10
+ - Blog
11
+ - Next.js
12
+ - JavaScript
13
+ - React
14
+ slugs:
15
+ - blog
16
+ - SEO-and-i18n
17
+ ---
18
+
19
+ # SEO i I18n: Kompletny przewodnik po tworzeniu wielojęzycznej strony internetowej
20
+
21
+ Chcesz dotrzeć do większej liczby użytkowników na całym świecie? Uczynienie swojej strony internetowej wielojęzyczną to jeden z najlepszych sposobów na rozszerzenie odbiorców i poprawę SEO (Search Engine Optimization). W tym wpisie na blogu wyjaśnimy podstawy międzynarodowego SEO, często określanego jako **i18n** (skrót od „internationalization”), w jasny i zrozumiały sposób. Dowiesz się o kluczowych decyzjach, które musisz podjąć, jak korzystać z elementów technicznych takich jak `hreflang` oraz dlaczego narzędzia takie jak **Intlayer** mogą uprościć Twoje wielojęzyczne projekty Next.js.
22
+
23
+ ---
24
+
25
+ ## 1. Co oznacza uczynienie Twojej strony wielojęzyczną?
26
+
27
+ Strona wielojęzyczna oferuje swoje treści w więcej niż jednym języku. Na przykład możesz mieć wersję angielską (`example.com/en/`), wersję francuską (`example.com/fr/`) oraz wersję hiszpańską (`example.com/es/`). Takie podejście pozwala wyszukiwarkom wyświetlać użytkownikom odpowiednią wersję językową na podstawie ich preferencji lub lokalizacji geograficznej.
28
+
29
+ Jeśli zrobisz to poprawnie, stworzysz znacznie bardziej przyjazne doświadczenie dla użytkowników nieposługujących się językiem angielskim, co prowadzi do lepszego zaangażowania, wyższych wskaźników konwersji oraz poprawy SEO w różnych regionach.
30
+
31
+ ---
32
+
33
+ ## 2. Wybór odpowiedniej struktury URL
34
+
35
+ Jeśli zdecydujesz się na posiadanie wielu wersji językowych, będziesz potrzebować jasnego i spójnego sposobu organizacji adresów URL swojej strony. Każdy język (lub region) powinien mieć swój unikalny „adres” w internecie. Poniżej przedstawiono trzy popularne sposoby strukturyzacji stron wielojęzycznych:
36
+
37
+ 1. Domeny najwyższego poziomu z kodem kraju (ccTLD)
38
+ - Przykład: `example.fr`, `example.de`
39
+ - **Zalety:** Wysyła silny sygnał do wyszukiwarek, do którego kraju skierowane są treści (np. `.fr` = Francja).
40
+ - **Wady:** Zarządzanie wieloma domenami może być droższe i bardziej skomplikowane.
41
+
42
+ 2. **Subdomeny**
43
+ - **Przykład:** `fr.example.com`, `de.example.com`
44
+ - **Zalety:** Każdy język „mieszka” na własnej subdomenie, co ułatwia dodawanie lub usuwanie języków.
45
+ - **Wady:** Wyszukiwarki czasami traktują subdomeny jako oddzielne witryny, co może osłabić autorytet głównej domeny.
46
+
47
+ 3. **Podkatalogi (podfoldery)**
48
+ - **Przykład:** `example.com/fr/`, `example.com/de/`
49
+ - **Zalety:** Łatwe w zarządzaniu, a cały ruch kierowany jest do jednej głównej domeny.
50
+ - **Wady:** Nie daje tak silnego sygnału SEO lokalnego jak ccTLD (choć nadal jest bardzo skuteczne, jeśli jest dobrze wdrożone).
51
+
52
+ > **Wskazówka:** Jeśli masz globalną markę i chcesz uprościć sprawy, podkatalogi często sprawdzają się najlepiej. Jeśli celujesz tylko w jeden lub dwa główne kraje i chcesz naprawdę podkreślić każdy z nich, ccTLD może być lepszym rozwiązaniem.
53
+
54
+ ---
55
+
56
+ ## 3. Opanowanie targetowania językowego za pomocą Hreflang
57
+
58
+ ### 3.1. Czym jest Hreflang?
59
+
60
+ Kiedy masz identyczne lub bardzo podobne treści w wielu językach, wyszukiwarki takie jak Google mogą mieć trudności z określeniem, którą wersję wyświetlić użytkownikowi. **Hreflang** to atrybut HTML, który informuje wyszukiwarki, dla jakiego języka (i regionu) przeznaczona jest dana strona oraz jakie są alternatywne wersje językowe/regionowe.
61
+
62
+ ### 3.2. Dlaczego to jest ważne?
63
+
64
+ 1. Zapobiega problemom z **duplikacją treści** (gdy wyszukiwarki myślą, że publikujesz tę samą treść wielokrotnie).
65
+ 2. Zapewnia, że **użytkownicy francuscy zobaczą wersję francuską**, **użytkownicy hiszpańscy wersję hiszpańską** i tak dalej.
66
+ 3. Poprawia ogólne doświadczenie użytkownika, co oznacza lepsze zaangażowanie i wyższą pozycję w SEO.
67
+
68
+ ### 3.3. Jak używać Hreflang w tagu `<head>`
69
+
70
+ W swoim HTML dodasz coś takiego:
71
+
72
+ ```html
73
+ <link rel="alternate" hreflang="en" href="https://example.com/en" />
74
+ <link rel="alternate" hreflang="fr" href="https://example.com/fr" />
75
+ <link rel="alternate" hreflang="es" href="https://example.com/es" />
76
+ <link rel="alternate" hreflang="x-default" href="https://example.com/en" />
77
+ ```
78
+
79
+ - **`hreflang="en"`**: Wskazuje angielską wersję strony.
80
+ - **`hreflang="fr"`**: Wskazuje francuską wersję strony.
81
+ - **`hreflang="es"`**: Wskazuje hiszpańską wersję strony.
82
+ - **`hreflang="x-default"`**: „Język zapasowy” lub domyślny URL, gdy żadna z innych wersji językowych nie pasuje do preferencji użytkownika.
83
+
84
+ > **Szybka uwaga:** Upewnij się, że adresy URL w tych tagach prowadzą bezpośrednio do ostatecznej strony, bez **dodatkowych** przekierowań.
85
+
86
+ ---
87
+
88
+ ## 4. Tworzenie prawdziwie „lokalnych” treści (nie tylko tłumaczonych)
89
+
90
+ ### 4.1. Lokalizacja a Tłumaczenie
91
+
92
+ - **Tłumaczenie** oznacza przekształcenie tekstu z jednego języka na drugi słowo w słowo.
93
+ - **Lokalizacja** oznacza dostosowanie formatu treści, waluty, jednostek miar oraz odniesień kulturowych do lokalnej publiczności. Na przykład, jeśli kierujesz się do Francji, użyjesz `€` zamiast `---
94
+ createdAt: 2024-12-24
95
+ updatedAt: 2025-06-29
96
+ title: SEO i internacjonalizacja
97
+ description: Odkryj, jak zoptymalizować swoją wielojęzyczną stronę internetową pod kątem wyszukiwarek i poprawić SEO.
98
+ keywords:
99
+ - SEO
100
+ - Intlayer
101
+ - Internacjonalizacja
102
+ - Blog
103
+ - Next.js
104
+ - JavaScript
105
+ - React
106
+ slugs:
107
+ - blog
108
+ - SEO-and-i18n
109
+
110
+ ---
111
+
112
+ # SEO i I18n: Kompletny przewodnik po tworzeniu wielojęzycznej strony internetowej
113
+
114
+ Chcesz dotrzeć do większej liczby użytkowników na całym świecie? Uczynienie swojej strony internetowej wielojęzyczną to jeden z najlepszych sposobów na rozszerzenie odbiorców i poprawę SEO (Search Engine Optimization). W tym wpisie na blogu wyjaśnimy podstawy międzynarodowego SEO, często określanego jako **i18n** (skrót od „internationalization”), w jasny i zrozumiały sposób. Dowiesz się o kluczowych decyzjach, które musisz podjąć, jak korzystać z elementów technicznych takich jak `hreflang` oraz dlaczego narzędzia takie jak **Intlayer** mogą uprościć Twoje wielojęzyczne projekty Next.js.
115
+
116
+ ---
117
+
118
+ ## 1. Co oznacza uczynienie Twojej strony wielojęzyczną?
119
+
120
+ Strona wielojęzyczna oferuje swoje treści w więcej niż jednym języku. Na przykład możesz mieć wersję angielską (`example.com/en/`), wersję francuską (`example.com/fr/`) oraz wersję hiszpańską (`example.com/es/`). Takie podejście pozwala wyszukiwarkom wyświetlać użytkownikom odpowiednią wersję językową na podstawie ich preferencji lub lokalizacji geograficznej.
121
+
122
+ Jeśli zrobisz to poprawnie, stworzysz znacznie bardziej przyjazne doświadczenie dla użytkowników nieposługujących się językiem angielskim, co prowadzi do lepszego zaangażowania, wyższych wskaźników konwersji oraz poprawy SEO w różnych regionach.
123
+
124
+ ---
125
+
126
+ ## 2. Wybór odpowiedniej struktury URL
127
+
128
+ Jeśli zdecydujesz się na posiadanie wielu wersji językowych, będziesz potrzebować jasnego i spójnego sposobu organizacji adresów URL swojej strony. Każdy język (lub region) powinien mieć swój unikalny „adres” w internecie. Poniżej przedstawiono trzy popularne sposoby strukturyzacji stron wielojęzycznych:
129
+
130
+ 1. Domeny najwyższego poziomu z kodem kraju (ccTLD)
131
+ - Przykład: `example.fr`, `example.de`
132
+ - **Zalety:** Wysyła silny sygnał do wyszukiwarek, do którego kraju skierowane są treści (np. `.fr` = Francja).
133
+ - **Wady:** Zarządzanie wieloma domenami może być droższe i bardziej skomplikowane.
134
+
135
+ 2. **Subdomeny**
136
+ - **Przykład:** `fr.example.com`, `de.example.com`
137
+ - **Zalety:** Każdy język „mieszka” na własnej subdomenie, co ułatwia dodawanie lub usuwanie języków.
138
+ - **Wady:** Wyszukiwarki czasami traktują subdomeny jako oddzielne witryny, co może osłabić autorytet głównej domeny.
139
+
140
+ 3. **Podkatalogi (podfoldery)**
141
+ - **Przykład:** `example.com/fr/`, `example.com/de/`
142
+ - **Zalety:** Łatwe w zarządzaniu, a cały ruch kierowany jest do jednej głównej domeny.
143
+ - **Wady:** Nie daje tak silnego sygnału SEO lokalnego jak ccTLD (choć nadal jest bardzo skuteczne, jeśli jest dobrze wdrożone).
144
+
145
+ > **Wskazówka:** Jeśli masz globalną markę i chcesz uprościć sprawy, podkatalogi często sprawdzają się najlepiej. Jeśli celujesz tylko w jeden lub dwa główne kraje i chcesz naprawdę podkreślić każdy z nich, ccTLD może być lepszym rozwiązaniem.
146
+
147
+ ---
148
+
149
+ ## 3. Opanowanie targetowania językowego za pomocą Hreflang
150
+
151
+ ### 3.1. Czym jest Hreflang?
152
+
153
+ Kiedy masz identyczne lub bardzo podobne treści w wielu językach, wyszukiwarki takie jak Google mogą mieć trudności z określeniem, którą wersję wyświetlić użytkownikowi. **Hreflang** to atrybut HTML, który informuje wyszukiwarki, dla jakiego języka (i regionu) przeznaczona jest dana strona oraz jakie są alternatywne wersje językowe/regionowe.
154
+
155
+ ### 3.2. Dlaczego to jest ważne?
156
+
157
+ 1. Zapobiega problemom z **duplikacją treści** (gdy wyszukiwarki myślą, że publikujesz tę samą treść wielokrotnie).
158
+ 2. Zapewnia, że **użytkownicy francuscy zobaczą wersję francuską**, **użytkownicy hiszpańscy wersję hiszpańską** i tak dalej.
159
+ 3. Poprawia ogólne doświadczenie użytkownika, co oznacza lepsze zaangażowanie i wyższą pozycję w SEO.
160
+
161
+ ### 3.3. Jak używać Hreflang w tagu `<head>`
162
+
163
+ W swoim HTML dodasz coś takiego:
164
+
165
+ ```html
166
+ <link rel="alternate" hreflang="en" href="https://example.com/en" />
167
+ <link rel="alternate" hreflang="fr" href="https://example.com/fr" />
168
+ <link rel="alternate" hreflang="es" href="https://example.com/es" />
169
+ <link rel="alternate" hreflang="x-default" href="https://example.com/en" />
170
+ ```
171
+
172
+ - **`hreflang="en"`**: Wskazuje angielską wersję strony.
173
+ - **`hreflang="fr"`**: Wskazuje francuską wersję strony.
174
+ - **`hreflang="es"`**: Wskazuje hiszpańską wersję strony.
175
+ - **`hreflang="x-default"`**: „Język zapasowy” lub domyślny URL, gdy żadna z innych wersji językowych nie pasuje do preferencji użytkownika.
176
+
177
+ > **Szybka uwaga:** Upewnij się, że adresy URL w tych tagach prowadzą bezpośrednio do ostatecznej strony, bez **dodatkowych** przekierowań.
178
+
179
+ ---
180
+
181
+ ## 4. Tworzenie prawdziwie „lokalnych” treści (nie tylko tłumaczonych)
182
+
183
+ i możesz wspomnieć o lokalnych świętach lub szczegółach specyficznych dla regionu.
184
+
185
+ ### 4.2. Unikanie Duplikatów Treści
186
+
187
+ Nawet przy dobrych tłumaczeniach, wyszukiwarki mogą oznaczyć Twoją stronę jako duplikat, jeśli struktura jest zbyt podobna. Hreflang pomaga wyjaśnić, że te strony nie są duplikatami, lecz wariantami językowymi.
188
+
189
+ ---
190
+
191
+ ## 5. Techniczne Wymagania SEO
192
+
193
+ ### 5.1. Deklaracje Języka (`lang` i `dir`)
194
+
195
+ W tagu HTML możesz zadeklarować język w następujący sposób:
196
+
197
+ ```html
198
+ <html lang="en"></html>
199
+ ```
200
+
201
+ - **`lang="en"`** pomaga przeglądarkom i technologiom wspomagającym zrozumieć język.
202
+
203
+ Dla języków pisanych od prawej do lewej (takich jak arabski czy hebrajski), dodaj:
204
+
205
+ ```html
206
+ <html dir="rtl" lang="ar"></html>
207
+ ```
208
+
209
+ - **`dir="rtl"`** zapewnia kierunek tekstu od prawej do lewej.
210
+
211
+ ### 5.2. Tag kanoniczny
212
+
213
+ Tagi kanoniczne informują wyszukiwarki, która strona jest „oryginalną” lub podstawową wersją, jeśli masz strony niemal identyczne. Zazwyczaj dla stron wielojęzycznych stosuje się **kanoniczny link do samego siebie**.
214
+
215
+ ```html
216
+ <link rel="canonical" href="https://example.com/fr/produits" />
217
+ ```
218
+
219
+ ---
220
+
221
+ ## 6. SEO na stronie w wielu językach
222
+
223
+ ### 6.1. Tytuły i meta opisy
224
+
225
+ - **Przetłumaczone i zoptymalizowane** dla każdego języka.
226
+ - Przeprowadź **badanie słów kluczowych** dla każdego rynku, ponieważ to, czego ludzie szukają po angielsku, może różnić się od tego, czego szukają we francuskim lub hiszpańskim.
227
+
228
+ ### 6.2. Nagłówki (H1, H2, H3)
229
+
230
+ Twoje nagłówki powinny odzwierciedlać **lokalne frazy** lub **słowa kluczowe** dla każdego regionu. Nie wystarczy po prostu przepuścić oryginalnego angielskiego nagłówka przez Google Translate i uznać sprawę za załatwioną.
231
+
232
+ ### 6.3. Obrazy i multimedia
233
+
234
+ - Lokalizuj tekst alternatywny, podpisy i nazwy plików, jeśli to konieczne.
235
+ - Używaj wizualizacji, które rezonują z docelową kulturą.
236
+
237
+ ---
238
+
239
+ ## 7. Zmiana języka i doświadczenie użytkownika
240
+
241
+ ### 7.1. Automatyczne przekierowanie czy selektor języka?
242
+
243
+ - **Automatyczne przekierowanie** (na podstawie IP lub ustawień przeglądarki) może być wygodne, ale może wysłać podróżnych lub użytkowników VPN do niewłaściwej wersji.
244
+ - **Selektor języka** jest często bardziej przejrzysty, użytkownicy mogą wybrać własny język, jeśli automatycznie wykryty jest niepoprawny.
245
+
246
+ Oto uproszczony przykład Next.js + Intlayer:
247
+
248
+ ```tsx
249
+ import { useLocation, useNavigate } from "react-router-dom";
250
+ import {
251
+ Locales,
252
+ getHTMLTextDir,
253
+ getLocaleName,
254
+ getLocalizedUrl,
255
+ } from "intlayer";
256
+ import { useLocale } from "react-intlayer";
257
+ import { type FC } from "react";
258
+
259
+ const LocaleSwitcher: FC = () => {
260
+ const { pathname, search } = useLocation(); // Pobierz aktualną ścieżkę URL. Przykład: /fr/about?foo=bar
261
+ const navigate = useNavigate();
262
+
263
+ const { locale, availableLocales, setLocale } = useLocale({
264
+ onLocaleChange: (locale) => {
265
+ // Utwórz URL z zaktualizowanym locale
266
+ // Przykład: /es/about?foo=bar
267
+ const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale);
268
+
269
+ // Aktualizuj ścieżkę URL
270
+ navigate(pathWithLocale);
271
+ },
272
+ });
273
+
274
+ return (
275
+ <ol>
276
+ {availableLocales.map((localeItem) => (
277
+ <li key={localeItem}>
278
+ <a
279
+ href={getLocalizedUrl(location.pathname, localeItem)}
280
+ hrefLang={locale === localeItem ? "x-default" : localeItem}
281
+ aria-current={locale === localeItem ? "page" : undefined}
282
+ onClick={(e) => {
283
+ e.preventDefault();
284
+ setLocale(localeItem);
285
+ }}
286
+ >
287
+ <span>
288
+ {/* Locale - np. FR */}
289
+ {localeItem}
290
+ </span>
291
+ <span>
292
+ {/* Język w jego własnym lokalnym ustawieniu - np. Français */}
293
+ {getLocaleName(localeItem, locale)}
294
+ </span>
295
+ <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
296
+ {/* Język w bieżącym lokalnym ustawieniu - np. Francés przy ustawionym Locales.SPANISH */}
297
+ {getLocaleName(localeItem)}
298
+ </span>
299
+ <span dir="ltr" lang={Locales.ENGLISH}>
300
+ {/* Język po angielsku - np. French */}
301
+ {getLocaleName(localeItem, Locales.ENGLISH)}
302
+ </span>
303
+ </a>
304
+ </li>
305
+ ))}
306
+ </ol>
307
+ );
308
+ };
309
+ ```
310
+
311
+ ### 7.2. Przechowywanie preferencji
312
+
313
+ - Zapisz wybór języka użytkownika w **ciasteczku (cookie)** lub **sesji**.
314
+ - Przy następnej wizycie na stronie możesz automatycznie załadować preferowany język.
315
+
316
+ ---
317
+
318
+ ## 8. Budowanie lokalnych backlinków
319
+
320
+ **Backlinki** (linki z zewnętrznych stron do Twojej) pozostają ważnym czynnikiem SEO. Prowadząc stronę wielojęzyczną, rozważ:
321
+
322
+ - Nawiązywanie kontaktów z lokalnymi serwisami informacyjnymi, blogami lub forami. Na przykład domena `.fr` wskazująca na Twój francuski podkatalog może zwiększyć lokalne SEO dla Francji.
323
+ - Monitorowanie backlinków według języka, aby zobaczyć, które regiony wymagają większych działań PR/marketingowych.
324
+
325
+ ---
326
+
327
+ ## 9. Monitorowanie i utrzymanie strony wielojęzycznej
328
+
329
+ ### 9.1. Google Analytics i Search Console
330
+
331
+ - Segmentuj dane dla każdego katalogu językowego (`/en/`, `/fr/`, `/es/`).
332
+ - Zwracaj uwagę na **błędy indeksowania**, **sygnalizacje duplikatów treści** oraz **problemy z indeksowaniem** w podziale na języki.
333
+
334
+ ### 9.2. Regularne aktualizacje treści
335
+
336
+ - Utrzymuj tłumaczenia na bieżąco. Jeśli zmienisz opis produktu w języku angielskim, zaktualizuj go również po francusku, hiszpańsku itd.
337
+ - Przestarzałe tłumaczenia mogą wprowadzać klientów w błąd i osłabiać zaufanie użytkowników.
338
+
339
+ ---
340
+
341
+ ## 10. Typowe pułapki do unikania
342
+
343
+ 1. **Automatyczne tłumaczenia**
344
+ Tłumaczenia wykonane automatycznie bez kontroli człowieka mogą być pełne błędów.
345
+
346
+ 2. **Niepoprawne lub brakujące tagi `hreflang`**
347
+ Wyszukiwarki nie są w stanie samodzielnie określić wersji językowych, jeśli Twoje tagi są niekompletne lub zawierają błędne kody.
348
+
349
+ 3. **Zmiana języka tylko za pomocą JavaScript**
350
+ Jeśli Google nie może indeksować unikalnych URL dla każdego języka, Twoje strony mogą nie pojawiać się w odpowiednich lokalnych wynikach wyszukiwania.
351
+
352
+ 4. **Ignorowanie niuansów kulturowych**
353
+ Żart lub wyrażenie, które działa w jednym kraju, może być obraźliwe lub bezsensowne w innym.
354
+
355
+ ---
356
+
357
+ ## Podsumowanie
358
+
359
+ Uczynienie Twojej strony internetowej wielojęzyczną to coś więcej niż tylko tłumaczenie tekstu. Chodzi o efektywne strukturyzowanie URL-i, używanie tagów `hreflang`, które pomagają wyszukiwarkom serwować właściwą wersję, oraz zapewnienie doskonałego doświadczenia użytkownika, obejmującego zlokalizowane elementy wizualne, selektory języka i spójną nawigację. Stosowanie się do tych najlepszych praktyk zapewni Ci sukces na rynkach globalnych, zwiększy satysfakcję użytkowników i ostatecznie przyniesie lepsze wyniki SEO w różnych regionach.
360
+
361
+ Jeśli korzystasz z Next.js (szczególnie z App Router w Next.js 13+), narzędzie takie jak **Intlayer** może usprawnić cały ten proces. Pomaga we wszystkim, od generowania lokalizowanych map witryn, przez automatyczne zarządzanie linkami `hreflang`, wykrywanie języka i wiele więcej, dzięki czemu możesz skupić się na tworzeniu wysokiej jakości wielojęzycznych treści.
362
+
363
+ **Gotowy, aby wejść na rynek globalny?** Zacznij wdrażać te strategie SEO i i18n już teraz i obserwuj, jak nowi odwiedzający z całego świata odkrywają i angażują się w Twoją stronę!
@@ -49,10 +49,6 @@ Chociaż Intlayer zapewnia doskonałe, samodzielne rozwiązanie i18n (zobacz nas
49
49
 
50
50
  Ten przewodnik pokazuje, jak wykorzystać zaawansowany system deklaracji treści Intlayer, jednocześnie zachowując kompatybilność z react-intl.
51
51
 
52
- ## Spis treści
53
-
54
- <TOC/>
55
-
56
52
  ## Przewodnik krok po kroku: Konfiguracja Intlayer z react-intl
57
53
 
58
54
  ### Krok 1: Instalacja zależności
@@ -0,0 +1,143 @@
1
+ ---
2
+ createdAt: 2025-01-16
3
+ updatedAt: 2025-06-29
4
+ title: Najlepsze narzędzia do internacjonalizacji (i18n) dla Drupala
5
+ description: Odkryj najlepsze rozwiązania i18n dla Drupala, które pomogą sprostać wyzwaniom tłumaczeniowym, zwiększyć SEO i zapewnić płynne globalne doświadczenie w sieci.
6
+ keywords:
7
+ - Drupal
8
+ - i18n
9
+ - wielojęzyczność
10
+ - SEO
11
+ - Internacjonalizacja
12
+ - Blog
13
+ - JavaScript
14
+ slugs:
15
+ - blog
16
+ - i18n-technologies
17
+ - CMS
18
+ - drupal
19
+ ---
20
+
21
+ # Eksploracja rozwiązań i18n do tłumaczenia Twojej strony Drupal
22
+
23
+ W dzisiejszym cyfrowym świecie rozszerzenie zasięgu swojej strony internetowej, aby dotrzeć do globalnej publiczności, jest niezbędne. Dla właścicieli stron Drupal wdrożenie rozwiązań internacjonalizacyjnych (i18n) jest kluczowe do efektywnego zarządzania tłumaczeniami przy jednoczesnym zachowaniu architektury strony, wartości SEO oraz doświadczenia użytkownika. W tym artykule omawiamy różne podejścia — od wykorzystania wbudowanych w Drupal Core możliwości wielojęzycznych, po integrację modułów zewnętrznych i rozwiązań niestandardowych, które pomogą Ci zdecydować, które z nich najlepiej odpowiadają potrzebom Twojego projektu.
24
+
25
+ ---
26
+
27
+ ## Czym jest internacjonalizacja (i18n)?
28
+
29
+ Internacjonalizacja (i18n) to proces projektowania strony internetowej w taki sposób, aby mogła być łatwo dostosowana do różnych języków i kontekstów kulturowych bez konieczności przeprojektowywania jej struktury. W Drupal oznacza to budowanie fundamentu, na którym treści, takie jak strony, wpisy, menu oraz ustawienia konfiguracyjne, mogą być efektywnie tłumaczone i lokalizowane dla różnorodnej publiczności.
30
+
31
+ Dowiedz się więcej o i18n, czytając nasz obszerny przewodnik: [Czym jest internacjonalizacja (i18n)? Definicja i wyzwania](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pl/what_is_internationalization.md).
32
+
33
+ ---
34
+
35
+ ## Wyzwania związane z tłumaczeniem stron Drupal
36
+
37
+ Tłumaczenie strony Drupal wiąże się z własnym zestawem wyzwań:
38
+
39
+ - **Złożoność treści:** Strony Drupal często składają się z różnych typów treści (węzły, terminy taksonomii, bloki oraz niestandardowe encje), które wymagają spójnych procesów tłumaczeniowych.
40
+ - **Aspekty SEO:** Poprawnie wdrożone tłumaczenia zwiększają pozycję w wynikach wyszukiwania, wykorzystując lokalizowane adresy URL, tagi hreflang oraz mapy witryn specyficzne dla języka.
41
+ - **Doświadczenie użytkownika:** Zapewnienie intuicyjnych przełączników językowych oraz utrzymanie spójności designu i funkcjonalności w tłumaczeniach poprawia zaangażowanie odwiedzających.
42
+ - **Utrzymanie w czasie:** W miarę rozwoju strony, synchronizacja tłumaczeń z aktualizacjami treści może być wymagająca bez odpowiednich narzędzi i procesów.
43
+
44
+ ---
45
+
46
+ ## Wiodące rozwiązania i18n dla Drupala
47
+
48
+ Poniżej przedstawiono kilka popularnych podejść do zarządzania treściami wielojęzycznymi w Drupal:
49
+
50
+ ### 1. Moduły wielojęzyczne w rdzeniu Drupala
51
+
52
+ **Przegląd:**
53
+ Od wersji Drupal 8 wsparcie dla wielu języków jest funkcją wbudowaną, a nie dodatkiem. Włączając zestaw modułów rdzeniowych, możesz przekształcić swoją stronę Drupal w wielojęzyczną potęgę. Cztery podstawowe moduły to:
54
+
55
+ - **Moduł językowy (Language Module):** Pozwala na dodawanie i zarządzanie językami.
56
+ - **Moduł tłumaczenia treści (Content Translation Module):** Umożliwia tłumaczenie węzłów i innych typów treści.
57
+ - **Moduł tłumaczenia konfiguracji (Configuration Translation Module):** Ułatwia tłumaczenie konfiguracji witryny, takiej jak widoki i menu.
58
+ - **Moduł tłumaczenia interfejsu (Interface Translation Module):** Zapewnia tłumaczenia interfejsu Drupala oraz tekstów modułów dodatkowych.
59
+
60
+ **Kluczowe cechy:**
61
+
62
+ - **Bezproblemowa integracja:** Wbudowane bezpośrednio w rdzeń, te moduły współpracują harmonijnie z architekturą Twojej strony.
63
+ - **Szczegółowa kontrola:** Decyduj, które typy treści i elementy konfiguracji powinny być tłumaczone.
64
+ - **Przyjazne SEO:** Oferuje ścieżki specyficzne dla języka, wsparcie hreflang oraz lokalizowane mapy witryn od razu po instalacji.
65
+
66
+ **Zalety:**
67
+
68
+ - Brak dodatkowych kosztów, ponieważ te funkcje są zawarte w rdzeniu Drupala.
69
+ - Wsparcie i utrzymanie przez społeczność Drupala.
70
+ - Zapewnia jednolite podejście do zarządzania tłumaczeniami.
71
+
72
+ **Uwagi:**
73
+
74
+ - Mimo potężnych możliwości, początkowa konfiguracja może wydawać się skomplikowana ze względu na wiele modułów i ustawień.
75
+ - Zaawansowane potrzeby workflow mogą wymagać dodatkowych narzędzi.
76
+
77
+ ---
78
+
79
+ ### 2. Narzędzie do zarządzania tłumaczeniami (TMGMT)
80
+
81
+ **Przegląd:**
82
+ Dla stron wymagających usprawnionych procesów tłumaczeniowych lub integracji z profesjonalnymi usługami tłumaczeniowymi, moduł Translation Management Tool (TMGMT) jest doskonałym uzupełnieniem wielojęzycznego systemu Drupal Core.
83
+
84
+ **Kluczowe funkcje:**
85
+
86
+ - **Zarządzanie przepływem pracy:** Oferuje przyjazny interfejs do zarządzania procesami tłumaczeniowymi.
87
+ - **Integracja z usługami:** Łączy się z profesjonalnymi usługami tłumaczeniowymi w celu automatycznych lub zarządzanych tłumaczeń.
88
+ - **Współpraca:** Ułatwia koordynację między zespołami wewnętrznymi a zewnętrznymi tłumaczami.
89
+
90
+ **Zalety:**
91
+
92
+ - Idealny dla stron z częstymi lub dużymi aktualizacjami treści.
93
+ - Ulepsza domyślne doświadczenie wielojęzyczne poprzez lepszą kontrolę tłumaczeń.
94
+ - Wspiera wiele języków oraz złożone procesy tłumaczeniowe.
95
+
96
+ **Uwagi:**
97
+
98
+ - Jako moduł kontrybuowany, wymaga sprawdzenia kompatybilności z Twoją wersją Drupala.
99
+ - Zaawansowane funkcje mogą wymagać konfiguracji oraz potencjalnie dedykowanego zespołu tłumaczy.
100
+
101
+ ---
102
+
103
+ ### 3. Niestandardowe rozwiązania i18n poprzez kod
104
+
105
+ **Przegląd:**
106
+ Dla deweloperów z unikalnymi wymaganiami lub potrzebą pełnej kontroli, niestandardowe implementacje i18n mogą być najlepszą drogą. Drupal oferuje kilka API i hooków, które pozwalają dostosować strategię wielojęzyczności.
107
+
108
+ **Kluczowe techniki:**
109
+
110
+ - **Wykorzystanie API Drupala:** Korzystaj z funkcji takich jak `t()` do tłumaczenia ciągów znaków w motywach i modułach.
111
+ - **Integracja REST API:** Twórz niestandardowe endpointy do obsługi dynamicznych tłumaczeń lub integracji z zewnętrznymi usługami tłumaczeniowymi.
112
+ - **Dostosowane workflow:** Twórz rozwiązania szyte na miarę, które są zgodne z architekturą Twojej strony i specyficznymi potrzebami wielojęzycznymi.
113
+
114
+ **Zalety:**
115
+
116
+ - Pełna elastyczność w tworzeniu rozwiązania dopasowanego do Twoich dokładnych wymagań.
117
+ - Zmniejsza zależność od modułów firm trzecich, co może poprawić wydajność.
118
+ - Możliwa jest głęboka integracja z niestandardowymi funkcjami Twojej strony.
119
+
120
+ **Uwagi:**
121
+
122
+ - Wymaga solidnej wiedzy programistycznej oraz bieżącej konserwacji.
123
+ - Rozwiązania niestandardowe mogą wydłużyć czas i zwiększyć złożoność początkowej konfiguracji.
124
+ - Nie jest to idealne rozwiązanie dla projektów z ograniczonymi zasobami technicznymi lub pilnymi terminami wdrożenia.
125
+
126
+ ---
127
+
128
+ ## Wybór odpowiedniego rozwiązania i18n dla Twojej strony Drupal
129
+
130
+ Decydując się na podejście i18n dla swojej strony Drupal, rozważ następujące czynniki:
131
+
132
+ - **Budżet:** Wielojęzyczne moduły Drupal Core są dostępne bezpłatnie od wersji Drupal 8 wzwyż, podczas gdy dodatkowe moduły, takie jak TMGMT, mogą wiązać się z kosztami (za usługi tłumaczeniowe lub zaawansowane funkcje).
133
+ - **Ekspertyza techniczna:** Osoby niebędące programistami mogą docenić solidne, gotowe do użycia funkcje Drupal Core, podczas gdy programiści mogą preferować precyzję oferowaną przez rozwiązania niestandardowe.
134
+ - **Złożoność i skala strony:** Dla złożonych stron z wieloma typami treści i zaawansowanymi wymaganiami SEO idealne może być wykorzystanie modułów core Drupal wraz z TMGMT. Dla mniejszych lub prostszych stron same moduły core mogą być wystarczające.
135
+ - **Utrzymanie i przyszły rozwój:** Upewnij się, że wybrane rozwiązanie jest skalowalne i może dostosować się do przyszłych zmian w treści lub projekcie bez znacznych nakładów.
136
+
137
+ ---
138
+
139
+ ## Podsumowanie
140
+
141
+ Tłumaczenie Twojej strony Drupal to coś więcej niż tylko konwersja tekstu — to nawiązanie kontaktu z globalną publicznością, poprawa doświadczenia użytkownika oraz optymalizacja pod kątem międzynarodowej widoczności w wyszukiwarkach. Niezależnie od tego, czy wykorzystujesz rozbudowane funkcje wielojęzyczne wbudowane w Drupal Core, uzupełniasz je narzędziem Translation Management Tool, czy inwestujesz w rozwiązanie tworzone na zamówienie, kluczowe jest wybranie podejścia, które odpowiada celom i zasobom Twojego projektu.
142
+
143
+ Dokładnie oceniając swoje opcje i planując długoterminową konserwację, możesz stworzyć skalowalną, wielojęzyczną stronę Drupal, która skutecznie trafia do użytkowników na całym świecie. Powodzenia w tłumaczeniu i życzymy międzynarodowego sukcesu Twojej strony!