@intlayer/docs 7.5.10 → 7.5.12

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 (313) hide show
  1. package/blog/ar/intlayer_with_i18next.md +0 -2
  2. package/blog/ar/intlayer_with_next-i18next.md +0 -2
  3. package/blog/ar/intlayer_with_react-i18next.md +0 -2
  4. package/blog/de/intlayer_with_i18next.md +0 -45
  5. package/blog/de/intlayer_with_next-i18next.md +0 -46
  6. package/blog/de/intlayer_with_react-i18next.md +0 -2
  7. package/blog/en/intlayer_with_i18next.md +0 -46
  8. package/blog/en/intlayer_with_next-i18next.md +0 -48
  9. package/blog/en/intlayer_with_next-intl.md +0 -44
  10. package/blog/en/intlayer_with_react-i18next.md +0 -44
  11. package/blog/en/intlayer_with_react-intl.md +0 -42
  12. package/blog/en/intlayer_with_vue-i18n.md +0 -44
  13. package/blog/en-GB/intlayer_with_i18next.md +0 -45
  14. package/blog/en-GB/intlayer_with_next-i18next.md +0 -47
  15. package/blog/en-GB/intlayer_with_next-intl.md +0 -42
  16. package/blog/en-GB/intlayer_with_react-i18next.md +0 -43
  17. package/blog/en-GB/intlayer_with_react-intl.md +0 -42
  18. package/blog/en-GB/intlayer_with_vue-i18n.md +0 -46
  19. package/blog/es/intlayer_with_i18next.md +0 -45
  20. package/blog/es/intlayer_with_next-i18next.md +0 -47
  21. package/blog/es/intlayer_with_next-intl.md +0 -42
  22. package/blog/es/intlayer_with_react-i18next.md +0 -43
  23. package/blog/es/intlayer_with_react-intl.md +0 -42
  24. package/blog/es/intlayer_with_vue-i18n.md +0 -46
  25. package/blog/fr/intlayer_with_i18next.md +0 -45
  26. package/blog/fr/intlayer_with_next-i18next.md +0 -47
  27. package/blog/fr/intlayer_with_next-intl.md +0 -42
  28. package/blog/fr/intlayer_with_react-i18next.md +0 -43
  29. package/blog/fr/intlayer_with_react-intl.md +0 -42
  30. package/blog/fr/intlayer_with_vue-i18n.md +0 -46
  31. package/blog/hi/intlayer_with_i18next.md +0 -2
  32. package/blog/hi/intlayer_with_next-i18next.md +0 -2
  33. package/blog/hi/intlayer_with_react-i18next.md +0 -2
  34. package/blog/id/intlayer_with_i18next.md +0 -2
  35. package/blog/id/intlayer_with_next-i18next.md +0 -2
  36. package/blog/id/intlayer_with_react-i18next.md +0 -2
  37. package/blog/it/intlayer_with_i18next.md +0 -2
  38. package/blog/it/intlayer_with_next-i18next.md +0 -2
  39. package/blog/it/intlayer_with_react-i18next.md +0 -2
  40. package/blog/ja/intlayer_with_i18next.md +0 -45
  41. package/blog/ja/intlayer_with_next-i18next.md +0 -46
  42. package/blog/ja/intlayer_with_next-intl.md +0 -42
  43. package/blog/ja/intlayer_with_react-i18next.md +0 -42
  44. package/blog/ja/intlayer_with_react-intl.md +0 -42
  45. package/blog/ja/intlayer_with_vue-i18n.md +0 -46
  46. package/blog/ko/intlayer_with_i18next.md +0 -2
  47. package/blog/ko/intlayer_with_next-i18next.md +0 -2
  48. package/blog/ko/intlayer_with_react-i18next.md +0 -1
  49. package/blog/pl/intlayer_with_i18next.md +0 -45
  50. package/blog/pl/intlayer_with_next-i18next.md +0 -46
  51. package/blog/pl/intlayer_with_next-intl.md +0 -42
  52. package/blog/pl/intlayer_with_react-i18next.md +0 -43
  53. package/blog/pl/intlayer_with_react-intl.md +0 -42
  54. package/blog/pl/intlayer_with_vue-i18n.md +0 -46
  55. package/blog/pt/intlayer_with_i18next.md +0 -2
  56. package/blog/pt/intlayer_with_next-i18next.md +0 -2
  57. package/blog/pt/intlayer_with_react-i18next.md +0 -2
  58. package/blog/ru/intlayer_with_i18next.md +0 -45
  59. package/blog/ru/intlayer_with_next-i18next.md +0 -47
  60. package/blog/ru/intlayer_with_next-intl.md +0 -42
  61. package/blog/ru/intlayer_with_react-i18next.md +0 -43
  62. package/blog/ru/intlayer_with_react-intl.md +0 -42
  63. package/blog/ru/intlayer_with_vue-i18n.md +0 -46
  64. package/blog/tr/intlayer_with_i18next.md +0 -2
  65. package/blog/tr/intlayer_with_next-i18next.md +0 -1
  66. package/blog/tr/intlayer_with_react-i18next.md +0 -2
  67. package/blog/vi/intlayer_with_i18next.md +0 -2
  68. package/blog/vi/intlayer_with_next-i18next.md +0 -2
  69. package/blog/vi/intlayer_with_react-i18next.md +0 -2
  70. package/blog/zh/intlayer_with_i18next.md +0 -2
  71. package/blog/zh/intlayer_with_next-i18next.md +0 -2
  72. package/blog/zh/intlayer_with_react-i18next.md +0 -2
  73. package/blog/zh/intlayer_with_vue-i18n.md +0 -46
  74. package/dist/cjs/generated/blog.entry.cjs +58 -29
  75. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  76. package/dist/cjs/generated/docs.entry.cjs +254 -97
  77. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  78. package/dist/cjs/generated/frequentQuestions.entry.cjs +30 -15
  79. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  80. package/dist/cjs/generated/legal.entry.cjs +4 -2
  81. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  82. package/dist/esm/generated/blog.entry.mjs +58 -29
  83. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  84. package/dist/esm/generated/docs.entry.mjs +254 -97
  85. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  86. package/dist/esm/generated/frequentQuestions.entry.mjs +30 -15
  87. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  88. package/dist/esm/generated/legal.entry.mjs +4 -2
  89. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  90. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  91. package/dist/types/generated/docs.entry.d.ts +3 -0
  92. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  93. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  94. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  95. package/docs/ar/cli/ci.md +137 -0
  96. package/docs/ar/cli/index.md +7 -1
  97. package/docs/ar/cli/list.md +39 -2
  98. package/docs/ar/cli/list_projects.md +131 -0
  99. package/docs/ar/intlayer_CMS.md +20 -0
  100. package/docs/ar/intlayer_with_next-i18next.md +0 -1
  101. package/docs/ar/intlayer_with_nextjs_14.md +28 -0
  102. package/docs/ar/intlayer_with_nextjs_15.md +28 -0
  103. package/docs/ar/intlayer_with_nextjs_16.md +28 -0
  104. package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1159 -0
  105. package/docs/ar/plugins/sync-json.md +6 -2
  106. package/docs/de/cli/ci.md +137 -0
  107. package/docs/de/cli/index.md +7 -1
  108. package/docs/de/cli/list.md +39 -2
  109. package/docs/de/cli/list_projects.md +130 -0
  110. package/docs/de/intlayer_CMS.md +20 -0
  111. package/docs/de/intlayer_with_next-i18next.md +0 -1
  112. package/docs/de/intlayer_with_nextjs_14.md +28 -0
  113. package/docs/de/intlayer_with_nextjs_15.md +28 -0
  114. package/docs/de/intlayer_with_nextjs_16.md +28 -0
  115. package/docs/de/intlayer_with_nextjs_no_locale_path.md +1152 -0
  116. package/docs/de/plugins/sync-json.md +6 -2
  117. package/docs/en/cli/ci.md +137 -0
  118. package/docs/en/cli/index.md +14 -1
  119. package/docs/en/cli/list.md +39 -2
  120. package/docs/en/cli/list_projects.md +128 -0
  121. package/docs/en/interest_of_intlayer.md +1 -1
  122. package/docs/en/intlayer_CMS.md +20 -0
  123. package/docs/en/intlayer_with_next-i18next.md +0 -1
  124. package/docs/en/intlayer_with_nextjs_14.md +28 -0
  125. package/docs/en/intlayer_with_nextjs_15.md +28 -0
  126. package/docs/en/intlayer_with_nextjs_16.md +31 -1
  127. package/docs/en/intlayer_with_nextjs_no_locale_path.md +1132 -0
  128. package/docs/en/plugins/sync-json.md +6 -2
  129. package/docs/en-GB/cli/ci.md +137 -0
  130. package/docs/en-GB/cli/index.md +7 -1
  131. package/docs/en-GB/cli/list.md +39 -2
  132. package/docs/en-GB/cli/list_projects.md +130 -0
  133. package/docs/en-GB/intlayer_CMS.md +20 -0
  134. package/docs/en-GB/intlayer_with_next-i18next.md +0 -1
  135. package/docs/en-GB/intlayer_with_nextjs_14.md +28 -0
  136. package/docs/en-GB/intlayer_with_nextjs_15.md +28 -0
  137. package/docs/en-GB/intlayer_with_nextjs_16.md +28 -0
  138. package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1154 -0
  139. package/docs/en-GB/plugins/sync-json.md +6 -2
  140. package/docs/es/cli/ci.md +137 -0
  141. package/docs/es/cli/index.md +7 -1
  142. package/docs/es/cli/list.md +39 -2
  143. package/docs/es/cli/list_projects.md +130 -0
  144. package/docs/es/intlayer_CMS.md +20 -0
  145. package/docs/es/intlayer_with_next-i18next.md +0 -1
  146. package/docs/es/intlayer_with_nextjs_14.md +28 -0
  147. package/docs/es/intlayer_with_nextjs_15.md +28 -0
  148. package/docs/es/intlayer_with_nextjs_16.md +28 -0
  149. package/docs/es/intlayer_with_nextjs_no_locale_path.md +1143 -0
  150. package/docs/es/plugins/sync-json.md +6 -2
  151. package/docs/fr/cli/ci.md +137 -0
  152. package/docs/fr/cli/index.md +7 -1
  153. package/docs/fr/cli/list.md +39 -2
  154. package/docs/fr/cli/list_projects.md +131 -0
  155. package/docs/fr/intlayer_CMS.md +20 -0
  156. package/docs/fr/intlayer_with_next-i18next.md +0 -1
  157. package/docs/fr/intlayer_with_nextjs_14.md +28 -0
  158. package/docs/fr/intlayer_with_nextjs_15.md +28 -0
  159. package/docs/fr/intlayer_with_nextjs_16.md +28 -0
  160. package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1174 -0
  161. package/docs/fr/plugins/sync-json.md +9 -5
  162. package/docs/hi/cli/ci.md +137 -0
  163. package/docs/hi/cli/index.md +7 -1
  164. package/docs/hi/cli/list.md +38 -1
  165. package/docs/hi/cli/list_projects.md +130 -0
  166. package/docs/hi/intlayer_CMS.md +20 -0
  167. package/docs/hi/intlayer_with_next-i18next.md +0 -1
  168. package/docs/hi/intlayer_with_nextjs_14.md +28 -0
  169. package/docs/hi/intlayer_with_nextjs_15.md +28 -0
  170. package/docs/hi/intlayer_with_nextjs_16.md +28 -0
  171. package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1151 -0
  172. package/docs/hi/plugins/sync-json.md +6 -2
  173. package/docs/id/cli/ci.md +137 -0
  174. package/docs/id/cli/index.md +7 -1
  175. package/docs/id/cli/list.md +38 -1
  176. package/docs/id/cli/list_projects.md +128 -0
  177. package/docs/id/intlayer_CMS.md +20 -0
  178. package/docs/id/intlayer_with_next-i18next.md +0 -1
  179. package/docs/id/intlayer_with_nextjs_14.md +28 -0
  180. package/docs/id/intlayer_with_nextjs_15.md +28 -0
  181. package/docs/id/intlayer_with_nextjs_16.md +28 -0
  182. package/docs/id/intlayer_with_nextjs_no_locale_path.md +1154 -0
  183. package/docs/id/plugins/sync-json.md +6 -2
  184. package/docs/it/cli/ci.md +137 -0
  185. package/docs/it/cli/index.md +7 -1
  186. package/docs/it/cli/list.md +39 -2
  187. package/docs/it/cli/list_projects.md +130 -0
  188. package/docs/it/intlayer_CMS.md +20 -0
  189. package/docs/it/intlayer_with_next-i18next.md +0 -1
  190. package/docs/it/intlayer_with_nextjs_14.md +28 -0
  191. package/docs/it/intlayer_with_nextjs_15.md +28 -0
  192. package/docs/it/intlayer_with_nextjs_16.md +28 -0
  193. package/docs/it/intlayer_with_nextjs_no_locale_path.md +1148 -0
  194. package/docs/it/plugins/sync-json.md +6 -2
  195. package/docs/ja/cli/ci.md +137 -0
  196. package/docs/ja/cli/index.md +7 -1
  197. package/docs/ja/cli/list.md +38 -1
  198. package/docs/ja/cli/list_projects.md +136 -0
  199. package/docs/ja/intlayer_CMS.md +20 -0
  200. package/docs/ja/intlayer_with_next-i18next.md +0 -1
  201. package/docs/ja/intlayer_with_nextjs_14.md +28 -0
  202. package/docs/ja/intlayer_with_nextjs_15.md +28 -0
  203. package/docs/ja/intlayer_with_nextjs_16.md +28 -0
  204. package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1222 -0
  205. package/docs/ja/plugins/sync-json.md +6 -2
  206. package/docs/ko/cli/ci.md +137 -0
  207. package/docs/ko/cli/index.md +7 -1
  208. package/docs/ko/cli/list.md +38 -1
  209. package/docs/ko/cli/list_projects.md +128 -0
  210. package/docs/ko/intlayer_CMS.md +20 -0
  211. package/docs/ko/intlayer_with_next-i18next.md +0 -1
  212. package/docs/ko/intlayer_with_nextjs_14.md +28 -0
  213. package/docs/ko/intlayer_with_nextjs_15.md +28 -0
  214. package/docs/ko/intlayer_with_nextjs_16.md +28 -0
  215. package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1205 -0
  216. package/docs/ko/plugins/sync-json.md +6 -2
  217. package/docs/pl/cli/ci.md +137 -0
  218. package/docs/pl/cli/index.md +7 -1
  219. package/docs/pl/cli/list.md +39 -2
  220. package/docs/pl/cli/list_projects.md +130 -0
  221. package/docs/pl/intlayer_CMS.md +20 -0
  222. package/docs/pl/intlayer_with_next-i18next.md +0 -1
  223. package/docs/pl/intlayer_with_nextjs_14.md +28 -0
  224. package/docs/pl/intlayer_with_nextjs_15.md +28 -0
  225. package/docs/pl/intlayer_with_nextjs_16.md +28 -0
  226. package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1149 -0
  227. package/docs/pl/plugins/sync-json.md +6 -2
  228. package/docs/pt/cli/ci.md +137 -0
  229. package/docs/pt/cli/index.md +7 -1
  230. package/docs/pt/cli/list.md +39 -2
  231. package/docs/pt/cli/list_projects.md +134 -0
  232. package/docs/pt/intlayer_CMS.md +20 -0
  233. package/docs/pt/intlayer_with_next-i18next.md +0 -1
  234. package/docs/pt/intlayer_with_nextjs_14.md +28 -0
  235. package/docs/pt/intlayer_with_nextjs_15.md +28 -0
  236. package/docs/pt/intlayer_with_nextjs_16.md +28 -0
  237. package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1152 -0
  238. package/docs/pt/plugins/sync-json.md +6 -2
  239. package/docs/ru/cli/ci.md +137 -0
  240. package/docs/ru/cli/index.md +7 -1
  241. package/docs/ru/cli/list.md +39 -2
  242. package/docs/ru/cli/list_projects.md +130 -0
  243. package/docs/ru/intlayer_CMS.md +20 -0
  244. package/docs/ru/intlayer_with_next-i18next.md +0 -1
  245. package/docs/ru/intlayer_with_nextjs_14.md +28 -0
  246. package/docs/ru/intlayer_with_nextjs_15.md +28 -0
  247. package/docs/ru/intlayer_with_nextjs_16.md +28 -0
  248. package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1204 -0
  249. package/docs/ru/plugins/sync-json.md +6 -2
  250. package/docs/tr/cli/ci.md +137 -0
  251. package/docs/tr/cli/index.md +7 -1
  252. package/docs/tr/cli/list.md +39 -2
  253. package/docs/tr/cli/list_projects.md +134 -0
  254. package/docs/tr/intlayer_CMS.md +20 -0
  255. package/docs/tr/intlayer_with_next-i18next.md +0 -1
  256. package/docs/tr/intlayer_with_nextjs_14.md +28 -0
  257. package/docs/tr/intlayer_with_nextjs_15.md +28 -0
  258. package/docs/tr/intlayer_with_nextjs_16.md +28 -0
  259. package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1159 -0
  260. package/docs/tr/plugins/sync-json.md +6 -2
  261. package/docs/uk/compiler.md +133 -0
  262. package/docs/uk/component_i18n.md +194 -0
  263. package/docs/uk/intlayer_with_nextjs_14.md +1646 -0
  264. package/docs/uk/intlayer_with_nextjs_15.md +1910 -0
  265. package/docs/uk/intlayer_with_nextjs_16.md +1763 -0
  266. package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1159 -0
  267. package/docs/uk/intlayer_with_react_native+expo.md +715 -0
  268. package/docs/uk/packages/intlayer/getConfiguration.md +145 -0
  269. package/docs/uk/vs_code_extension.md +133 -0
  270. package/docs/vi/cli/ci.md +137 -0
  271. package/docs/vi/cli/index.md +7 -1
  272. package/docs/vi/cli/list.md +38 -1
  273. package/docs/vi/cli/list_projects.md +130 -0
  274. package/docs/vi/intlayer_CMS.md +20 -0
  275. package/docs/vi/intlayer_with_next-i18next.md +0 -1
  276. package/docs/vi/intlayer_with_nextjs_14.md +28 -0
  277. package/docs/vi/intlayer_with_nextjs_15.md +28 -0
  278. package/docs/vi/intlayer_with_nextjs_16.md +28 -0
  279. package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1151 -0
  280. package/docs/vi/plugins/sync-json.md +6 -2
  281. package/docs/zh/cli/ci.md +137 -0
  282. package/docs/zh/cli/index.md +7 -1
  283. package/docs/zh/cli/list.md +38 -1
  284. package/docs/zh/cli/list_projects.md +130 -0
  285. package/docs/zh/intlayer_CMS.md +20 -0
  286. package/docs/zh/intlayer_with_next-i18next.md +0 -1
  287. package/docs/zh/intlayer_with_nextjs_14.md +28 -0
  288. package/docs/zh/intlayer_with_nextjs_15.md +28 -0
  289. package/docs/zh/intlayer_with_nextjs_16.md +28 -0
  290. package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1206 -0
  291. package/docs/zh/plugins/sync-json.md +9 -5
  292. package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -1
  293. package/frequent_questions/de/SSR_Next_no_[locale].md +1 -1
  294. package/frequent_questions/en/SSR_Next_no_[locale].md +1 -1
  295. package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -1
  296. package/frequent_questions/es/SSR_Next_no_[locale].md +1 -1
  297. package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -1
  298. package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -1
  299. package/frequent_questions/id/SSR_Next_no_[locale].md +1 -1
  300. package/frequent_questions/it/SSR_Next_no_[locale].md +1 -1
  301. package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -1
  302. package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -1
  303. package/frequent_questions/pl/SSR_Next_no_[locale].md +1 -1
  304. package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -1
  305. package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -1
  306. package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -1
  307. package/frequent_questions/vi/SSR_Next_no_[locale].md +1 -1
  308. package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -1
  309. package/package.json +6 -6
  310. package/src/generated/blog.entry.ts +29 -0
  311. package/src/generated/docs.entry.ts +157 -0
  312. package/src/generated/frequentQuestions.entry.ts +15 -0
  313. package/src/generated/legal.entry.ts +2 -0
@@ -102,7 +102,6 @@ const config: IntlayerConfig = {
102
102
  },
103
103
  plugins: [
104
104
  syncJSON({
105
- format: "i18next",
106
105
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
107
106
  }),
108
107
  ],
@@ -122,48 +121,6 @@ export default config;
122
121
 
123
122
  Чтобы узнать больше подробностей о плагине `syncJSON`, пожалуйста, обратитесь к [документации плагина syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/plugins/sync-json.md).
124
123
 
125
- ### (Необязательно) Шаг 3: Реализация перевода JSON по компонентам
126
-
127
- По умолчанию Intlayer загружает, объединяет и синхронизирует как JSON, так и файлы деклараций контента. Подробнее смотрите в [документации по декларации контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md). Но если вы предпочитаете, используя плагин Intlayer, вы также можете реализовать управление локализованным JSON по компонентам в любом месте вашей кодовой базы.
128
-
129
- Для этого вы можете использовать плагин `loadJSON`.
130
-
131
- ```ts fileName="intlayer.config.ts"
132
- import { Locales, type IntlayerConfig } from "intlayer";
133
- import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
134
-
135
- const config: IntlayerConfig = {
136
- internationalization: {
137
- locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
138
- defaultLocale: Locales.ENGLISH,
139
- },
140
-
141
- // Синхронизируйте ваши текущие JSON-файлы с словарями Intlayer
142
- plugins: [
143
- /**
144
- * Загрузит все JSON-файлы в папке src, соответствующие шаблону {key}.i18n.json
145
- */
146
- loadJSON({
147
- source: ({ key }) => `./src/**/${key}.i18n.json`,
148
- locale: Locales.ENGLISH,
149
- priority: 1, // Обеспечивает приоритет этих JSON-файлов над файлами в `./locales/en/${key}.json`
150
- }),
151
- /**
152
- * Загрузит и запишет результат и переводы обратно в JSON-файлы в директории locales
153
- */
154
- syncJSON({
155
- format: "i18next",
156
- source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
157
- priority: 0,
158
- }),
159
- ],
160
- };
161
-
162
- export default config;
163
- ```
164
-
165
- Это загрузит все JSON-файлы в каталоге `src`, которые соответствуют шаблону `{key}.i18n.json`, и загрузит их как словари Intlayer.
166
-
167
124
  ## Конфигурация Git
168
125
 
169
126
  Рекомендуется игнорировать автоматически сгенерированные файлы Intlayer:
@@ -120,48 +120,6 @@ export default config;
120
120
 
121
121
  Чтобы узнать больше подробностей о плагине `syncJSON`, пожалуйста, обратитесь к [документации плагина syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/plugins/sync-json.md).
122
122
 
123
- ### (Необязательно) Шаг 3: Реализация переводов JSON по компонентам
124
-
125
- По умолчанию Intlayer загрузит, объединит и синхронизирует как JSON, так и файлы деклараций контента. Подробнее смотрите в [документации по декларации контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md). Но если вы предпочитаете, используя плагин Intlayer, вы также можете реализовать управление локализованным JSON по компонентам в любом месте вашей кодовой базы.
126
-
127
- Для этого вы можете использовать плагин `loadJSON`.
128
-
129
- ```ts fileName="intlayer.config.ts"
130
- import { Locales, type IntlayerConfig } from "intlayer";
131
- import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
132
-
133
- const config: IntlayerConfig = {
134
- internationalization: {
135
- locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
136
- defaultLocale: Locales.ENGLISH,
137
- },
138
-
139
- // Синхронизируйте ваши текущие JSON-файлы с словарями Intlayer
140
- plugins: [
141
- /**
142
- * Загрузит все JSON-файлы в папке src, соответствующие шаблону {key}.i18n.json
143
- */
144
- loadJSON({
145
- source: ({ key }) => `./src/**/${key}.i18n.json`,
146
- locale: Locales.ENGLISH,
147
- priority: 1, // Обеспечивает приоритет этих JSON-файлов над файлами в `./locales/en/${key}.json`
148
- }),
149
- /**
150
- * Загрузит и запишет результат и переводы обратно в JSON-файлы в директории locales
151
- */
152
- syncJSON({
153
- format: "icu",
154
- source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
155
- priority: 0,
156
- }),
157
- ],
158
- };
159
-
160
- export default config;
161
- ```
162
-
163
- Это загрузит все JSON-файлы в каталоге `src`, которые соответствуют шаблону `{key}.i18n.json`, и загрузит их как словари Intlayer.
164
-
165
123
  ## Конфигурация Git
166
124
 
167
125
  Рекомендуется игнорировать автоматически сгенерированные файлы Intlayer:
@@ -122,52 +122,6 @@ export default config;
122
122
 
123
123
  Чтобы узнать больше подробностей о плагине `syncJSON`, пожалуйста, обратитесь к [документации плагина syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/plugins/sync-json.md).
124
124
 
125
- ---
126
-
127
- ### (Необязательно) Шаг 3: Реализация переводов JSON по компонентам
128
-
129
- По умолчанию Intlayer загружает, объединяет и синхронизирует как JSON, так и файлы деклараций контента. Подробнее смотрите в [документации по декларации контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md). Но если вы предпочитаете, используя плагин Intlayer, вы также можете реализовать управление локализованным JSON по компонентам в любом месте вашего кода.
130
-
131
- Для этого вы можете использовать плагин `loadJSON`.
132
-
133
- ```ts fileName="intlayer.config.ts"
134
- import { Locales, type IntlayerConfig } from "intlayer";
135
- import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
136
-
137
- const config: IntlayerConfig = {
138
- internationalization: {
139
- locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
140
- defaultLocale: Locales.ENGLISH,
141
- },
142
-
143
- // Синхронизируйте ваши текущие JSON-файлы с словарями Intlayer
144
- plugins: [
145
- /**
146
- * Загрузит все JSON-файлы в src, которые соответствуют шаблону {key}.i18n.json
147
- */
148
- loadJSON({
149
- source: ({ key }) => `./src/**/${key}.i18n.json`,
150
- locale: Locales.ENGLISH,
151
- priority: 1, // Обеспечивает приоритет этих JSON-файлов над файлами в `./locales/en/${key}.json`
152
- }),
153
- /**
154
- * Загрузит, а также запишет результат и переводы обратно в JSON-файлы в директории locales
155
- */
156
- syncJSON({
157
- format: "vue-i18n",
158
- source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
159
- priority: 0,
160
- }),
161
- ],
162
- };
163
-
164
- export default config;
165
- ```
166
-
167
- Это загрузит все JSON-файлы в каталоге `src`, которые соответствуют шаблону `{key}.i18n.json`, и загрузит их как словари Intlayer.
168
-
169
- ---
170
-
171
125
  ## Конфигурация Git
172
126
 
173
127
  Исключите сгенерированные файлы из системы контроля версий:
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
104
104
  },
105
105
  plugins: [
106
106
  syncJSON({
107
- format: "i18next",
108
107
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
109
108
  }),
110
109
  ],
@@ -154,7 +153,6 @@ const config: IntlayerConfig = {
154
153
  * locales dizinindeki JSON dosyalarını yükler ve çıktı ile çevirileri geri yazar
155
154
  */
156
155
  syncJSON({
157
- format: "i18next",
158
156
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
159
157
  priority: 0,
160
158
  }),
@@ -175,7 +175,6 @@ const config: IntlayerConfig = {
175
175
  * Yerel dizindeki JSON dosyalarına çıktıyı ve çevirileri geri yazacak ve yükleyecek
176
176
  */
177
177
  syncJSON({
178
- format: "i18next",
179
178
  source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
180
179
  priority: 0,
181
180
  }),
@@ -102,7 +102,6 @@ const config: IntlayerConfig = {
102
102
  },
103
103
  plugins: [
104
104
  syncJSON({
105
- format: "i18next",
106
105
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
107
106
  }),
108
107
  ],
@@ -152,7 +151,6 @@ const config: IntlayerConfig = {
152
151
  * locales dizinindeki JSON dosyalarını yükler ve çıktı ile çevirileri geri yazar
153
152
  */
154
153
  syncJSON({
155
- format: "i18next",
156
154
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
157
155
  priority: 0,
158
156
  }),
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
104
104
  },
105
105
  plugins: [
106
106
  syncJSON({
107
- format: "i18next",
108
107
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
109
108
  }),
110
109
  ],
@@ -154,7 +153,6 @@ const config: IntlayerConfig = {
154
153
  * Sẽ tải, và ghi đầu ra cùng các bản dịch trở lại các tệp JSON trong thư mục locales
155
154
  */
156
155
  syncJSON({
157
- format: "i18next",
158
156
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
159
157
  priority: 0,
160
158
  }),
@@ -112,7 +112,6 @@ const config: IntlayerConfig = {
112
112
  },
113
113
  plugins: [
114
114
  syncJSON({
115
- format: "i18next",
116
115
  source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
117
116
  }),
118
117
  ],
@@ -164,7 +163,6 @@ const config: IntlayerConfig = {
164
163
  * Sẽ tải và ghi lại đầu ra cùng các bản dịch trở lại các file JSON trong thư mục locales
165
164
  */
166
165
  syncJSON({
167
- format: "i18next",
168
166
  source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
169
167
  priority: 0,
170
168
  }),
@@ -102,7 +102,6 @@ const config: IntlayerConfig = {
102
102
  },
103
103
  plugins: [
104
104
  syncJSON({
105
- format: "i18next",
106
105
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
107
106
  }),
108
107
  ],
@@ -152,7 +151,6 @@ const config: IntlayerConfig = {
152
151
  * Sẽ tải và ghi đầu ra cùng các bản dịch trở lại các tệp JSON trong thư mục locales
153
152
  */
154
153
  syncJSON({
155
- format: "i18next",
156
154
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
157
155
  priority: 0,
158
156
  }),
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
104
104
  },
105
105
  plugins: [
106
106
  syncJSON({
107
- format: "i18next",
108
107
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
109
108
  }),
110
109
  ],
@@ -154,7 +153,6 @@ const config: IntlayerConfig = {
154
153
  * 将加载并将输出和翻译写回到 locales 目录中的 JSON 文件
155
154
  */
156
155
  syncJSON({
157
- format: "i18next",
158
156
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
159
157
  priority: 0,
160
158
  }),
@@ -112,7 +112,6 @@ const config: IntlayerConfig = {
112
112
  },
113
113
  plugins: [
114
114
  syncJSON({
115
- format: "i18next",
116
115
  source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
117
116
  }),
118
117
  ],
@@ -164,7 +163,6 @@ const config: IntlayerConfig = {
164
163
  * 将输出和翻译写回到 locales 目录中的 JSON 文件
165
164
  */
166
165
  syncJSON({
167
- format: "i18next",
168
166
  source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
169
167
  priority: 0,
170
168
  }),
@@ -102,7 +102,6 @@ const config: IntlayerConfig = {
102
102
  },
103
103
  plugins: [
104
104
  syncJSON({
105
- format: "i18next",
106
105
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
107
106
  }),
108
107
  ],
@@ -152,7 +151,6 @@ const config: IntlayerConfig = {
152
151
  * 将加载并将输出和翻译写回到 locales 目录中的 JSON 文件
153
152
  */
154
153
  syncJSON({
155
- format: "i18next",
156
154
  source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
157
155
  priority: 0,
158
156
  }),
@@ -122,52 +122,6 @@ export default config;
122
122
 
123
123
  要查看更多关于 `syncJSON` 插件的详细信息,请参阅 [syncJSON 插件文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/plugins/sync-json.md)。
124
124
 
125
- ---
126
-
127
- ### (可选)步骤3:实现按组件的 JSON 翻译
128
-
129
- 默认情况下,Intlayer 会加载、合并并同步 JSON 和内容声明文件。更多详情请参阅 [内容声明文档](https://github.com/aymericzip/intlayer/blob/main/docs/docs/zh/dictionary/content_file.md)。但如果你愿意,也可以使用 Intlayer 插件,在代码库中的任意位置实现按组件管理本地化的 JSON。
130
-
131
- 为此,你可以使用 `loadJSON` 插件。
132
-
133
- ```ts fileName="intlayer.config.ts"
134
- import { Locales, type IntlayerConfig } from "intlayer";
135
- import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
136
-
137
- const config: IntlayerConfig = {
138
- internationalization: {
139
- locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
140
- defaultLocale: Locales.ENGLISH,
141
- },
142
-
143
- // 保持您当前的 JSON 文件与 Intlayer 词典同步
144
- plugins: [
145
- /**
146
- * 将加载 src 目录中所有匹配模式 {key}.i18n.json 的 JSON 文件
147
- */
148
- loadJSON({
149
- source: ({ key }) => `./src/**/${key}.i18n.json`,
150
- locale: Locales.ENGLISH,
151
- priority: 1, // 确保这些 JSON 文件优先于 `./locales/en/${key}.json` 中的文件
152
- }),
153
- /**
154
- * 将加载并将输出和翻译写回到 locales 目录中的 JSON 文件
155
- */
156
- syncJSON({
157
- format: "vue-i18n",
158
- source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
159
- priority: 0,
160
- }),
161
- ],
162
- };
163
-
164
- export default config;
165
- ```
166
-
167
- 这将加载 `src` 目录中所有匹配 `{key}.i18n.json` 模式的 JSON 文件,并将它们作为 Intlayer 字典加载。
168
-
169
- ---
170
-
171
125
  ## Git 配置
172
126
 
173
127
  将生成的文件排除在版本控制之外:
@@ -41,7 +41,8 @@ const blogEntry = {
41
41
  tr: readLocale("compiler_vs_declarative_i18n.md", "tr"),
42
42
  pl: readLocale("compiler_vs_declarative_i18n.md", "pl"),
43
43
  id: readLocale("compiler_vs_declarative_i18n.md", "id"),
44
- vi: readLocale("compiler_vs_declarative_i18n.md", "vi")
44
+ vi: readLocale("compiler_vs_declarative_i18n.md", "vi"),
45
+ uk: readLocale("compiler_vs_declarative_i18n.md", "uk")
45
46
  },
46
47
  "./blog/en/i18n_using_next-i18next.md": {
47
48
  en: readLocale("i18n_using_next-i18next.md", "en"),
@@ -60,7 +61,8 @@ const blogEntry = {
60
61
  tr: readLocale("i18n_using_next-i18next.md", "tr"),
61
62
  pl: readLocale("i18n_using_next-i18next.md", "pl"),
62
63
  id: readLocale("i18n_using_next-i18next.md", "id"),
63
- vi: readLocale("i18n_using_next-i18next.md", "vi")
64
+ vi: readLocale("i18n_using_next-i18next.md", "vi"),
65
+ uk: readLocale("i18n_using_next-i18next.md", "uk")
64
66
  },
65
67
  "./blog/en/i18n_using_next-intl.md": {
66
68
  en: readLocale("i18n_using_next-intl.md", "en"),
@@ -79,7 +81,8 @@ const blogEntry = {
79
81
  tr: readLocale("i18n_using_next-intl.md", "tr"),
80
82
  pl: readLocale("i18n_using_next-intl.md", "pl"),
81
83
  id: readLocale("i18n_using_next-intl.md", "id"),
82
- vi: readLocale("i18n_using_next-intl.md", "vi")
84
+ vi: readLocale("i18n_using_next-intl.md", "vi"),
85
+ uk: readLocale("i18n_using_next-intl.md", "uk")
83
86
  },
84
87
  "./blog/en/index.md": {
85
88
  en: readLocale("index.md", "en"),
@@ -98,7 +101,8 @@ const blogEntry = {
98
101
  tr: readLocale("index.md", "tr"),
99
102
  pl: readLocale("index.md", "pl"),
100
103
  id: readLocale("index.md", "id"),
101
- vi: readLocale("index.md", "vi")
104
+ vi: readLocale("index.md", "vi"),
105
+ uk: readLocale("index.md", "uk")
102
106
  },
103
107
  "./blog/en/internationalization_and_SEO.md": {
104
108
  en: readLocale("internationalization_and_SEO.md", "en"),
@@ -117,7 +121,8 @@ const blogEntry = {
117
121
  tr: readLocale("internationalization_and_SEO.md", "tr"),
118
122
  pl: readLocale("internationalization_and_SEO.md", "pl"),
119
123
  id: readLocale("internationalization_and_SEO.md", "id"),
120
- vi: readLocale("internationalization_and_SEO.md", "vi")
124
+ vi: readLocale("internationalization_and_SEO.md", "vi"),
125
+ uk: readLocale("internationalization_and_SEO.md", "uk")
121
126
  },
122
127
  "./blog/en/intlayer_with_i18next.md": {
123
128
  en: readLocale("intlayer_with_i18next.md", "en"),
@@ -136,7 +141,8 @@ const blogEntry = {
136
141
  tr: readLocale("intlayer_with_i18next.md", "tr"),
137
142
  pl: readLocale("intlayer_with_i18next.md", "pl"),
138
143
  id: readLocale("intlayer_with_i18next.md", "id"),
139
- vi: readLocale("intlayer_with_i18next.md", "vi")
144
+ vi: readLocale("intlayer_with_i18next.md", "vi"),
145
+ uk: readLocale("intlayer_with_i18next.md", "uk")
140
146
  },
141
147
  "./blog/en/intlayer_with_next-i18next.md": {
142
148
  en: readLocale("intlayer_with_next-i18next.md", "en"),
@@ -155,7 +161,8 @@ const blogEntry = {
155
161
  tr: readLocale("intlayer_with_next-i18next.md", "tr"),
156
162
  pl: readLocale("intlayer_with_next-i18next.md", "pl"),
157
163
  id: readLocale("intlayer_with_next-i18next.md", "id"),
158
- vi: readLocale("intlayer_with_next-i18next.md", "vi")
164
+ vi: readLocale("intlayer_with_next-i18next.md", "vi"),
165
+ uk: readLocale("intlayer_with_next-i18next.md", "uk")
159
166
  },
160
167
  "./blog/en/intlayer_with_next-intl.md": {
161
168
  en: readLocale("intlayer_with_next-intl.md", "en"),
@@ -174,7 +181,8 @@ const blogEntry = {
174
181
  tr: readLocale("intlayer_with_next-intl.md", "tr"),
175
182
  pl: readLocale("intlayer_with_next-intl.md", "pl"),
176
183
  id: readLocale("intlayer_with_next-intl.md", "id"),
177
- vi: readLocale("intlayer_with_next-intl.md", "vi")
184
+ vi: readLocale("intlayer_with_next-intl.md", "vi"),
185
+ uk: readLocale("intlayer_with_next-intl.md", "uk")
178
186
  },
179
187
  "./blog/en/intlayer_with_react-i18next.md": {
180
188
  en: readLocale("intlayer_with_react-i18next.md", "en"),
@@ -193,7 +201,8 @@ const blogEntry = {
193
201
  tr: readLocale("intlayer_with_react-i18next.md", "tr"),
194
202
  pl: readLocale("intlayer_with_react-i18next.md", "pl"),
195
203
  id: readLocale("intlayer_with_react-i18next.md", "id"),
196
- vi: readLocale("intlayer_with_react-i18next.md", "vi")
204
+ vi: readLocale("intlayer_with_react-i18next.md", "vi"),
205
+ uk: readLocale("intlayer_with_react-i18next.md", "uk")
197
206
  },
198
207
  "./blog/en/intlayer_with_react-intl.md": {
199
208
  en: readLocale("intlayer_with_react-intl.md", "en"),
@@ -212,7 +221,8 @@ const blogEntry = {
212
221
  tr: readLocale("intlayer_with_react-intl.md", "tr"),
213
222
  pl: readLocale("intlayer_with_react-intl.md", "pl"),
214
223
  id: readLocale("intlayer_with_react-intl.md", "id"),
215
- vi: readLocale("intlayer_with_react-intl.md", "vi")
224
+ vi: readLocale("intlayer_with_react-intl.md", "vi"),
225
+ uk: readLocale("intlayer_with_react-intl.md", "uk")
216
226
  },
217
227
  "./blog/en/intlayer_with_vue-i18n.md": {
218
228
  en: readLocale("intlayer_with_vue-i18n.md", "en"),
@@ -231,7 +241,8 @@ const blogEntry = {
231
241
  tr: readLocale("intlayer_with_vue-i18n.md", "tr"),
232
242
  pl: readLocale("intlayer_with_vue-i18n.md", "pl"),
233
243
  id: readLocale("intlayer_with_vue-i18n.md", "id"),
234
- vi: readLocale("intlayer_with_vue-i18n.md", "vi")
244
+ vi: readLocale("intlayer_with_vue-i18n.md", "vi"),
245
+ uk: readLocale("intlayer_with_vue-i18n.md", "uk")
235
246
  },
236
247
  "./blog/en/l10n_platform_alternative/Lokalise.md": {
237
248
  en: readLocale("l10n_platform_alternative/Lokalise.md", "en"),
@@ -250,7 +261,8 @@ const blogEntry = {
250
261
  tr: readLocale("l10n_platform_alternative/Lokalise.md", "tr"),
251
262
  pl: readLocale("l10n_platform_alternative/Lokalise.md", "pl"),
252
263
  id: readLocale("l10n_platform_alternative/Lokalise.md", "id"),
253
- vi: readLocale("l10n_platform_alternative/Lokalise.md", "vi")
264
+ vi: readLocale("l10n_platform_alternative/Lokalise.md", "vi"),
265
+ uk: readLocale("l10n_platform_alternative/Lokalise.md", "uk")
254
266
  },
255
267
  "./blog/en/l10n_platform_alternative/crowdin.md": {
256
268
  en: readLocale("l10n_platform_alternative/crowdin.md", "en"),
@@ -269,7 +281,8 @@ const blogEntry = {
269
281
  tr: readLocale("l10n_platform_alternative/crowdin.md", "tr"),
270
282
  pl: readLocale("l10n_platform_alternative/crowdin.md", "pl"),
271
283
  id: readLocale("l10n_platform_alternative/crowdin.md", "id"),
272
- vi: readLocale("l10n_platform_alternative/crowdin.md", "vi")
284
+ vi: readLocale("l10n_platform_alternative/crowdin.md", "vi"),
285
+ uk: readLocale("l10n_platform_alternative/crowdin.md", "uk")
273
286
  },
274
287
  "./blog/en/l10n_platform_alternative/phrase.md": {
275
288
  en: readLocale("l10n_platform_alternative/phrase.md", "en"),
@@ -288,7 +301,8 @@ const blogEntry = {
288
301
  tr: readLocale("l10n_platform_alternative/phrase.md", "tr"),
289
302
  pl: readLocale("l10n_platform_alternative/phrase.md", "pl"),
290
303
  id: readLocale("l10n_platform_alternative/phrase.md", "id"),
291
- vi: readLocale("l10n_platform_alternative/phrase.md", "vi")
304
+ vi: readLocale("l10n_platform_alternative/phrase.md", "vi"),
305
+ uk: readLocale("l10n_platform_alternative/phrase.md", "uk")
292
306
  },
293
307
  "./blog/en/list_i18n_technologies/CMS/drupal.md": {
294
308
  en: readLocale("list_i18n_technologies/CMS/drupal.md", "en"),
@@ -307,7 +321,8 @@ const blogEntry = {
307
321
  tr: readLocale("list_i18n_technologies/CMS/drupal.md", "tr"),
308
322
  pl: readLocale("list_i18n_technologies/CMS/drupal.md", "pl"),
309
323
  id: readLocale("list_i18n_technologies/CMS/drupal.md", "id"),
310
- vi: readLocale("list_i18n_technologies/CMS/drupal.md", "vi")
324
+ vi: readLocale("list_i18n_technologies/CMS/drupal.md", "vi"),
325
+ uk: readLocale("list_i18n_technologies/CMS/drupal.md", "uk")
311
326
  },
312
327
  "./blog/en/list_i18n_technologies/CMS/wix.md": {
313
328
  en: readLocale("list_i18n_technologies/CMS/wix.md", "en"),
@@ -326,7 +341,8 @@ const blogEntry = {
326
341
  tr: readLocale("list_i18n_technologies/CMS/wix.md", "tr"),
327
342
  pl: readLocale("list_i18n_technologies/CMS/wix.md", "pl"),
328
343
  id: readLocale("list_i18n_technologies/CMS/wix.md", "id"),
329
- vi: readLocale("list_i18n_technologies/CMS/wix.md", "vi")
344
+ vi: readLocale("list_i18n_technologies/CMS/wix.md", "vi"),
345
+ uk: readLocale("list_i18n_technologies/CMS/wix.md", "uk")
330
346
  },
331
347
  "./blog/en/list_i18n_technologies/CMS/wordpress.md": {
332
348
  en: readLocale("list_i18n_technologies/CMS/wordpress.md", "en"),
@@ -345,7 +361,8 @@ const blogEntry = {
345
361
  tr: readLocale("list_i18n_technologies/CMS/wordpress.md", "tr"),
346
362
  pl: readLocale("list_i18n_technologies/CMS/wordpress.md", "pl"),
347
363
  id: readLocale("list_i18n_technologies/CMS/wordpress.md", "id"),
348
- vi: readLocale("list_i18n_technologies/CMS/wordpress.md", "vi")
364
+ vi: readLocale("list_i18n_technologies/CMS/wordpress.md", "vi"),
365
+ uk: readLocale("list_i18n_technologies/CMS/wordpress.md", "uk")
349
366
  },
350
367
  "./blog/en/list_i18n_technologies/frameworks/angular.md": {
351
368
  en: readLocale("list_i18n_technologies/frameworks/angular.md", "en"),
@@ -364,7 +381,8 @@ const blogEntry = {
364
381
  tr: readLocale("list_i18n_technologies/frameworks/angular.md", "tr"),
365
382
  pl: readLocale("list_i18n_technologies/frameworks/angular.md", "pl"),
366
383
  id: readLocale("list_i18n_technologies/frameworks/angular.md", "id"),
367
- vi: readLocale("list_i18n_technologies/frameworks/angular.md", "vi")
384
+ vi: readLocale("list_i18n_technologies/frameworks/angular.md", "vi"),
385
+ uk: readLocale("list_i18n_technologies/frameworks/angular.md", "uk")
368
386
  },
369
387
  "./blog/en/list_i18n_technologies/frameworks/flutter.md": {
370
388
  en: readLocale("list_i18n_technologies/frameworks/flutter.md", "en"),
@@ -383,7 +401,8 @@ const blogEntry = {
383
401
  tr: readLocale("list_i18n_technologies/frameworks/flutter.md", "tr"),
384
402
  pl: readLocale("list_i18n_technologies/frameworks/flutter.md", "pl"),
385
403
  id: readLocale("list_i18n_technologies/frameworks/flutter.md", "id"),
386
- vi: readLocale("list_i18n_technologies/frameworks/flutter.md", "vi")
404
+ vi: readLocale("list_i18n_technologies/frameworks/flutter.md", "vi"),
405
+ uk: readLocale("list_i18n_technologies/frameworks/flutter.md", "uk")
387
406
  },
388
407
  "./blog/en/list_i18n_technologies/frameworks/react-native.md": {
389
408
  en: readLocale("list_i18n_technologies/frameworks/react-native.md", "en"),
@@ -402,7 +421,8 @@ const blogEntry = {
402
421
  tr: readLocale("list_i18n_technologies/frameworks/react-native.md", "tr"),
403
422
  pl: readLocale("list_i18n_technologies/frameworks/react-native.md", "pl"),
404
423
  id: readLocale("list_i18n_technologies/frameworks/react-native.md", "id"),
405
- vi: readLocale("list_i18n_technologies/frameworks/react-native.md", "vi")
424
+ vi: readLocale("list_i18n_technologies/frameworks/react-native.md", "vi"),
425
+ uk: readLocale("list_i18n_technologies/frameworks/react-native.md", "uk")
406
426
  },
407
427
  "./blog/en/list_i18n_technologies/frameworks/react.md": {
408
428
  en: readLocale("list_i18n_technologies/frameworks/react.md", "en"),
@@ -421,7 +441,8 @@ const blogEntry = {
421
441
  tr: readLocale("list_i18n_technologies/frameworks/react.md", "tr"),
422
442
  pl: readLocale("list_i18n_technologies/frameworks/react.md", "pl"),
423
443
  id: readLocale("list_i18n_technologies/frameworks/react.md", "id"),
424
- vi: readLocale("list_i18n_technologies/frameworks/react.md", "vi")
444
+ vi: readLocale("list_i18n_technologies/frameworks/react.md", "vi"),
445
+ uk: readLocale("list_i18n_technologies/frameworks/react.md", "uk")
425
446
  },
426
447
  "./blog/en/list_i18n_technologies/frameworks/svelte.md": {
427
448
  en: readLocale("list_i18n_technologies/frameworks/svelte.md", "en"),
@@ -440,7 +461,8 @@ const blogEntry = {
440
461
  tr: readLocale("list_i18n_technologies/frameworks/svelte.md", "tr"),
441
462
  pl: readLocale("list_i18n_technologies/frameworks/svelte.md", "pl"),
442
463
  id: readLocale("list_i18n_technologies/frameworks/svelte.md", "id"),
443
- vi: readLocale("list_i18n_technologies/frameworks/svelte.md", "vi")
464
+ vi: readLocale("list_i18n_technologies/frameworks/svelte.md", "vi"),
465
+ uk: readLocale("list_i18n_technologies/frameworks/svelte.md", "uk")
444
466
  },
445
467
  "./blog/en/list_i18n_technologies/frameworks/vue.md": {
446
468
  en: readLocale("list_i18n_technologies/frameworks/vue.md", "en"),
@@ -459,7 +481,8 @@ const blogEntry = {
459
481
  tr: readLocale("list_i18n_technologies/frameworks/vue.md", "tr"),
460
482
  pl: readLocale("list_i18n_technologies/frameworks/vue.md", "pl"),
461
483
  id: readLocale("list_i18n_technologies/frameworks/vue.md", "id"),
462
- vi: readLocale("list_i18n_technologies/frameworks/vue.md", "vi")
484
+ vi: readLocale("list_i18n_technologies/frameworks/vue.md", "vi"),
485
+ uk: readLocale("list_i18n_technologies/frameworks/vue.md", "uk")
463
486
  },
464
487
  "./blog/en/next-i18next_vs_next-intl_vs_intlayer.md": {
465
488
  en: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "en"),
@@ -478,7 +501,8 @@ const blogEntry = {
478
501
  tr: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "tr"),
479
502
  pl: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "pl"),
480
503
  id: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "id"),
481
- vi: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "vi")
504
+ vi: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "vi"),
505
+ uk: readLocale("next-i18next_vs_next-intl_vs_intlayer.md", "uk")
482
506
  },
483
507
  "./blog/en/nextjs-multilingual-seo-comparison.md": {
484
508
  en: readLocale("nextjs-multilingual-seo-comparison.md", "en"),
@@ -497,7 +521,8 @@ const blogEntry = {
497
521
  tr: readLocale("nextjs-multilingual-seo-comparison.md", "tr"),
498
522
  pl: readLocale("nextjs-multilingual-seo-comparison.md", "pl"),
499
523
  id: readLocale("nextjs-multilingual-seo-comparison.md", "id"),
500
- vi: readLocale("nextjs-multilingual-seo-comparison.md", "vi")
524
+ vi: readLocale("nextjs-multilingual-seo-comparison.md", "vi"),
525
+ uk: readLocale("nextjs-multilingual-seo-comparison.md", "uk")
501
526
  },
502
527
  "./blog/en/rag_powered_documentation_assistant.md": {
503
528
  en: readLocale("rag_powered_documentation_assistant.md", "en"),
@@ -516,7 +541,8 @@ const blogEntry = {
516
541
  tr: readLocale("rag_powered_documentation_assistant.md", "tr"),
517
542
  pl: readLocale("rag_powered_documentation_assistant.md", "pl"),
518
543
  id: readLocale("rag_powered_documentation_assistant.md", "id"),
519
- vi: readLocale("rag_powered_documentation_assistant.md", "vi")
544
+ vi: readLocale("rag_powered_documentation_assistant.md", "vi"),
545
+ uk: readLocale("rag_powered_documentation_assistant.md", "uk")
520
546
  },
521
547
  "./blog/en/react-i18next_vs_react-intl_vs_intlayer.md": {
522
548
  en: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "en"),
@@ -535,7 +561,8 @@ const blogEntry = {
535
561
  tr: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "tr"),
536
562
  pl: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "pl"),
537
563
  id: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "id"),
538
- vi: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "vi")
564
+ vi: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "vi"),
565
+ uk: readLocale("react-i18next_vs_react-intl_vs_intlayer.md", "uk")
539
566
  },
540
567
  "./blog/en/vue-i18n_vs_intlayer.md": {
541
568
  en: readLocale("vue-i18n_vs_intlayer.md", "en"),
@@ -554,7 +581,8 @@ const blogEntry = {
554
581
  tr: readLocale("vue-i18n_vs_intlayer.md", "tr"),
555
582
  pl: readLocale("vue-i18n_vs_intlayer.md", "pl"),
556
583
  id: readLocale("vue-i18n_vs_intlayer.md", "id"),
557
- vi: readLocale("vue-i18n_vs_intlayer.md", "vi")
584
+ vi: readLocale("vue-i18n_vs_intlayer.md", "vi"),
585
+ uk: readLocale("vue-i18n_vs_intlayer.md", "uk")
558
586
  },
559
587
  "./blog/en/what_is_internationalization.md": {
560
588
  en: readLocale("what_is_internationalization.md", "en"),
@@ -573,7 +601,8 @@ const blogEntry = {
573
601
  tr: readLocale("what_is_internationalization.md", "tr"),
574
602
  pl: readLocale("what_is_internationalization.md", "pl"),
575
603
  id: readLocale("what_is_internationalization.md", "id"),
576
- vi: readLocale("what_is_internationalization.md", "vi")
604
+ vi: readLocale("what_is_internationalization.md", "vi"),
605
+ uk: readLocale("what_is_internationalization.md", "uk")
577
606
  }
578
607
  };
579
608