@intlayer/docs 7.0.7 → 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,167 @@
1
+ ---
2
+ createdAt: 2025-01-16
3
+ updatedAt: 2025-06-29
4
+ title: Najlepsze narzędzia do internacjonalizacji (i18n) dla Wix
5
+ description: Odkryj najlepsze rozwiązania i18n dla Wix, które pomogą w tłumaczeniach, zwiększą SEO i zapewnią płynne globalne doświadczenie użytkownika.
6
+ keywords:
7
+ - Wix
8
+ - i18n
9
+ - wielojęzyczność
10
+ - SEO
11
+ - Internacjonalizacja
12
+ - Blog
13
+ - JavaScript
14
+ slugs:
15
+ - blog
16
+ - i18n-technologies
17
+ - CMS
18
+ - wix
19
+ ---
20
+
21
+ # Eksploracja rozwiązań i18n do tłumaczenia Twojej strony Wix
22
+
23
+ W dzisiejszym globalnym rynku cyfrowym kluczowe jest, aby Twoja strona internetowa mówiła językiem Twojej publiczności. Dla właścicieli stron Wix, przyjęcie internacjonalizacji (i18n) otwiera drzwi do angażowania różnorodnych odwiedzających, jednocześnie chroniąc strukturę strony, siłę SEO oraz ogólne doświadczenie użytkownika. W tym artykule przyglądamy się różnym podejściom i18n — od wbudowanych narzędzi wielojęzycznych Wix, przez aplikacje firm trzecich, aż po rozwiązania kodowane na zamówienie, 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) odnosi się do procesu projektowania i przygotowywania Twojej strony internetowej tak, aby mogła łatwo obsługiwać wiele języków i kontekstów kulturowych. W Wix oznacza to skonfigurowanie elastycznej architektury strony, gdzie tekst, obrazy, menu, a nawet elementy interaktywne mogą być dostosowywane lub tłumaczone dla różnych regionów. Planowanie i18n od samego początku zapewnia, że Twoje treści mogą być efektywnie lokalizowane, czyniąc je dostępnymi i angażującymi dla globalnej publiczności.
30
+
31
+ Aby uzyskać więcej informacji na temat internacjonalizacji i jej znaczenia w projektowaniu stron internetowych, zapoznaj się z naszym podstawowym artykułem na temat [koncepcji internacjonalizacji](#).
32
+
33
+ ---
34
+
35
+ ## Wyzwania związane z tłumaczeniem stron Wix
36
+
37
+ Tłumaczenie Twojej strony Wix wiąże się z różnymi wyzwaniami:
38
+
39
+ - **Różnorodność treści:** Strony Wix często zawierają mieszankę tekstu, obrazów, filmów i elementów interaktywnych. Konsekwentne tłumaczenie każdego z tych elementów jest niezbędne.
40
+ - **Aspekty SEO:** Prawidłowo wdrożone tłumaczenia mogą poprawić Twoją pozycję w wynikach wyszukiwania na całym świecie, wykorzystując adresy URL specyficzne dla języka, meta tagi oraz inne najlepsze praktyki SEO.
41
+ - **Doświadczenie użytkownika:** Płynny przełącznik języków oraz spójnie zaprojektowane strony wielojęzyczne znacznie zwiększają zaangażowanie odwiedzających.
42
+ - **Ciągła konserwacja:** W miarę rozwoju strony, utrzymanie aktualności tłumaczeń we wszystkich językach może stać się skomplikowane.
43
+
44
+ ---
45
+
46
+ ## Wiodące rozwiązania i18n dla Wix
47
+
48
+ Poniżej przedstawiamy kilka popularnych podejść do zarządzania treściami wielojęzycznymi na Twojej stronie Wix:
49
+
50
+ ### 1. Wix Multilingual
51
+
52
+ **Przegląd:**
53
+ Wix Multilingual to natywne rozwiązanie platformy, które pozwala na bezproblemowe tworzenie wielojęzycznej strony bez opuszczania edytora Wix. To zintegrowane narzędzie zostało zaprojektowane, aby uprościć proces tłumaczenia, czyniąc go dostępnym nawet dla użytkowników nietechnicznych.
54
+
55
+ **Kluczowe funkcje:**
56
+
57
+ - **Wbudowane zarządzanie językami:** Łatwo dodawaj wiele języków i zarządzaj tłumaczeniami bezpośrednio z edytora Wix.
58
+ - **Automatyczne duplikowanie stron:** Twórz kopie istniejących stron dla każdego języka, zapewniając spójność projektu.
59
+ - **Konfigurowalny przełącznik języków:** Zapewnij odwiedzającym intuicyjne menu do wyboru preferowanego języka.
60
+ - **Przyjazne SEO:** Automatycznie dostosowuj meta tagi, adresy URL i inne elementy SEO w zależności od wybranego języka.
61
+
62
+ **Zalety:**
63
+
64
+ - W pełni zintegrowane z ekosystemem Wix.
65
+ - Przyjazne dla użytkownika i zaprojektowane dla osób niebędących programistami.
66
+ - Regularnie aktualizowane, aby wspierać nowe funkcje i możliwości Wix.
67
+
68
+ **Uwagi:**
69
+
70
+ - Najlepiej sprawdza się przy prostych potrzebach tłumaczeniowych.
71
+ - Może mieć ograniczenia w przypadku bardzo dynamicznych lub niestandardowo kodowanych elementów.
72
+ - Niektóre zaawansowane dostosowania mogą wymagać dodatkowej pracy z wykorzystaniem Wix Velo.
73
+
74
+ ---
75
+
76
+ ### 2. Aplikacje tłumaczeniowe firm trzecich: Weglot
77
+
78
+ **Przegląd:**
79
+ Weglot to popularne rozwiązanie tłumaczeniowe firm trzecich, które integruje się z Wix, oferując zarówno tłumaczenia automatyczne, jak i ręczne. Zostało zaprojektowane, aby szybko przekształcić stronę monojęzyczną w w pełni wielojęzyczne doświadczenie.
80
+
81
+ **Kluczowe funkcje:**
82
+
83
+ - **Automatyczne tłumaczenie:** Rozpocznij proces za pomocą automatycznych silników tłumaczeniowych, a następnie dostosuj tłumaczenia według potrzeb.
84
+ - **Bezproblemowa integracja:** Łatwo połącz z witryną Wix i zarządzaj tłumaczeniami za pomocą panelu Weglot.
85
+ - **Optymalizacja SEO:** Generuje adresy URL specyficzne dla języka oraz obsługuje tagi hreflang, aby utrzymać wartość SEO.
86
+ - **Przyjazny dla użytkownika:** Intuicyjny interfejs do zarządzania tłumaczeniami w całej witrynie.
87
+
88
+ **Zalety:**
89
+
90
+ - Szybkie i skuteczne, idealne do szybkiego wdrożenia.
91
+ - Obsługuje szeroki zakres języków.
92
+ - Zmniejsza nakład pracy związany z ręcznym tłumaczeniem, oferując jednocześnie możliwość wprowadzania własnych poprawek.
93
+
94
+ **Uwagi:**
95
+
96
+ - Model subskrypcyjny może być wyzwaniem dla mniejszych budżetów.
97
+ - Podobnie jak w przypadku każdego narzędzia zewnętrznego, poleganie na usłudze zewnętrznej może wiązać się z dodatkowymi kwestiami dotyczącymi utrzymania.
98
+
99
+ ---
100
+
101
+ ### 3. Ręczne tłumaczenie z duplikowaniem stron
102
+
103
+ **Przegląd:**
104
+ Dla tych, którzy wolą pełną kontrolę nad tłumaczeniami, opcją jest ręczne tworzenie duplikatów stron w różnych językach. Podejście to polega na powieleniu zawartości witryny, a następnie zastąpieniu tekstu wersjami przetłumaczonymi.
105
+
106
+ **Kluczowe cechy:**
107
+
108
+ - **Pełna kontrola:** Dostosuj każdą wersję językową do specyficznych wymagań kulturowych lub regionalnych.
109
+ - **Spójność projektu:** Użyj edytora Wix z funkcją przeciągnij i upuść, aby zachować dokładność projektu we wszystkich językach.
110
+ - **Brak zależności od narzędzi zewnętrznych:** Polegaj wyłącznie na wbudowanych funkcjach Wix bez dodatkowych wtyczek czy aplikacji.
111
+
112
+ **Zalety:**
113
+
114
+ - Pełna kontrola nad każdym przetłumaczonym elementem.
115
+ - Brak dodatkowych kosztów poza istniejącym planem Wix.
116
+ - Idealne dla stron z ograniczoną liczbą podstron lub specyficznymi wymaganiami dotyczącymi tłumaczeń.
117
+
118
+ **Uwagi:**
119
+
120
+ - Czasochłonne, zwłaszcza w miarę rozrastania się strony.
121
+ - Wymaga starannego zarządzania, aby zapewnić, że aktualizacje są powielane we wszystkich wersjach językowych.
122
+ - Nieoptymalne dla bardzo dużych lub często aktualizowanych stron internetowych.
123
+
124
+ ---
125
+
126
+ ### 4. Niestandardowe rozwiązania i18n za pomocą Wix Velo
127
+
128
+ **Przegląd:**
129
+ Wix Velo (dawniej Corvid) to potężna platforma deweloperska umożliwiająca zaawansowaną personalizację. Dla programistów z unikalnymi wymaganiami dotyczącymi tłumaczeń lub złożonymi procesami roboczymi, wykorzystanie Velo do tworzenia niestandardowych rozwiązań i18n może zapewnić niezrównaną elastyczność.
130
+
131
+ **Kluczowe techniki:**
132
+
133
+ - **Niestandardowe przepływy pracy tłumaczeń:** Twórz systemy do dynamicznego pobierania, przechowywania i wyświetlania tłumaczeń.
134
+ - **Tłumaczenia oparte na danych:** Wykorzystuj zewnętrzne API lub bazy danych do zarządzania treściami wielojęzycznymi.
135
+ - **Zaawansowana personalizacja SEO:** Dostosuj struktury URL, meta tagi i inne elementy SEO dla każdego języka.
136
+ - **Interaktywne przełączniki języków:** Projektuj niestandardowe elementy, które płynnie integrują się z funkcjonalnością Twojej strony.
137
+
138
+ **Zalety:**
139
+
140
+ - Pełna elastyczność w dostosowywaniu rozwiązań do Twoich potrzeb.
141
+ - Możliwość integracji z zewnętrznymi usługami i API.
142
+ - Obsługa złożonych, dynamicznych treści na różnych stronach lub sekcjach.
143
+
144
+ **Uwagi:**
145
+
146
+ - Wymaga solidnej wiedzy programistycznej oraz inwestycji czasu.
147
+ - Większa odpowiedzialność za utrzymanie i skalowalność w porównaniu do rozwiązań typu plug-and-play.
148
+ - Niezalecane dla użytkowników nietechnicznych, którzy szukają szybkiego wdrożenia.
149
+
150
+ ---
151
+
152
+ ## Wybór odpowiedniego rozwiązania i18n dla Twojej strony Wix
153
+
154
+ Przy wyborze podejścia do internacjonalizacji dla Twojej strony Wix, weź pod uwagę następujące czynniki:
155
+
156
+ - **Budżet:** Wix Multilingual i tłumaczenia ręczne są opłacalne, podczas gdy rozwiązania firm trzecich, takie jak Weglot, mogą wiązać się z opłatą abonamentową.
157
+ - **Ekspertyza techniczna:** Użytkownicy nietechniczni mogą preferować łatwość użycia Wix Multilingual lub Weglot, podczas gdy deweloperzy mogą docenić elastyczność oferowaną przez Wix Velo.
158
+ - **Złożoność i skala strony:** Dla stron z kilkoma podstronami lub prostą zawartością dobrze sprawdzają się metody manualne lub Wix Multilingual. Dla bardziej złożonych lub bogatych w treść witryn mogą być konieczne aplikacje firm trzecich lub rozwiązania niestandardowe.
159
+ - **Utrzymanie i aktualizacje:** Wybierz rozwiązanie, które jest zgodne z Twoją długoterminową strategią zarządzania treścią i zapewnia spójne aktualizacje we wszystkich językach.
160
+
161
+ ---
162
+
163
+ ## Podsumowanie
164
+
165
+ Tłumaczenie Twojej strony Wix to nie tylko konwersja językowa, ale tworzenie kulturowo rezonującego doświadczenia, które łączy się z globalną publicznością. Niezależnie od tego, czy wybierzesz uproszczone podejście Wix Multilingual, dynamiczne możliwości aplikacji firm trzecich, takich jak Weglot, praktyczną strategię ręczną, czy niestandardowe rozwiązanie za pomocą Wix Velo, cel pozostaje ten sam: skuteczna komunikacja ponad granicami.
166
+
167
+ Poprzez staranną ocenę swoich wymagań i zasobów, możesz ustanowić solidną wielojęzyczną obecność, która napędza międzynarodowe zaangażowanie i rozwój. Powodzenia w tłumaczeniu i życzymy światowego sukcesu Twojej stronie Wix!
@@ -0,0 +1,196 @@
1
+ ---
2
+ createdAt: 2025-01-16
3
+ updatedAt: 2025-06-29
4
+ title: Najlepsze narzędzia do internacjonalizacji (i18n) dla WordPress
5
+ description: Odkryj najlepsze rozwiązania i18n dla WordPress, które pomogą pokonać wyzwania tłumaczeniowe, zwiększyć SEO i zapewnić płynne globalne doświadczenie w sieci.
6
+ keywords:
7
+ - Wordpress
8
+ - i18n
9
+ - wielojęzyczność
10
+ - SEO
11
+ - Internacjonalizacja
12
+ - Blog
13
+ - JavaScript
14
+ slugs:
15
+ - blog
16
+ - i18n-technologies
17
+ - CMS
18
+ - wordpress
19
+ ---
20
+
21
+ # Eksploracja rozwiązań i18n do tłumaczenia Twojej strony WordPress
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 WordPress wdrożenie rozwiązań internacjonalizacyjnych (i18n) jest kluczowe do efektywnego zarządzania tłumaczeniami, przy jednoczesnym zachowaniu struktury strony, wartości SEO oraz doświadczenia użytkownika. W tym artykule przyglądamy się różnym podejściom do i18n — od solidnych wtyczek po rozwiązania kodowane na zamówienie — które pomogą Ci zdecydować, które najlepiej odpowiada potrzebom Twojego projektu.
24
+
25
+ ---
26
+
27
+ ![ilustracja i18n](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
28
+
29
+ ## Czym jest internacjonalizacja (i18n)?
30
+
31
+ Internacjonalizacja, w skrócie i18n, to proces projektowania i przygotowywania Twojej strony internetowej do obsługi wielu języków i kontekstów kulturowych. W świecie WordPress oznacza to stworzenie elastycznej podstawy, na której treści (strony, wpisy, menu, ciągi tekstowe motywu) mogą być łatwo tłumaczone i lokalizowane dla różnych odbiorców.
32
+
33
+ Dowiedz się więcej o i18n, czytając nasz artykuł: [Czym jest internacjonalizacja (i18n)? Definicja i wyzwania](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pl/what_is_internationalization.md).
34
+
35
+ ---
36
+
37
+ ## Wyzwania związane z tłumaczeniem stron WordPress
38
+
39
+ Tłumaczenie strony WordPress wiąże się z kilkoma wyzwaniami:
40
+
41
+ - **Złożoność treści:** Strony WordPress często zawierają różnorodne typy treści (strony, wpisy, niestandardowe typy wpisów oraz dynamiczne ciągi tekstowe motywu), które wymagają spójnego tłumaczenia.
42
+ - **Aspekty SEO:** Poprawnie wdrożone tłumaczenia pomagają zwiększyć pozycję w wynikach wyszukiwania poprzez wykorzystanie tagów hreflang, zlokalizowanych adresów URL oraz map witryn specyficznych dla języka.
43
+ - **Doświadczenie użytkownika:** Zapewnienie płynnego przełącznika języków oraz spójnego wyglądu we wszystkich tłumaczeniach zwiększa zaangażowanie odwiedzających.
44
+ - **Utrzymanie w czasie:** W miarę rozwoju strony, nadążanie za aktualizacjami i zarządzanie nowymi tłumaczeniami może być wymagające.
45
+
46
+ ---
47
+
48
+ ## Wiodące rozwiązania i18n dla WordPress
49
+
50
+ Poniżej przedstawiono kilka popularnych podejść do zarządzania treściami wielojęzycznymi w WordPress:
51
+
52
+ ### 1. WPML (WordPress Multilingual Plugin)
53
+
54
+ **Przegląd:**
55
+ WPML jest jednym z najpowszechniej stosowanych wtyczek WordPress do tworzenia wielojęzycznych stron internetowych. Obsługuje ponad 40 języków i pozwala na dodawanie wariantów językowych, co czyni ją potężnym narzędziem do globalnego zasięgu.
56
+
57
+ **Kluczowe funkcje:**
58
+
59
+ - **Kompleksowe zarządzanie tłumaczeniami:** Łatwe tłumaczenie stron, wpisów, niestandardowych typów, taksonomii, menu oraz ciągów tekstowych motywu.
60
+ - **Wbudowany edytor tłumaczeń:** Usprawnia przepływ pracy i integruje się z profesjonalnymi usługami tłumaczeniowymi.
61
+ - **Przyjazność dla SEO:** Zawiera wielojęzyczne mapy witryn, wsparcie dla hreflang oraz mechanizmy tłumaczenia adresów URL.
62
+
63
+ **Zalety:**
64
+
65
+ - Rozbudowany zestaw funkcji dostosowany do złożonych stron.
66
+ - Duża społeczność użytkowników i regularne aktualizacje.
67
+ - Precyzyjna kontrola nad tłumaczeniem treści i ustawieniami SEO.
68
+
69
+ **Uwagi:**
70
+
71
+ - Cena premium może stanowić barierę dla projektów o ograniczonym budżecie.
72
+ - Konfiguracja i ustawienia mogą być skomplikowane dla początkujących.
73
+
74
+ ---
75
+
76
+ ### 2. Polylang
77
+
78
+ **Przegląd:**
79
+ Polylang umożliwia tworzenie dwujęzycznych lub wielojęzycznych stron WordPress stosunkowo łatwo i bez kosztów premium związanych z niektórymi wtyczkami.
80
+
81
+ **Kluczowe funkcje:**
82
+
83
+ - **Nieograniczona liczba języków:** Dodaj tyle języków, ile potrzebujesz.
84
+ - **Przyjazny interfejs:** Prosty przełącznik języków i intuicyjne zarządzanie tłumaczeniami.
85
+ - **Integracja z Lingotek:** Opcjonalna integracja wspiera profesjonalne zarządzanie tłumaczeniami.
86
+
87
+ **Zalety:**
88
+
89
+ - Oferuje solidną darmową wersję z opcjonalnymi dodatkami premium.
90
+ - Prosta konfiguracja odpowiednia dla użytkowników nietechnicznych.
91
+ - Dobrze współpracuje z większością motywów i wtyczek.
92
+
93
+ **Uwagi:**
94
+
95
+ - Zaawansowane funkcje wymagają wersji premium.
96
+ - Sporadyczne problemy z kompatybilnością z mniej popularnymi motywami lub wtyczkami.
97
+
98
+ ---
99
+
100
+ ### 3. TranslatePress
101
+
102
+ **Przegląd:**
103
+ TranslatePress oferuje unikalne podejście, pozwalając na tłumaczenie strony bezpośrednio z front-endu za pomocą edytora wizualnego na żywo. Takie rozwiązanie zapewnia, że tłumaczenia są wykonywane w rzeczywistym kontekście układu Twojej strony.
104
+
105
+ **Kluczowe funkcje:**
106
+
107
+ - **Wizualny interfejs tłumaczeń:** Edytuj tłumaczenia podczas przeglądania strony na żywo.
108
+ - **Opcje automatyczne i ręczne:** Korzystaj z usług takich jak Google Translate lub DeepL do automatycznego tłumaczenia, a następnie dopracuj je ręcznie.
109
+ - **Optymalizacja SEO:** Obsługuje tłumaczenie slugów URL oraz poprawną implementację tagów hreflang.
110
+
111
+ **Zalety:**
112
+
113
+ - Upraszcza proces tłumaczenia dla początkujących.
114
+ - Wizualny kontekst w czasie rzeczywistym zapewnia spójność projektu.
115
+ - Elastyczny i prosty w obsłudze, z naciskiem na łatwość użytkowania.
116
+
117
+ **Uwagi:**
118
+
119
+ - Może brakować niektórych zaawansowanych funkcji dla bardzo złożonych lub dużych stron.
120
+ - Funkcje premium dostępne są w wersji płatnej.
121
+
122
+ ---
123
+
124
+ ### 4. qTranslate-X / qTranslate-XT
125
+
126
+ **Przegląd:**
127
+ qTranslate-X jest dobrze znaną nazwą w społeczności wielojęzycznego WordPressa od lat. Chociaż oryginalna wtyczka nie jest już utrzymywana, forki takie jak qTranslate-XT nadal oferują podobną funkcjonalność.
128
+
129
+ **Kluczowe funkcje:**
130
+
131
+ - **Szybkie przełączanie języków:** Łatwe przełączanie między językami za pomocą uproszczonego interfejsu.
132
+ - **Edycja tłumaczeń na stronie:** Tłumaczenie treści bezpośrednio w ekranie edycji.
133
+ - **Lekka Solucja:** Minimalistyczny design bez zbędnych dodatków, idealny dla małych projektów.
134
+
135
+ **Zalety:**
136
+
137
+ - Darmowy i efektywny dla prostych potrzeb tłumaczeniowych.
138
+ - Prosty i dostępny bez stromego progu nauki.
139
+ - Dobry wybór dla stron, które nie wymagają rozbudowanego zarządzania tłumaczeniami.
140
+
141
+ **Uwagi:**
142
+
143
+ - Brak szerokiego wsparcia i regularnych aktualizacji, jakie oferują rozwiązania premium.
144
+ - Może nie spełniać wymagań bardziej zaawansowanych procesów tłumaczeniowych potrzebnych na większych stronach.
145
+
146
+ ---
147
+
148
+ ### 5. Niestandardowe rozwiązania i18n poprzez kod
149
+
150
+ **Przegląd:**
151
+ Dla deweloperów, którzy preferują pełną kontrolę lub mają unikalne wymagania, niestandardowa implementacja i18n za pomocą kodu może być doskonałym rozwiązaniem.
152
+
153
+ **Kluczowe techniki:**
154
+
155
+ - **Wykorzystanie funkcji WordPress:** Implementuj funkcje takie jak `__()`, `_e()` oraz `gettext` do tłumaczenia ciągów tekstowych w motywach i wtyczkach.
156
+ - **Integracja z REST API:** Zarządzaj tłumaczeniami za pomocą niestandardowych endpointów, oferując dopasowane rozwiązanie dla dynamicznych treści.
157
+ - **Niestandardowe workflow:** Zbuduj system, który płynnie integruje się ze specyficznym designem i potrzebami zarządzania treścią Twojej strony.
158
+
159
+ **Zalety:**
160
+
161
+ - Pełna elastyczność, aby sprostać unikalnym wymaganiom projektu.
162
+ - Uniknięcie zależności od wtyczek firm trzecich, co może poprawić wydajność.
163
+ - Potencjał głębokiej integracji dla ściśle powiązanych systemów.
164
+
165
+ **Uwagi:**
166
+
167
+ - Wymaga znacznej wiedzy programistycznej i czasu.
168
+ - Bieżąca konserwacja i skalowalność mogą być bardziej wymagające w porównaniu do rozwiązań opartych na wtyczkach.
169
+ - Nieodpowiednie dla użytkowników nietechnicznych lub scenariuszy szybkiego wdrożenia.
170
+
171
+ ---
172
+
173
+ ## Wybór odpowiedniego rozwiązania i18n dla Twojej strony WordPress
174
+
175
+ Przy wyborze podejścia i18n warto rozważyć następujące kwestie:
176
+
177
+ - **Budżet:** Darmowe wtyczki takie jak Polylang czy qTranslate-XT są odpowiednie dla mniejszych budżetów, podczas gdy WPML i TranslatePress oferują bardziej rozbudowane funkcje w wersjach płatnych.
178
+ - **Ekspertyza techniczna:** Użytkownicy nietechniczni mogą preferować łatwość obsługi oferowaną przez TranslatePress lub Polylang, natomiast doświadczeni deweloperzy mogą skorzystać na rozwiązaniach tworzonych na zamówienie.
179
+ - **Złożoność i skala strony:** Dla dużych stron z zaawansowanymi potrzebami tłumaczeniowymi i wymaganiami SEO, idealne mogą być WPML lub TranslatePress. Dla prostszych projektów bardziej efektywne może być użycie prostej wtyczki lub rozwiązania niestandardowego.
180
+ - **Utrzymanie i aktualizacje:** Upewnij się, że wybrane rozwiązanie może obsłużyć przyszły rozwój i aktualizacje treści bez znaczących obciążeń lub problemów z kompatybilnością.
181
+
182
+ ---
183
+
184
+ ## Podsumowanie
185
+
186
+ Tłumaczenie Twojej strony WordPress to nie tylko konwersja tekstu — to także otwarcie się na szerszą publiczność, poprawa doświadczenia użytkownika oraz optymalizacja pod kątem międzynarodowych wyszukiwarek. Niezależnie od tego, czy wybierzesz rozwiązanie bogate w funkcje, takie jak WPML, przyjazną użytkownikowi opcję TranslatePress, ekonomiczne rozwiązanie Polylang, czy podejście oparte na własnym kodzie, kluczem jest wybór rozwiązania i18n, które odpowiada celom i zasobom Twojego projektu.
187
+
188
+ - **Konserwacja i aktualizacje:** Upewnij się, że wybrane rozwiązanie może obsłużyć przyszły rozwój i aktualizacje treści bez znaczących problemów z kompatybilnością lub nadmiernym obciążeniem.
189
+
190
+ ---
191
+
192
+ ## Podsumowanie
193
+
194
+ Tłumaczenie Twojej strony WordPress to nie tylko konwersja tekstu, ale także otwarcie się na szerszą publiczność, poprawa doświadczenia użytkownika oraz optymalizacja pod kątem międzynarodowych wyszukiwarek. Niezależnie od tego, czy wybierzesz rozwiązanie bogate w funkcje, takie jak WPML, przyjazną użytkownikowi opcję TranslatePress, ekonomiczne rozwiązanie Polylang, czy podejście oparte na własnym kodzie, kluczem jest wybór rozwiązania i18n, które odpowiada celom i zasobom Twojego projektu.
195
+
196
+ Poprzez staranną ocenę dostępnych opcji i uwzględnienie długoterminowej konserwacji, możesz stworzyć solidną, wielojęzyczną stronę, która skutecznie komunikuje się z globalną publicznością. Powodzenia w tłumaczeniu i życzymy międzynarodowego sukcesu Twojej strony!
@@ -0,0 +1,125 @@
1
+ ---
2
+ createdAt: 2025-01-16
3
+ updatedAt: 2025-06-29
4
+ title: Najlepsze narzędzia do internacjonalizacji (i18n) dla Angulara
5
+ description: Odkryj najlepsze rozwiązania i18n dla Angulara, które pomogą sprostać wyzwaniom tłumaczeniowym, zwiększyć SEO i zapewnić płynne globalne doświadczenie w sieci.
6
+ keywords:
7
+ - Angular
8
+ - i18n
9
+ - wielojęzyczność
10
+ - SEO
11
+ - Internacjonalizacja
12
+ - Blog
13
+ - JavaScript
14
+ slugs:
15
+ - blog
16
+ - i18n-technologies
17
+ - frameworks
18
+ - angular
19
+ ---
20
+
21
+ # Eksploracja rozwiązań i18n do tłumaczenia Twojej strony Angular
22
+
23
+ W dzisiejszym, wzajemnie połączonym świecie, oferowanie swojej strony internetowej w wielu językach może znacznie zwiększyć zasięg i poprawić doświadczenie użytkownika. Dla deweloperów pracujących z Angularem, wdrożenie internacjonalizacji (i18n) jest kluczowe dla efektywnego zarządzania tłumaczeniami przy jednoczesnym zachowaniu struktury aplikacji, SEO oraz wydajności. W tym artykule przyjrzymy się różnym podejściom do i18n — od wbudowanych rozwiązań Angulara po popularne biblioteki firm trzecich — aby pomóc Ci wybrać najlepsze rozwiązanie dla Twojego projektu.
24
+
25
+ ---
26
+
27
+ ![ilustracja i18n](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
28
+
29
+ ## Czym jest internacjonalizacja (i18n)?
30
+
31
+ Internacjonalizacja, często określana jako i18n, to proces projektowania i przygotowywania aplikacji do obsługi wielu języków i kontekstów kulturowych. W Angularze oznacza to skonfigurowanie aplikacji tak, aby teksty, daty, liczby, a nawet układy interfejsu użytkownika mogły płynnie dostosowywać się do różnych lokalizacji. Prawidłowe przygotowanie tych podstaw zapewnia, że integracja przyszłych tłumaczeń pozostanie uporządkowana i efektywna.
32
+
33
+ Dowiedz się więcej o podstawach i18n, czytając nasz artykuł: [Czym jest internacjonalizacja (i18n)? Definicja i wyzwania](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pl/what_is_internationalization.md).
34
+
35
+ ---
36
+
37
+ ## Wyzwania związane z tłumaczeniem aplikacji Angular
38
+
39
+ Tłumaczenie aplikacji Angular wiąże się z kilkoma wyzwaniami:
40
+
41
+ - **Struktura oparta na komponentach**: Modularne podejście Angulara (z komponentami, modułami i serwisami) oznacza, że ciągi tłumaczeń mogą być rozproszone po całej bazie kodu, co sprawia, że kluczowe jest ich centralizowanie i skuteczne zarządzanie.
42
+ - **Dynamiczna zawartość**: Obsługa treści w czasie rzeczywistym (np. dane z REST API, treści generowane przez użytkowników) wymaga starannego podejścia, aby zapewnić, że nowe ciągi również zostaną przetłumaczone.
43
+ - **Aspekty SEO**: Jeśli korzystasz z Angular Universal do renderowania po stronie serwera, musisz skonfigurować lokalizowane adresy URL, meta tagi oraz mapy witryn, aby Twoje wielojęzyczne strony były przyjazne dla wyszukiwarek.
44
+ - **Routing i stan aplikacji**: Zapewnienie utrzymania właściwego języka podczas nawigacji między trasami wymaga zarządzania stanem oraz ewentualnie niestandardowych strażników tras lub interceptorów.
45
+ - **Skalowalność i utrzymanie**: Pliki tłumaczeń mogą szybko rosnąć, a ich organizacja, wersjonowanie i synchronizacja z rozwojem aplikacji może być ciągłym wyzwaniem.
46
+
47
+ ---
48
+
49
+ ## Wiodące rozwiązania i18n dla Angulara
50
+
51
+ Angular oferuje wbudowany framework i18n, a także istnieje kilka bibliotek firm trzecich, które mają na celu uproszczenie konfiguracji wielojęzyczności. Poniżej znajdują się niektóre z najpopularniejszych rozwiązań.
52
+
53
+ ### 1. Wbudowany i18n Angulara
54
+
55
+ **Przegląd**
56
+ Angular dostarcza **wbudowany system i18n**, który zawiera narzędzia do ekstrakcji ciągów tłumaczeń, obsługi liczby mnogiej i interpolacji oraz integracji tłumaczeń na etapie kompilacji. To oficjalne rozwiązanie jest potężne dla mniejszych projektów lub tych, które mogą ściśle dostosować się do zalecanej struktury Angulara.
57
+
58
+ **Kluczowe cechy**
59
+
60
+ - **Natychmiastowa integracja**: Nie jest wymagana żadna dodatkowa biblioteka; działa od razu z projektami Angulara.
61
+ - **Tłumaczenia w czasie kompilacji**: Angular CLI wyodrębnia tekst do tłumaczeń, a następnie budujesz osobne pakiety dla każdego języka. Takie podejście może prowadzić do szybszej wydajności w czasie działania, ponieważ tłumaczenia są kompilowane.
62
+ - **Łatwa obsługa liczby mnogiej i rodzaju**: Wbudowane funkcje dla złożonej pluralizacji i interpolacji komunikatów.
63
+ - **Budowanie AOT i produkcyjne**: W pełni kompatybilne z kompilacją Ahead-of-Time (AOT) Angulara, co zapewnia zoptymalizowane pakiety produkcyjne.
64
+
65
+ **Uwagi**
66
+
67
+ - **Wiele kompilacji**: Każdy język wymaga osobnej kompilacji, co może prowadzić do bardziej złożonych scenariuszy wdrożeniowych.
68
+ - **Dynamiczna zawartość**: Obsługa treści w czasie rzeczywistym lub generowanych przez użytkownika może wymagać niestandardowej logiki, ponieważ wbudowane rozwiązanie Angulara skupia się głównie na tłumaczeniach w czasie kompilacji.
69
+ - **Ograniczona elastyczność w czasie działania**: Zmiana języków „w locie” (bez przeładowania aplikacji) może być wyzwaniem, ponieważ tłumaczenia są wbudowane podczas kompilacji.
70
+
71
+ ---
72
+
73
+ ### 2. ngx-translate
74
+
75
+ Strona: [https://github.com/ngx-translate/core](https://github.com/ngx-translate/core)
76
+
77
+ **Przegląd**
78
+ **ngx-translate** jest jedną z najbardziej ugruntowanych bibliotek i18n stron trzecich w ekosystemie Angulara. Umożliwia tłumaczenie w czasie działania, pozwalając na ładowanie plików językowych na żądanie oraz dynamiczną zmianę lokalizacji bez konieczności przebudowy całej aplikacji.
79
+
80
+ **Kluczowe funkcje**
81
+
82
+ - **Tłumaczenia w czasie działania**: Idealne do dynamicznej zmiany języka i scenariuszy, w których nie chcesz mieć wielu wersji produkcyjnych.
83
+ - **Pliki tłumaczeń JSON**: Przechowuj tłumaczenia w prostych plikach JSON, co ułatwia ich strukturę i utrzymanie.
84
+ - **Ładowanie asynchroniczne**: Ładuj tłumaczenia leniwie, aby zmniejszyć rozmiar początkowego pakietu.
85
+ - **Obsługa wielu języków**: Natychmiastowa zmiana lokalizacji i nasłuchiwanie zmian języka w komponentach.
86
+
87
+ **Uwagi**
88
+
89
+ - **Stan i złożoność**: Zarządzanie wieloma plikami tłumaczeń może stać się skomplikowane w większych aplikacjach.
90
+ - **SEO i SSR**: Jeśli potrzebujesz renderowania po stronie serwera z Angular Universal, ngx-translate wymaga dodatkowej konfiguracji, aby zapewnić poprawne tłumaczenia dla robotów indeksujących i przeglądarek przy pierwszym ładowaniu.
91
+ - **Wydajność**: Choć elastyczne w czasie działania, obsługiwanie wielu tłumaczeń na dużych stronach może mieć wpływ na wydajność, dlatego zalecane są strategie buforowania.
92
+
93
+ ---
94
+
95
+ ### 3. Transloco
96
+
97
+ Strona internetowa: [https://ngneat.github.io/transloco/](https://ngneat.github.io/transloco/)
98
+
99
+ **Przegląd**
100
+ **Transloco** to nowoczesna, społecznościowa biblioteka i18n dla Angulara, która kładzie nacisk na skalowalną architekturę oraz płynne doświadczenie programisty. Zapewnia podejście oparte na wtyczkach, które pozwala na bezproblemową integrację z istniejącą konfiguracją Angulara.
101
+
102
+ **Kluczowe funkcje**
103
+
104
+ - **Integracja z zarządzaniem stanem**: Kompatybilność „out-of-the-box” z bibliotekami zarządzania stanem, takimi jak NgRx i Akita.
105
+ - **Lazy Loading**: Podział tłumaczeń na osobne fragmenty i ładowanie ich tylko wtedy, gdy są potrzebne.
106
+ - **Bogaty ekosystem wtyczek**: Obsługuje wszystko, od integracji SSR po automatyczne wyodrębnianie komunikatów.
107
+ - **W czasie działania lub podczas budowania**: Oferuje elastyczność dla różnych procesów tłumaczeń, niezależnie od tego, czy preferujesz przełączanie w czasie działania, czy lokalizację zbudowaną wcześniej.
108
+
109
+ **Uwagi**
110
+
111
+ - **Krzywa uczenia się**: Mimo dobrej dokumentacji, podejście oparte na wtyczkach może wymagać dodatkowych kroków w zaawansowanych przypadkach użycia (np. SSR, wielojęzyczne trasy).
112
+ - **Wielkość społeczności**: Transloco ma aktywną społeczność, ale nadal rośnie w porównaniu do wbudowanego rozwiązania Angulara lub ngx-translate.
113
+ - **Struktura folderów**: Utrzymanie porządku w tłumaczeniach może być wyzwaniem w bardzo dużych aplikacjach. Dobra struktura folderów i konwencje nazewnictwa są kluczowe.
114
+
115
+ ### Ostateczne przemyślenia
116
+
117
+ Wybierając podejście i18n dla swojej aplikacji Angular:
118
+
119
+ - **Oceń wymagania projektu**: Weź pod uwagę takie czynniki, jak dynamiczna zmiana języka, tempo rozwoju oraz potrzeby integracji z zewnętrznymi systemami.
120
+ - **Sprawdź SSR i SEO**: Jeśli korzystasz z Angular Universal do renderowania po stronie serwera, upewnij się, że wybrane rozwiązanie płynnie integruje się z lokalizowanymi metadanymi i obsługą tras.
121
+ - **Wydajność i strategia budowania**: Oceń, czy potrzebujesz wielu wyników budowania (dla każdego języka osobno), czy wolisz jeden pakiet z tłumaczeniami w czasie wykonywania.
122
+ - **Utrzymanie i skalowanie**: Dla dużych aplikacji upewnij się, że biblioteka wspiera przejrzystą strukturę plików, typowane klucze (jeśli jest to pożądane) oraz prosty proces aktualizacji.
123
+ - **Doświadczenie dewelopera**: Autouzupełnianie w TypeScript, ekosystem wtyczek oraz narzędzia CLI mogą znacznie zmniejszyć trudności przy aktualizacji lub dodawaniu nowych tłumaczeń.
124
+
125
+ Wszystkie omówione biblioteki mogą zasilać solidną, wielojęzyczną aplikację Angular, z których każda ma swoje mocne strony. Najlepszy wybór zależy od Twoich unikalnych potrzeb dotyczących **wydajności**, **procesu pracy**, **doświadczenia deweloperskiego** oraz **celów biznesowych**.
@@ -0,0 +1,151 @@
1
+ ---
2
+ createdAt: 2025-01-16
3
+ updatedAt: 2025-06-29
4
+ title: Najlepsze narzędzia do internacjonalizacji (i18n) dla Fluttera
5
+ description: Odkryj najlepsze rozwiązania i18n dla Fluttera, które pomogą sprostać wyzwaniom tłumaczeniowym, zwiększyć SEO i zapewnić płynne globalne doświadczenie w sieci.
6
+ keywords:
7
+ - Flutter
8
+ - i18n
9
+ - wielojęzyczność
10
+ - SEO
11
+ - Internacjonalizacja
12
+ - Blog
13
+ - JavaScript
14
+ - Flutter
15
+ slugs:
16
+ - blog
17
+ - i18n-technologies
18
+ - frameworks
19
+ - flutter
20
+ ---
21
+
22
+ # Eksploracja rozwiązań i18n do tłumaczenia Twojej aplikacji Flutter
23
+
24
+ W coraz bardziej połączonym świecie, oferowanie Twojej aplikacji Flutter w wielu językach może zwiększyć jej zasięg i poprawić użyteczność dla osób nieposługujących się językiem angielskim. Implementacja internacjonalizacji (i18n) w Flutterze zapewnia prawidłową lokalizację tekstów, dat oraz innych informacji wrażliwych kulturowo. W tym artykule przeanalizujemy różne podejścia do i18n w Flutterze — od oficjalnych frameworków po biblioteki tworzone przez społeczność — abyś mógł wybrać najlepsze rozwiązanie dla swojego projektu.
25
+
26
+ ---
27
+
28
+ ![ilustracja i18n](https://github.com/aymericzip/intlayer/blob/main/docs/assets/i18n.webp)
29
+
30
+ ## Czym jest internacjonalizacja (i18n)?
31
+
32
+ Internacjonalizacja, powszechnie znana jako i18n, to proces projektowania aplikacji w taki sposób, aby mogła łatwo obsługiwać wiele języków i formatów kulturowych. W Flutterze oznacza to skonfigurowanie aplikacji do zarządzania lokalizowanymi ciągami tekstowymi, formatami dat/czasu oraz formatami liczb w sposób płynny. Przygotowując swoją aplikację Flutter do i18n, budujesz solidne podstawy do integracji tłumaczeń i obsługi różnic regionalnych z minimalnymi trudnościami.
33
+
34
+ Jeśli jesteś nowy w tym temacie, sprawdź nasz artykuł: [Czym jest internacjonalizacja (i18n)? Definicja i wyzwania](https://github.com/aymericzip/intlayer/blob/main/docs/blog/pl/what_is_internationalization.md).
35
+
36
+ ---
37
+
38
+ ## Wyzwania związane z tłumaczeniem aplikacji Flutter
39
+
40
+ Reaktywna i oparta na widgetach architektura Fluttera stawia przed i18n kilka unikalnych wyzwań:
41
+
42
+ - **Interfejs oparty na widgetach**: Ciągi tekstowe mogą być rozproszone w różnych widgetach, co wymaga systematycznego sposobu centralizacji tłumaczeń przy jednoczesnym zachowaniu reaktywności UI.
43
+ - **Dynamiczna zawartość**: Tłumaczenia dla danych w czasie rzeczywistym lub pobieranych (np. z REST API lub Firebase) mogą skomplikować konfigurację.
44
+ - **Zarządzanie stanem**: Utrzymanie poprawnej lokalizacji podczas nawigacji w aplikacji i przejść między stanami może wymagać rozwiązań takich jak `Provider`, `Riverpod` lub `Bloc`.
45
+ - **Material vs. Cupertino**: Flutter oferuje wieloplatformowe widgety UI dla Androida (Material) i iOS (Cupertino), więc zapewnienie spójnej internacjonalizacji na obu platformach może zwiększyć złożoność.
46
+ - **Wdrażanie i aktualizacje**: Obsługa wielu języków może oznaczać większe pakiety aplikacji lub pobieranie zasobów językowych na żądanie, co wymaga strategii równoważącej wydajność i doświadczenie użytkownika.
47
+
48
+ ---
49
+
50
+ ## Wiodące rozwiązania i18n dla Fluttera
51
+
52
+ Flutter oferuje oficjalne wsparcie dla lokalizacji, a społeczność opracowała dodatkowe biblioteki, które ułatwiają zarządzanie wieloma lokalizacjami. Poniżej przedstawiono kilka powszechnie stosowanych podejść.
53
+
54
+ ### 1. Oficjalne i18n Fluttera (intl + pliki ARB)
55
+
56
+ **Przegląd**
57
+ Flutter dostarcza oficjalne wsparcie dla lokalizacji poprzez pakiet [`intl`](https://pub.dev/packages/intl) oraz integrację z biblioteką `flutter_localizations`. To podejście zazwyczaj wykorzystuje pliki **ARB (Application Resource Bundle)** do przechowywania i zarządzania tłumaczeniami.
58
+
59
+ **Kluczowe cechy**
60
+
61
+ - **Oficjalne i zintegrowane**: Nie ma potrzeby korzystania z zewnętrznych bibliotek, `MaterialApp` i `CupertinoApp` mogą bezpośrednio odwoływać się do Twoich lokalizacji.
62
+ - **Pakiet intl**: Oferuje formatowanie dat/liczb, liczby mnogie, obsługę płci oraz inne funkcje oparte na ICU.
63
+ - **Sprawdzanie w czasie kompilacji**: Generowanie kodu z plików ARB pomaga wykryć brakujące tłumaczenia podczas kompilacji.
64
+ - **Silne wsparcie społeczności**: Wspierane przez Google, z bogatą dokumentacją i przykładami.
65
+
66
+ **Uwagi**
67
+
68
+ - **Ręczna konfiguracja**: Musisz skonfigurować pliki ARB, ustawić `MaterialApp` lub `CupertinoApp` z `localizationsDelegates` oraz zarządzać wieloma plikami `.arb` dla każdego języka.
69
+ - **Hot Reload/Restart**: Zmiana języka w czasie działania aplikacji zwykle wymaga pełnego restartu aplikacji, aby zastosować nową lokalizację.
70
+ - **Skalowalność**: W przypadku większych aplikacji liczba plików ARB może się zwiększać, co wymaga zdyscyplinowanej struktury folderów.
71
+
72
+ ---
73
+
74
+ ### 2. Easy Localization
75
+
76
+ Repozytorium: [https://pub.dev/packages/easy_localization](https://pub.dev/packages/easy_localization)
77
+
78
+ **Przegląd**
79
+ **Easy Localization** to biblioteka tworzona przez społeczność, zaprojektowana, aby uprościć zadania związane z lokalizacją w Flutterze. Skupia się na bardziej dynamicznym podejściu do ładowania i przełączania języków, często z minimalną ilością kodu szablonowego.
80
+
81
+ **Kluczowe funkcje**
82
+
83
+ - **Uproszczona konfiguracja**: Możesz owinąć swój główny widget w `EasyLocalization`, aby łatwo zarządzać obsługiwanymi lokalizacjami i tłumaczeniami.
84
+ - **Przełączanie języka w czasie działania**: Zmieniaj język aplikacji na bieżąco bez ręcznego restartu, poprawiając doświadczenie użytkownika.
85
+ - **JSON/YAML/CSV**: Przechowuj tłumaczenia w różnych formatach plików dla większej elastyczności.
86
+ - **Pluralizacja i Kontekst**: Podstawowe funkcje do zarządzania formami liczby mnogiej i tłumaczeniami zależnymi od kontekstu.
87
+
88
+ **Uwagi**
89
+
90
+ - **Mniej Szczegółowa Kontrola**: Choć prostsze, możesz mieć mniej precyzyjną kontrolę nad optymalizacjami w czasie kompilacji w porównaniu do oficjalnego podejścia ARB.
91
+ - **Wydajność**: Ładowanie wielu dużych plików tłumaczeń w czasie działania może wpłynąć na czas uruchamiania większych aplikacji.
92
+ - **Społeczność i Aktualizacje**: Silnie zależne od społeczności, co może być plusem pod względem wsparcia, ale także oznacza możliwość zmian w czasie.
93
+
94
+ ---
95
+
96
+ ### 3. Flutter_i18n
97
+
98
+ Repozytorium: [https://pub.dev/packages/flutter_i18n](https://pub.dev/packages/flutter_i18n)
99
+
100
+ **Przegląd**
101
+
102
+ **Flutter_i18n** oferuje podejście podobne do Easy Localization, z naciskiem na utrzymanie tłumaczeń i logiki poza głównym kodem widgetów. Obsługuje zarówno synchroniczne, jak i asynchroniczne ładowanie plików lokalizacyjnych.
103
+
104
+ **Kluczowe funkcje**
105
+
106
+ - **Wiele formatów plików**: Używaj JSON lub YAML do przechowywania tłumaczeń.
107
+ - **Wsparcie Hot Reload**: Możesz dynamicznie zmieniać języki i natychmiast widzieć zmiany w trybie deweloperskim.
108
+ - **Widgety i Hooki i18n**: Dostarczają specjalizowane widgety, takie jak `I18nText`, dla prostszego użycia w UI, a także hooki dla rozwiązań opartych na stanie.
109
+ - **Lokalizacja na poziomie tras**: Powiąż konkretne lokalizacje z określonymi trasami lub modułami, co może być przydatne w dużych aplikacjach.
110
+
111
+ **Uwagi**
112
+
113
+ - **Ręczne zarządzanie językiem**: Będziesz musiał ostrożnie zarządzać zmianami lokalizacji, aby uniknąć warunków wyścigu lub przestarzałych danych.
114
+ - **Koszty integracji**: Mimo elastyczności, konfiguracja zaawansowanych funkcji (takich jak zagnieżdżone tłumaczenia czy lokalizacje zapasowe) może wymagać więcej ustawień.
115
+ - **Dojrzałość społeczności**: Dość dojrzała z regularnymi aktualizacjami, ale mniej oficjalna niż podstawowe rozwiązanie Fluttera.
116
+
117
+ ---
118
+
119
+ ### 4. Intlayer
120
+
121
+ Strona internetowa: [https://intlayer.org/](https://intlayer.org/)
122
+
123
+ **Przegląd**
124
+ **Intlayer** to otwarte rozwiązanie i18n mające na celu uproszczenie wsparcia wielojęzycznego w różnych frameworkach, w tym **Flutter**. Kładzie nacisk na podejście deklaratywne, silne typowanie oraz wsparcie SSR w innych ekosystemach, chociaż SSR nie jest typowe dla standardowego Fluttera, możesz znaleźć synergię, jeśli Twój projekt korzysta z Flutter web lub zaawansowanych frameworków.
125
+
126
+ **Kluczowe funkcje**
127
+
128
+ - **Deklaratywne tłumaczenie**: Definiuj słowniki tłumaczeń na poziomie widgetu lub w scentralizowanym pliku dla czystszej architektury.
129
+ - **TypeScript i autouzupełnianie (Web)**: Chociaż ta funkcja głównie wspiera frameworki webowe, podejście z typowanymi tłumaczeniami może nadal pomagać w tworzeniu uporządkowanego kodu w Flutterze.
130
+ - **Asynchroniczne ładowanie**: Dynamiczne ładowanie zasobów tłumaczeń, co może potencjalnie zmniejszyć początkowy rozmiar pakietu w aplikacjach wielojęzycznych.
131
+ - **Integracja z Flutter**: Podstawowa integracja może zostać skonfigurowana, aby wykorzystać podejście Intlayer do strukturalnych tłumaczeń.
132
+
133
+ **Uwagi**
134
+
135
+ - **Dojrzałość specyficzna dla Fluttera**: Społeczność Intlayer dla Fluttera, choć rośnie, jest mniejsza, więc możesz znaleźć mniej samouczków lub przykładów kodu niż w przypadku innych bibliotek.
136
+ - **SSR**: Biblioteka silnie wspiera SSR w kontekstach webowych, ale użycie SSR w Flutterze jest bardziej specjalistyczne (np. Flutter web lub niestandardowe podejścia serwerowe).
137
+ - **Własna konfiguracja**: Wymaga początkowej konfiguracji, aby dopasować się do przepływu Fluttera w `MaterialApp` lub `CupertinoApp`.
138
+
139
+ ---
140
+
141
+ ### Ostateczne przemyślenia
142
+
143
+ Podczas oceny podejścia i18n dla Fluttera:
144
+
145
+ 1. **Określ swój workflow**: Zdecyduj, czy wolisz **tłumaczenia w czasie kompilacji** (za pomocą ARB + `intl`) dla lepszego bezpieczeństwa typów i wydajności, czy **tłumaczenia w czasie wykonywania** (za pomocą Easy Localization, Flutter_i18n) dla większej elastyczności.
146
+ 2. **Zmiana języka**: Jeśli kluczowa jest możliwość zmiany języka w czasie rzeczywistym bez ponownego uruchamiania aplikacji, rozważ bibliotekę działającą w czasie wykonywania.
147
+ 3. **Skalowalność i organizacja**: W miarę rozwoju aplikacji Flutter zaplanuj, jak będziesz organizować, nazywać i wersjonować pliki tłumaczeń. Jest to szczególnie istotne przy obsłudze wielu lokalizacji.
148
+ 4. **Wydajność kontra elastyczność**: Każde podejście wiąże się z kompromisami. Rozwiązania prekompilowane zazwyczaj oferują mniejsze obciążenie w czasie wykonywania, podczas gdy tłumaczenia na bieżąco zapewniają bardziej płynne doświadczenie użytkownika.
149
+ 5. **Społeczność i ekosystem**: Oficjalne rozwiązania, takie jak ARB + `intl`, zazwyczaj zapewniają długoterminową stabilność. Biblioteki firm trzecich oferują dodatkową wygodę i funkcje w czasie wykonywania, ale mogą wymagać większej uwagi w kwestii aktualizacji i wsparcia.
150
+
151
+ Wszystkie te rozwiązania mogą pomóc Ci stworzyć wielojęzyczną aplikację Flutter. Ostateczny wybór zależy od **wymagań wydajnościowych** Twojej aplikacji, **workflow deweloperskiego**, **celów doświadczenia użytkownika** oraz **długoterminowej utrzymalności**. Dokładnie dobierając strategię zgodną z priorytetami Twojego projektu, zapewnisz, że Twoja aplikacja Flutter zachwyci użytkowników na całym świecie.