@intlayer/docs 7.5.0-canary.1 → 7.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +19 -19
  2. package/blog/ar/intlayer_with_i18next.md +1 -1
  3. package/blog/ar/intlayer_with_next-i18next.md +1 -1
  4. package/blog/ar/intlayer_with_next-intl.md +1 -1
  5. package/blog/ar/intlayer_with_react-i18next.md +1 -1
  6. package/blog/ar/intlayer_with_react-intl.md +1 -1
  7. package/blog/ar/intlayer_with_vue-i18n.md +1 -1
  8. package/blog/ar/l10n_platform_alternative/Lokalise.md +80 -0
  9. package/blog/ar/l10n_platform_alternative/crowdin.md +86 -0
  10. package/blog/ar/l10n_platform_alternative/phrase.md +82 -0
  11. package/blog/de/intlayer_with_i18next.md +1 -1
  12. package/blog/de/intlayer_with_next-i18next.md +1 -1
  13. package/blog/de/intlayer_with_next-intl.md +1 -1
  14. package/blog/de/intlayer_with_react-i18next.md +1 -1
  15. package/blog/de/intlayer_with_react-intl.md +1 -1
  16. package/blog/de/intlayer_with_vue-i18n.md +1 -1
  17. package/blog/de/l10n_platform_alternative/Lokalise.md +84 -0
  18. package/blog/de/l10n_platform_alternative/crowdin.md +80 -0
  19. package/blog/de/l10n_platform_alternative/phrase.md +82 -0
  20. package/blog/en/intlayer_with_i18next.md +1 -1
  21. package/blog/en/intlayer_with_next-i18next.md +1 -1
  22. package/blog/en/intlayer_with_next-intl.md +1 -1
  23. package/blog/en/intlayer_with_react-i18next.md +1 -1
  24. package/blog/en/intlayer_with_react-intl.md +1 -1
  25. package/blog/en/intlayer_with_vue-i18n.md +1 -1
  26. package/blog/en/l10n_platform_alternative/Lokalise.md +80 -0
  27. package/blog/en/l10n_platform_alternative/crowdin.md +80 -0
  28. package/blog/en/l10n_platform_alternative/phrase.md +78 -0
  29. package/blog/en-GB/intlayer_with_i18next.md +1 -1
  30. package/blog/en-GB/intlayer_with_next-i18next.md +1 -1
  31. package/blog/en-GB/intlayer_with_next-intl.md +1 -1
  32. package/blog/en-GB/intlayer_with_react-i18next.md +1 -1
  33. package/blog/en-GB/intlayer_with_react-intl.md +1 -1
  34. package/blog/en-GB/intlayer_with_vue-i18n.md +1 -1
  35. package/blog/en-GB/l10n_platform_alternative/Lokalise.md +80 -0
  36. package/blog/en-GB/l10n_platform_alternative/crowdin.md +80 -0
  37. package/blog/en-GB/l10n_platform_alternative/phrase.md +78 -0
  38. package/blog/es/intlayer_with_i18next.md +1 -1
  39. package/blog/es/intlayer_with_next-i18next.md +1 -1
  40. package/blog/es/intlayer_with_next-intl.md +1 -1
  41. package/blog/es/intlayer_with_react-i18next.md +1 -1
  42. package/blog/es/intlayer_with_react-intl.md +1 -1
  43. package/blog/es/intlayer_with_vue-i18n.md +1 -1
  44. package/blog/es/l10n_platform_alternative/Lokalise.md +80 -0
  45. package/blog/es/l10n_platform_alternative/crowdin.md +86 -0
  46. package/blog/es/l10n_platform_alternative/phrase.md +84 -0
  47. package/blog/fr/intlayer_with_i18next.md +1 -1
  48. package/blog/fr/intlayer_with_next-i18next.md +1 -1
  49. package/blog/fr/intlayer_with_next-intl.md +1 -1
  50. package/blog/fr/intlayer_with_react-i18next.md +1 -1
  51. package/blog/fr/intlayer_with_react-intl.md +1 -1
  52. package/blog/fr/intlayer_with_vue-i18n.md +1 -1
  53. package/blog/fr/l10n_platform_alternative/Lokalise.md +84 -0
  54. package/blog/fr/l10n_platform_alternative/crowdin.md +86 -0
  55. package/blog/fr/l10n_platform_alternative/phrase.md +91 -0
  56. package/blog/hi/intlayer_with_i18next.md +1 -1
  57. package/blog/hi/intlayer_with_next-i18next.md +1 -1
  58. package/blog/hi/intlayer_with_next-intl.md +1 -1
  59. package/blog/hi/intlayer_with_react-i18next.md +1 -1
  60. package/blog/hi/intlayer_with_react-intl.md +1 -1
  61. package/blog/hi/intlayer_with_vue-i18n.md +1 -1
  62. package/blog/hi/l10n_platform_alternative/Lokalise.md +86 -0
  63. package/blog/hi/l10n_platform_alternative/crowdin.md +84 -0
  64. package/blog/hi/l10n_platform_alternative/phrase.md +78 -0
  65. package/blog/id/intlayer_with_i18next.md +1 -1
  66. package/blog/id/intlayer_with_next-i18next.md +1 -1
  67. package/blog/id/intlayer_with_next-intl.md +1 -1
  68. package/blog/id/intlayer_with_react-i18next.md +1 -1
  69. package/blog/id/intlayer_with_react-intl.md +1 -1
  70. package/blog/id/intlayer_with_vue-i18n.md +1 -1
  71. package/blog/id/l10n_platform_alternative/Lokalise.md +86 -0
  72. package/blog/id/l10n_platform_alternative/crowdin.md +84 -0
  73. package/blog/id/l10n_platform_alternative/phrase.md +89 -0
  74. package/blog/it/intlayer_with_i18next.md +1 -1
  75. package/blog/it/intlayer_with_next-i18next.md +1 -1
  76. package/blog/it/intlayer_with_next-intl.md +1 -1
  77. package/blog/it/intlayer_with_react-i18next.md +1 -1
  78. package/blog/it/intlayer_with_react-intl.md +1 -1
  79. package/blog/it/intlayer_with_vue-i18n.md +1 -1
  80. package/blog/it/l10n_platform_alternative/Lokalise.md +84 -0
  81. package/blog/it/l10n_platform_alternative/crowdin.md +86 -0
  82. package/blog/it/l10n_platform_alternative/phrase.md +82 -0
  83. package/blog/ja/intlayer_with_i18next.md +1 -1
  84. package/blog/ja/intlayer_with_next-i18next.md +1 -1
  85. package/blog/ja/intlayer_with_next-intl.md +1 -1
  86. package/blog/ja/intlayer_with_react-i18next.md +1 -1
  87. package/blog/ja/intlayer_with_react-intl.md +1 -1
  88. package/blog/ja/intlayer_with_vue-i18n.md +1 -1
  89. package/blog/ja/l10n_platform_alternative/Lokalise.md +80 -0
  90. package/blog/ja/l10n_platform_alternative/crowdin.md +80 -0
  91. package/blog/ja/l10n_platform_alternative/phrase.md +78 -0
  92. package/blog/ko/intlayer_with_i18next.md +1 -1
  93. package/blog/ko/intlayer_with_next-i18next.md +1 -1
  94. package/blog/ko/intlayer_with_next-intl.md +1 -1
  95. package/blog/ko/intlayer_with_react-i18next.md +1 -1
  96. package/blog/ko/intlayer_with_react-intl.md +1 -1
  97. package/blog/ko/intlayer_with_vue-i18n.md +1 -1
  98. package/blog/ko/l10n_platform_alternative/Lokalise.md +80 -0
  99. package/blog/ko/l10n_platform_alternative/crowdin.md +86 -0
  100. package/blog/ko/l10n_platform_alternative/phrase.md +78 -0
  101. package/blog/pl/intlayer_with_i18next.md +1 -1
  102. package/blog/pl/intlayer_with_next-i18next.md +1 -1
  103. package/blog/pl/intlayer_with_next-intl.md +1 -1
  104. package/blog/pl/intlayer_with_react-i18next.md +1 -1
  105. package/blog/pl/intlayer_with_react-intl.md +1 -1
  106. package/blog/pl/intlayer_with_vue-i18n.md +1 -1
  107. package/blog/pl/l10n_platform_alternative/Lokalise.md +84 -0
  108. package/blog/pl/l10n_platform_alternative/crowdin.md +80 -0
  109. package/blog/pl/l10n_platform_alternative/phrase.md +82 -0
  110. package/blog/pt/intlayer_with_i18next.md +1 -1
  111. package/blog/pt/intlayer_with_next-i18next.md +1 -1
  112. package/blog/pt/intlayer_with_next-intl.md +1 -1
  113. package/blog/pt/intlayer_with_react-i18next.md +1 -1
  114. package/blog/pt/intlayer_with_react-intl.md +1 -1
  115. package/blog/pt/intlayer_with_vue-i18n.md +1 -1
  116. package/blog/pt/l10n_platform_alternative/Lokalise.md +80 -0
  117. package/blog/pt/l10n_platform_alternative/crowdin.md +86 -0
  118. package/blog/pt/l10n_platform_alternative/phrase.md +78 -0
  119. package/blog/ru/intlayer_with_i18next.md +1 -1
  120. package/blog/ru/intlayer_with_next-i18next.md +1 -1
  121. package/blog/ru/intlayer_with_next-intl.md +1 -1
  122. package/blog/ru/intlayer_with_react-i18next.md +1 -1
  123. package/blog/ru/intlayer_with_react-intl.md +1 -1
  124. package/blog/ru/intlayer_with_vue-i18n.md +1 -1
  125. package/blog/ru/l10n_platform_alternative/Lokalise.md +80 -0
  126. package/blog/ru/l10n_platform_alternative/crowdin.md +86 -0
  127. package/blog/ru/l10n_platform_alternative/phrase.md +82 -0
  128. package/blog/tr/intlayer_with_i18next.md +1 -1
  129. package/blog/tr/intlayer_with_next-i18next.md +1 -1
  130. package/blog/tr/intlayer_with_next-intl.md +1 -1
  131. package/blog/tr/intlayer_with_react-i18next.md +1 -1
  132. package/blog/tr/intlayer_with_vue-i18n.md +1 -1
  133. package/blog/tr/l10n_platform_alternative/Lokalise.md +80 -0
  134. package/blog/tr/l10n_platform_alternative/crowdin.md +80 -0
  135. package/blog/tr/l10n_platform_alternative/phrase.md +89 -0
  136. package/blog/vi/intlayer_with_i18next.md +1 -1
  137. package/blog/vi/intlayer_with_next-i18next.md +1 -1
  138. package/blog/vi/intlayer_with_next-intl.md +1 -1
  139. package/blog/vi/intlayer_with_react-i18next.md +1 -1
  140. package/blog/vi/intlayer_with_react-intl.md +1 -1
  141. package/blog/vi/intlayer_with_vue-i18n.md +1 -1
  142. package/blog/vi/l10n_platform_alternative/Lokalise.md +87 -0
  143. package/blog/vi/l10n_platform_alternative/crowdin.md +80 -0
  144. package/blog/vi/l10n_platform_alternative/phrase.md +82 -0
  145. package/blog/zh/intlayer_with_i18next.md +1 -1
  146. package/blog/zh/intlayer_with_next-i18next.md +1 -1
  147. package/blog/zh/intlayer_with_next-intl.md +1 -1
  148. package/blog/zh/intlayer_with_react-i18next.md +1 -1
  149. package/blog/zh/intlayer_with_react-intl.md +1 -1
  150. package/blog/zh/intlayer_with_vue-i18n.md +1 -1
  151. package/blog/zh/l10n_platform_alternative/Lokalise.md +80 -0
  152. package/blog/zh/l10n_platform_alternative/crowdin.md +84 -0
  153. package/blog/zh/l10n_platform_alternative/phrase.md +84 -0
  154. package/dist/cjs/common.cjs +6 -6
  155. package/dist/cjs/common.cjs.map +1 -1
  156. package/dist/cjs/generated/blog.entry.cjs +61 -4
  157. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  158. package/dist/cjs/generated/docs.entry.cjs +4 -4
  159. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  160. package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -4
  161. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  162. package/dist/cjs/generated/legal.entry.cjs +4 -4
  163. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  164. package/dist/esm/generated/blog.entry.mjs +57 -0
  165. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  166. package/dist/types/generated/blog.entry.d.ts +3 -0
  167. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  168. package/docs/ar/dictionary/content_file.md +1 -1
  169. package/docs/ar/intlayer_CMS.md +1 -1
  170. package/docs/ar/intlayer_visual_editor.md +1 -1
  171. package/docs/ar/intlayer_with_nextjs_15.md +1 -1
  172. package/docs/ar/intlayer_with_nextjs_16.md +1 -1
  173. package/docs/ar/intlayer_with_nuxt.md +3 -3
  174. package/docs/ar/intlayer_with_react_router_v7.md +1 -1
  175. package/docs/ar/intlayer_with_react_router_v7_fs_routes.md +1 -1
  176. package/docs/ar/intlayer_with_tanstack.md +1 -1
  177. package/docs/ar/intlayer_with_vite+react.md +1 -1
  178. package/docs/ar/intlayer_with_vite+vue.md +1 -1
  179. package/docs/ar/packages/intlayer/getLocaleName.md +17 -1
  180. package/docs/ar/plugins/sync-json.md +1 -1
  181. package/docs/de/dictionary/content_file.md +1 -1
  182. package/docs/de/intlayer_CMS.md +1 -1
  183. package/docs/de/intlayer_visual_editor.md +1 -1
  184. package/docs/de/intlayer_with_nextjs_15.md +1 -1
  185. package/docs/de/intlayer_with_nextjs_16.md +1 -1
  186. package/docs/de/intlayer_with_nuxt.md +3 -3
  187. package/docs/de/intlayer_with_react_router_v7.md +1 -1
  188. package/docs/de/intlayer_with_react_router_v7_fs_routes.md +1 -1
  189. package/docs/de/intlayer_with_tanstack.md +1 -1
  190. package/docs/de/intlayer_with_vite+react.md +1 -1
  191. package/docs/de/intlayer_with_vite+vue.md +1 -1
  192. package/docs/de/packages/intlayer/getLocaleName.md +17 -1
  193. package/docs/de/plugins/sync-json.md +1 -1
  194. package/docs/en/dictionary/content_file.md +1 -1
  195. package/docs/en/intlayer_CMS.md +1 -1
  196. package/docs/en/intlayer_visual_editor.md +1 -1
  197. package/docs/en/intlayer_with_nextjs_15.md +1 -1
  198. package/docs/en/intlayer_with_nextjs_16.md +1 -1
  199. package/docs/en/intlayer_with_nuxt.md +3 -3
  200. package/docs/en/intlayer_with_react_router_v7.md +1 -1
  201. package/docs/en/intlayer_with_react_router_v7_fs_routes.md +1 -1
  202. package/docs/en/intlayer_with_tanstack.md +1 -1
  203. package/docs/en/intlayer_with_vite+preact.md +1 -2
  204. package/docs/en/intlayer_with_vite+react.md +1 -1
  205. package/docs/en/intlayer_with_vite+vue.md +1 -1
  206. package/docs/en/packages/intlayer/getLocaleName.md +17 -0
  207. package/docs/en/plugins/sync-json.md +1 -1
  208. package/docs/en-GB/dictionary/content_file.md +1 -1
  209. package/docs/en-GB/intlayer_CMS.md +1 -1
  210. package/docs/en-GB/intlayer_visual_editor.md +1 -1
  211. package/docs/en-GB/intlayer_with_nextjs_15.md +1 -1
  212. package/docs/en-GB/intlayer_with_nextjs_16.md +1 -1
  213. package/docs/en-GB/intlayer_with_nuxt.md +3 -3
  214. package/docs/en-GB/intlayer_with_react_router_v7.md +1 -1
  215. package/docs/en-GB/intlayer_with_react_router_v7_fs_routes.md +1 -1
  216. package/docs/en-GB/intlayer_with_tanstack.md +1 -1
  217. package/docs/en-GB/intlayer_with_vite+react.md +1 -1
  218. package/docs/en-GB/intlayer_with_vite+vue.md +1 -1
  219. package/docs/en-GB/packages/intlayer/getLocaleName.md +17 -1
  220. package/docs/en-GB/plugins/sync-json.md +1 -1
  221. package/docs/es/dictionary/content_file.md +1 -1
  222. package/docs/es/intlayer_CMS.md +1 -1
  223. package/docs/es/intlayer_visual_editor.md +1 -1
  224. package/docs/es/intlayer_with_nextjs_15.md +1 -1
  225. package/docs/es/intlayer_with_nextjs_16.md +1 -1
  226. package/docs/es/intlayer_with_nuxt.md +3 -3
  227. package/docs/es/intlayer_with_react_router_v7.md +1 -1
  228. package/docs/es/intlayer_with_react_router_v7_fs_routes.md +1 -1
  229. package/docs/es/intlayer_with_tanstack.md +1 -1
  230. package/docs/es/intlayer_with_vite+react.md +1 -1
  231. package/docs/es/intlayer_with_vite+vue.md +1 -1
  232. package/docs/es/packages/intlayer/getLocaleName.md +17 -1
  233. package/docs/es/plugins/sync-json.md +1 -1
  234. package/docs/fr/dictionary/content_file.md +1 -1
  235. package/docs/fr/intlayer_CMS.md +1 -1
  236. package/docs/fr/intlayer_visual_editor.md +1 -1
  237. package/docs/fr/intlayer_with_nextjs_15.md +1 -1
  238. package/docs/fr/intlayer_with_nextjs_16.md +1 -1
  239. package/docs/fr/intlayer_with_nuxt.md +3 -3
  240. package/docs/fr/intlayer_with_react_router_v7.md +1 -1
  241. package/docs/fr/intlayer_with_react_router_v7_fs_routes.md +1 -1
  242. package/docs/fr/intlayer_with_tanstack.md +1 -1
  243. package/docs/fr/intlayer_with_vite+react.md +1 -1
  244. package/docs/fr/intlayer_with_vite+vue.md +1 -1
  245. package/docs/fr/packages/intlayer/getLocaleName.md +17 -1
  246. package/docs/fr/plugins/sync-json.md +1 -1
  247. package/docs/hi/dictionary/content_file.md +1 -1
  248. package/docs/hi/intlayer_CMS.md +1 -1
  249. package/docs/hi/intlayer_visual_editor.md +1 -1
  250. package/docs/hi/intlayer_with_nextjs_15.md +1 -1
  251. package/docs/hi/intlayer_with_nextjs_16.md +1 -1
  252. package/docs/hi/intlayer_with_nuxt.md +3 -3
  253. package/docs/hi/intlayer_with_react_router_v7.md +1 -1
  254. package/docs/hi/intlayer_with_react_router_v7_fs_routes.md +1 -1
  255. package/docs/hi/intlayer_with_tanstack.md +1 -1
  256. package/docs/hi/intlayer_with_vite+react.md +1 -1
  257. package/docs/hi/intlayer_with_vite+vue.md +1 -1
  258. package/docs/hi/packages/intlayer/getLocaleName.md +17 -1
  259. package/docs/hi/plugins/sync-json.md +1 -1
  260. package/docs/id/dictionary/content_file.md +1 -1
  261. package/docs/id/intlayer_CMS.md +1 -1
  262. package/docs/id/intlayer_visual_editor.md +1 -1
  263. package/docs/id/intlayer_with_nextjs_15.md +1 -1
  264. package/docs/id/intlayer_with_nextjs_16.md +1 -1
  265. package/docs/id/intlayer_with_nuxt.md +3 -3
  266. package/docs/id/intlayer_with_react_router_v7.md +1 -1
  267. package/docs/id/intlayer_with_react_router_v7_fs_routes.md +1 -1
  268. package/docs/id/intlayer_with_tanstack.md +1 -1
  269. package/docs/id/intlayer_with_vite+preact.md +1 -2
  270. package/docs/id/intlayer_with_vite+react.md +1 -1
  271. package/docs/id/intlayer_with_vite+vue.md +1 -1
  272. package/docs/id/packages/intlayer/getLocaleName.md +17 -0
  273. package/docs/id/plugins/sync-json.md +1 -1
  274. package/docs/it/dictionary/content_file.md +1 -1
  275. package/docs/it/intlayer_CMS.md +1 -1
  276. package/docs/it/intlayer_visual_editor.md +1 -1
  277. package/docs/it/intlayer_with_nextjs_15.md +1 -1
  278. package/docs/it/intlayer_with_nextjs_16.md +1 -1
  279. package/docs/it/intlayer_with_nuxt.md +3 -3
  280. package/docs/it/intlayer_with_react_router_v7.md +1 -1
  281. package/docs/it/intlayer_with_react_router_v7_fs_routes.md +1 -1
  282. package/docs/it/intlayer_with_tanstack.md +1 -1
  283. package/docs/it/intlayer_with_vite+react.md +1 -1
  284. package/docs/it/intlayer_with_vite+vue.md +1 -1
  285. package/docs/it/packages/intlayer/getLocaleName.md +17 -1
  286. package/docs/it/plugins/sync-json.md +1 -1
  287. package/docs/ja/dictionary/content_file.md +1 -1
  288. package/docs/ja/intlayer_CMS.md +1 -1
  289. package/docs/ja/intlayer_visual_editor.md +1 -1
  290. package/docs/ja/intlayer_with_nextjs_15.md +1 -1
  291. package/docs/ja/intlayer_with_nextjs_16.md +1 -1
  292. package/docs/ja/intlayer_with_nuxt.md +3 -3
  293. package/docs/ja/intlayer_with_react_router_v7.md +1 -1
  294. package/docs/ja/intlayer_with_react_router_v7_fs_routes.md +1 -1
  295. package/docs/ja/intlayer_with_tanstack.md +1 -1
  296. package/docs/ja/intlayer_with_vite+react.md +1 -1
  297. package/docs/ja/intlayer_with_vite+vue.md +1 -1
  298. package/docs/ja/packages/intlayer/getLocaleName.md +17 -1
  299. package/docs/ja/plugins/sync-json.md +1 -1
  300. package/docs/ko/dictionary/content_file.md +1 -1
  301. package/docs/ko/intlayer_CMS.md +1 -1
  302. package/docs/ko/intlayer_visual_editor.md +1 -1
  303. package/docs/ko/intlayer_with_nextjs_15.md +1 -1
  304. package/docs/ko/intlayer_with_nextjs_16.md +1 -1
  305. package/docs/ko/intlayer_with_nuxt.md +3 -3
  306. package/docs/ko/intlayer_with_react_router_v7.md +1 -1
  307. package/docs/ko/intlayer_with_react_router_v7_fs_routes.md +1 -1
  308. package/docs/ko/intlayer_with_tanstack.md +1 -1
  309. package/docs/ko/intlayer_with_vite+react.md +1 -1
  310. package/docs/ko/intlayer_with_vite+vue.md +1 -1
  311. package/docs/ko/packages/intlayer/getLocaleName.md +17 -1
  312. package/docs/ko/plugins/sync-json.md +1 -1
  313. package/docs/pl/dictionary/content_file.md +1 -1
  314. package/docs/pl/intlayer_CMS.md +1 -1
  315. package/docs/pl/intlayer_visual_editor.md +1 -1
  316. package/docs/pl/intlayer_with_nextjs_15.md +1 -1
  317. package/docs/pl/intlayer_with_nextjs_16.md +1 -1
  318. package/docs/pl/intlayer_with_nuxt.md +3 -3
  319. package/docs/pl/intlayer_with_react_router_v7.md +1 -1
  320. package/docs/pl/intlayer_with_react_router_v7_fs_routes.md +2 -2
  321. package/docs/pl/intlayer_with_tanstack.md +1 -1
  322. package/docs/pl/intlayer_with_vite+preact.md +1 -2
  323. package/docs/pl/intlayer_with_vite+react.md +1 -1
  324. package/docs/pl/intlayer_with_vite+vue.md +1 -1
  325. package/docs/pl/packages/intlayer/getLocaleName.md +17 -0
  326. package/docs/pl/plugins/sync-json.md +1 -1
  327. package/docs/pt/dictionary/content_file.md +1 -1
  328. package/docs/pt/intlayer_CMS.md +1 -1
  329. package/docs/pt/intlayer_visual_editor.md +1 -1
  330. package/docs/pt/intlayer_with_nextjs_15.md +1 -1
  331. package/docs/pt/intlayer_with_nextjs_16.md +1 -1
  332. package/docs/pt/intlayer_with_nuxt.md +3 -3
  333. package/docs/pt/intlayer_with_react_router_v7.md +1 -1
  334. package/docs/pt/intlayer_with_react_router_v7_fs_routes.md +1 -1
  335. package/docs/pt/intlayer_with_tanstack.md +1 -1
  336. package/docs/pt/intlayer_with_vite+react.md +1 -1
  337. package/docs/pt/intlayer_with_vite+vue.md +1 -1
  338. package/docs/pt/packages/intlayer/getLocaleName.md +17 -1
  339. package/docs/pt/plugins/sync-json.md +1 -1
  340. package/docs/ru/dictionary/content_file.md +1 -1
  341. package/docs/ru/intlayer_CMS.md +1 -1
  342. package/docs/ru/intlayer_visual_editor.md +1 -1
  343. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  344. package/docs/ru/intlayer_with_nextjs_16.md +1 -1
  345. package/docs/ru/intlayer_with_nuxt.md +3 -3
  346. package/docs/ru/intlayer_with_react_router_v7.md +1 -1
  347. package/docs/ru/intlayer_with_react_router_v7_fs_routes.md +1 -1
  348. package/docs/ru/intlayer_with_tanstack.md +1 -1
  349. package/docs/ru/intlayer_with_vite+react.md +1 -1
  350. package/docs/ru/intlayer_with_vite+vue.md +1 -1
  351. package/docs/ru/packages/intlayer/getLocaleName.md +17 -1
  352. package/docs/ru/plugins/sync-json.md +1 -1
  353. package/docs/tr/dictionary/content_file.md +1 -1
  354. package/docs/tr/intlayer_CMS.md +1 -1
  355. package/docs/tr/intlayer_visual_editor.md +1 -1
  356. package/docs/tr/intlayer_with_nextjs_15.md +1 -1
  357. package/docs/tr/intlayer_with_nextjs_16.md +1 -1
  358. package/docs/tr/intlayer_with_nuxt.md +3 -3
  359. package/docs/tr/intlayer_with_react_router_v7.md +1 -1
  360. package/docs/tr/intlayer_with_react_router_v7_fs_routes.md +1 -1
  361. package/docs/tr/intlayer_with_tanstack.md +1 -1
  362. package/docs/tr/intlayer_with_vite+react.md +1 -1
  363. package/docs/tr/intlayer_with_vite+vue.md +1 -1
  364. package/docs/tr/packages/intlayer/getLocaleName.md +17 -0
  365. package/docs/tr/plugins/sync-json.md +1 -1
  366. package/docs/vi/dictionary/content_file.md +1 -1
  367. package/docs/vi/intlayer_CMS.md +1 -1
  368. package/docs/vi/intlayer_visual_editor.md +1 -1
  369. package/docs/vi/intlayer_with_nextjs_15.md +1 -1
  370. package/docs/vi/intlayer_with_nextjs_16.md +1 -1
  371. package/docs/vi/intlayer_with_nuxt.md +3 -3
  372. package/docs/vi/intlayer_with_react_router_v7.md +1 -1
  373. package/docs/vi/intlayer_with_react_router_v7_fs_routes.md +1 -1
  374. package/docs/vi/intlayer_with_tanstack.md +1 -1
  375. package/docs/vi/intlayer_with_vite+preact.md +1 -2
  376. package/docs/vi/intlayer_with_vite+react.md +1 -1
  377. package/docs/vi/intlayer_with_vite+vue.md +1 -1
  378. package/docs/vi/packages/intlayer/getLocaleName.md +17 -0
  379. package/docs/vi/plugins/sync-json.md +1 -1
  380. package/docs/zh/dictionary/content_file.md +1 -1
  381. package/docs/zh/intlayer_CMS.md +1 -1
  382. package/docs/zh/intlayer_visual_editor.md +1 -1
  383. package/docs/zh/intlayer_with_nextjs_15.md +1 -1
  384. package/docs/zh/intlayer_with_nextjs_16.md +1 -1
  385. package/docs/zh/intlayer_with_nuxt.md +3 -3
  386. package/docs/zh/intlayer_with_react_router_v7.md +1 -1
  387. package/docs/zh/intlayer_with_react_router_v7_fs_routes.md +1 -1
  388. package/docs/zh/intlayer_with_tanstack.md +1 -1
  389. package/docs/zh/intlayer_with_vite+react.md +1 -1
  390. package/docs/zh/intlayer_with_vite+vue.md +1 -1
  391. package/docs/zh/packages/intlayer/getLocaleName.md +17 -1
  392. package/docs/zh/plugins/sync-json.md +1 -1
  393. package/package.json +8 -8
  394. package/src/generated/blog.entry.ts +57 -0
@@ -0,0 +1,78 @@
1
+ ---
2
+ createdAt: 2025-12-18
3
+ updatedAt: 2025-11-06
4
+ title: "Phrase के लिए L10n प्लेटफ़ॉर्म विकल्प"
5
+ description: "अपनी आवश्यकताओं के लिए Phrase का सर्वश्रेष्ठ L10n प्लेटफ़ॉर्म विकल्प खोजें"
6
+ keywords:
7
+ - L10n
8
+ - TMS
9
+ - Phrase
10
+ slugs:
11
+ - blog
12
+ - l10n-platform-alternative
13
+ - phrase
14
+ history:
15
+ - version: 7.5.0
16
+ date: 2025-12-18
17
+ changes: Initial version
18
+ ---
19
+
20
+ # Phrase (TMS) के लिए एक ओपन-सोर्स L10N विकल्प
21
+
22
+ ## सामग्री तालिका
23
+
24
+ <TOC/>
25
+
26
+ # अनुवाद प्रबंधन प्रणाली
27
+
28
+ A Translation Management System (TMS) एक सॉफ़्टवेयर प्लेटफ़ॉर्म है जो अनुवाद और लोकलाइज़ेशन (L10n) प्रक्रिया को स्वचालित और सुचारू बनाने के लिए डिज़ाइन किया गया है। पारंपरिक रूप से, एक TMS एक केंद्रीकृत हब के रूप में कार्य करता है जहाँ सामग्री अपलोड की जाती है, व्यवस्थित की जाती है, और मानव अनुवादकों को सौंप दी जाती है। यह वर्कफ़्लो का प्रबंधन करता है, translation memories को संग्रहीत करता है (ताकि उसी वाक्य का दोबारा अनुवाद न करना पड़े), और अनुवादित फ़ाइलों को डेवलपर्स या कंटेंट मैनेजरों को वापस पहुँचाने का कार्य संभालता है।
29
+
30
+ मूल रूप से, ऐतिहासिक रूप से एक TMS तकनीकी कोड (जहाँ strings होते हैं) और मानव भाषाविदों (जो संस्कृति को समझते हैं) के बीच का पुल रहा है।
31
+
32
+ # Phrase (पूर्व में PhraseApp)
33
+
34
+ Phrase एंटरप्राइज़ लोकलाइज़ेशन क्षेत्र में एक heavyweight है। मूलतः PhraseApp के नाम से जाना जाता था, यह विशेष रूप से Memsource के साथ अपने विलय के बाद काफी बढ़ा है। यह खुद को सॉफ़्टवेयर लोकलाइज़ेशन के लिए डिज़ाइन किए गए एक व्यापक Localization Suite के रूप में स्थापित करता है, जो मजबूत API क्षमताएँ और विस्तृत फ़ॉर्मैट समर्थन प्रदान करता है।
35
+
36
+ Phrase स्केल के लिए बनाया गया है। यह बड़ी एंटरप्राइज़ों के लिए पहली पसंद है जिन्हें जटिल वर्कफ़्लो, विशाल translation memories, और कई अलग-अलग टीमों में कड़े गुणवत्ता आश्वासन प्रक्रियाओं का प्रबंधन करना होता है। इसकी शक्ति "heavy duty" लोकलाइज़ेशन कार्यों को संभालने की क्षमता में निहित है, जो सॉफ़्टवेयर strings और दस्तावेज़ अनुवाद दोनों के लिए एक ऑल-इन-वन इकोसिस्टम प्रदान करता है।
37
+
38
+ # Intlayer
39
+
40
+ Intlayer मुख्य रूप से एक i18n समाधान के रूप में जाना जाता है, लेकिन यह एक headless CMS को भी एकीकृत करता है। Phrase के विपरीत, जो एक विशाल, बाहरी एंटरप्राइज़ सूट के रूप में कार्य करता है, Intlayer एक फुर्तिला, कोड-इंटीग्रेटेड लेयर की तरह काम करता है। यह पूरे स्टैक को नियंत्रित करता है—bundling layer से लेकर remote content delivery तक—जिसका नतीजा आधुनिक वेब एप्लिकेशनों के लिए एक अधिक सहज और अधिक कुशल कंटेंट फ्लो के रूप में निकलता है।
41
+
42
+ ## AI के आने के बाद paradigms क्यों बदल गए हैं?
43
+
44
+ Phrase पिछली दशक की समस्याओं को हल करने के लिए बनाया गया था: बड़े पैमाने पर मानव अनुवादकों की टीमों का प्रबंधन करना और विखंडित एंटरप्राइज़ विभागों में वर्कफ़्लो को मानकीकृत करना। यह workflow governance में उत्कृष्ट है।
45
+
46
+ हालाँकि, Large Language Models (LLMs) के आगमन ने लोकलाइज़ेशन के paradigms को मूल रूप से बदल दिया है। चुनौती अब यह नहीं रही कि "हम 50 अनुवादकों का प्रबंधन कैसे करें?" बल्कि यह है "AI-जनित सामग्री को प्रभावी ढंग से कैसे वैलिडेट करें?"
47
+
48
+ जहाँ Phrase ने AI सुविधाओं को एकीकृत किया है, वे अक्सर एक लेगेसी आर्किटेक्चर के ऊपर परतों के रूप में रखी जाती हैं, जिसे मानव-केंद्रित वर्कफ़्लो और सीट-आधारित लाइसेंसिंग के लिए डिज़ाइन किया गया था। आधुनिक युग में "TMS में push करना" और "TMS से pull करना" जैसा घर्षण अप्रचलित होता जा रहा है। डेवलपर्स अपेक्षा करते हैं कि कंटेंट कोड की तरह ही सहज और लचीला हो।
49
+
50
+ आज सबसे कुशल वर्कफ़्लो यह है कि पहले AI का उपयोग करके अपनी पेजों का अनुवाद करें और उन्हें ग्लोबली पोज़िशन करें। फिर, दूसरे चरण में, आप मानव कॉपीराइटर्स का उपयोग करते हैं ताकि विशिष्ट हाई-ट्रैफ़िक कंटेंट को ऑप्टिमाइज़ किया जा सके और जब प्रोडक्ट पहले से राजस्व जनरेट कर रहा हो तो कन्वर्ज़न बढ़ सके।
51
+
52
+ ## Intlayer, Phrase का एक अच्छा विकल्प क्यों है?
53
+
54
+ Intlayer एक ऐसा समाधान है जो AI युग में जन्मा है और विशेष रूप से आधुनिक JavaScript/TypeScript इकोसिस्टम के लिए डिज़ाइन किया गया है। यह Phrase के भारी एंटरप्राइज़ मॉडल को चुस्ती और पारदर्शिता के साथ चुनौती देता है।
55
+
56
+ 1. **Pricing Transparency:** Phrase अपनी Enterprise प्राइसिंग के लिए जाना जाता है, जो बढ़ती कंपनियों के लिए अस्पष्ट और महँगा हो सकता है। Intlayer आपको अपनी खुद की API कुंजियाँ लाने की अनुमति देता है (OpenAI, Anthropic, आदि), जिससे यह सुनिश्चित होता है कि आप प्लेटफ़ॉर्म सब्सक्रिप्शन पर मार्कअप के बजाय इंटेलिजेंस के लिए बाजार दरों का भुगतान करें।
57
+ 2. **Developer Experience (DX):** Phrase फ़ाइलों को सिंक करने के लिए CLI टूल्स और API कॉल्स पर काफी निर्भर करता है। Intlayer सीधे bundler और runtime में इंटीग्रेट होता है। इसका मतलब है कि आपकी definitions सख्ती से टाइप की होती हैं (TypeScript), और गायब कुंजियाँ compile time पर पकड़ी जाती हैं, न कि production में।
58
+ 3. **Speed to Market:** Intlayer TMS के "black box" को हटा देता है। आप फ़ाइलें भेजकर उनके वापस आने का इंतज़ार नहीं करते। आप अपनी CI pipeline या स्थानीय वातावरण में AI के ज़रिए तुरंत अनुवाद जनरेट करते हैं, जिससे development loop तंग और कुशल बनी रहती है।
59
+
60
+ # साइड-बाय-साइड तुलना
61
+
62
+ | फीचर | Phrase (Enterprise TMS) | Intlayer (AI-Native) |
63
+ | :---------------------- | :------------------------------------ | :--------------------------------------------- |
64
+ | **मुख्य दर्शन** | एंटरप्राइज़ गवर्नेंस और वर्कफ़्लो। | कंटेंट लॉजिक और AI जेनरेशन का प्रबंधन करता है। |
65
+ | **मूल्य निर्धारण मॉडल** | कस्टम Enterprise / सीट-आधारित (उच्च). | अपनी inference के लिए भुगतान करें (BYO Key). |
66
+ | **इंटीग्रेशन** | API / CLI का भारी उपयोग। | गहरा कोड इंटीग्रेशन (Declarative). |
67
+ | **अपडेट्स** | सिंक आवश्यक / पाइपलाइन पर निर्भर। | कोडबेस या लाइव ऐप के साथ तात्कालिक सिंक। |
68
+ | **फ़ाइल फ़ॉर्मैट्स** | बेहद व्यापक (लेगेसी और दस्तावेज़)। | आधुनिक वेब (JSON, JS, TS). |
69
+ | **टेस्टिंग** | QA चेक्स / LQA चरण। | CI / CLI / A/B टेस्टिंग। |
70
+ | **होस्टिंग** | SaaS (कठोर रूप से एंटरप्राइज़)। | ओपन सोर्स और Self-Hostable (Docker). |
71
+
72
+ Intlayer एक पूर्ण, ऑल-इन-वन i18n समाधान प्रदान करता है जो आपके कंटेंट का गहरा एकीकरण संभव बनाता है। आपका रिमोट कंटेंट सीधे आपके कोडबेस या आपके लाइव एप्लिकेशन के साथ सिंक्रोनाइज़ किया जा सकता है। तुलना में, Phrase एक शक्तिशाली लेकिन जटिल बाहरी डिपेंडेंसी है जिसे प्रभावी रूप से ऑपरेट करने के लिए अक्सर समर्पित लोकलाइज़ेशन मैनेजरों की आवश्यकता होती है।
73
+
74
+ इसके अलावा, Intlayer को Feature Flag या A/B testing टूल के रूप में उपयोग किया जा सकता है, जिससे आप विभिन्न कंटेंट वेरिएंट्स को डायनेमिक रूप से टेस्ट कर सकते हैं। Phrase भाषाई सुसंगतता सुनिश्चित करने के लिए डिज़ाइन किया गया है, जबकि Intlayer डायनेमिक डेटा के माध्यम से conversion और user experience को ऑप्टिमाइज़ करने में मदद करता है।
75
+
76
+ यद्यपि Phrase जटिल, बहु-फ़ॉर्मेट एंटरप्राइज़ ज़रूरतों (उदा., एक साथ PDFs, सबटाइटल और सॉफ़्टवेयर का अनुवाद) के लिए अपरिहार्य है, Intlayer उन प्रोडक्ट टीमों के लिए श्रेष्ठ विकल्प है जो वेब एप्लिकेशन बना रही हैं और जो पूर्ण स्वामित्व, type safety, और एक आधुनिक, AI-driven workflow चाहती हैं बिना एंटरप्राइज़ ओवरहेड के।
77
+
78
+ अंत में, जो लोग डेटा संप्रभुता और नियंत्रण को प्राथमिकता देते हैं, उनके लिए Intlayer ओपन-सोर्स है और इसे self-host किया जा सकता है। Docker फाइलें रिपॉज़िटरी में सीधे उपलब्ध हैं, जो आपको अपनी localization infrastructure का पूर्ण स्वामित्व देती हैं — जो Phrase के बंद SaaS इकोसिस्टम में असंभव है।
@@ -31,7 +31,7 @@ history:
31
31
 
32
32
  # Cara mengotomatisasi terjemahan JSON i18next Anda menggunakan Intlayer
33
33
 
34
- <iframe title="Cara mengotomatisasi terjemahan JSON i18next Anda menggunakan Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
34
+ <iframe title="Cara mengotomatisasi terjemahan JSON i18next Anda menggunakan Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
35
35
 
36
36
  ## Apa itu Intlayer?
37
37
 
@@ -27,7 +27,7 @@ history:
27
27
 
28
28
  # Internasionalisasi Next.js (i18n) dengan next-i18next dan Intlayer
29
29
 
30
- <iframe title="Cara mengotomatisasi terjemahan JSON next-i18next Anda menggunakan Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
+ <iframe title="Cara mengotomatisasi terjemahan JSON next-i18next Anda menggunakan Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
31
31
 
32
32
  ## Daftar Isi
33
33
 
@@ -26,7 +26,7 @@ history:
26
26
 
27
27
  # Cara mengotomatisasi terjemahan JSON next-intl Anda menggunakan Intlayer
28
28
 
29
- <iframe title="Cara mengotomatisasi terjemahan JSON next-intl Anda menggunakan Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
29
+ <iframe title="Cara mengotomatisasi terjemahan JSON next-intl Anda menggunakan Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
30
 
31
31
  ## Apa itu Intlayer?
32
32
 
@@ -29,7 +29,7 @@ history:
29
29
 
30
30
  # Cara mengotomatisasi terjemahan JSON react-i18next Anda menggunakan Intlayer
31
31
 
32
- <iframe title="Cara mengotomatisasi terjemahan JSON react-i18next Anda menggunakan Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
32
+ <iframe title="Cara mengotomatisasi terjemahan JSON react-i18next Anda menggunakan Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
33
33
 
34
34
  ## Apa itu Intlayer?
35
35
 
@@ -27,7 +27,7 @@ history:
27
27
 
28
28
  # Cara mengotomatisasi terjemahan JSON react-intl Anda menggunakan Intlayer
29
29
 
30
- <iframe title="Cara mengotomatisasi terjemahan JSON react-intl Anda menggunakan Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
+ <iframe title="Cara mengotomatisasi terjemahan JSON react-intl Anda menggunakan Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
31
31
 
32
32
  ## Daftar Isi
33
33
 
@@ -27,7 +27,7 @@ history:
27
27
 
28
28
  # Internasionalisasi Vue.js (i18n) dengan vue-i18n dan Intlayer
29
29
 
30
- <iframe title="Cara mengotomatisasi terjemahan JSON vue-i18n Anda menggunakan Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
+ <iframe title="Cara mengotomatisasi terjemahan JSON vue-i18n Anda menggunakan Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
31
31
 
32
32
  ## Daftar Isi
33
33
 
@@ -0,0 +1,86 @@
1
+ ---
2
+ createdAt: 2025-12-18
3
+ updatedAt: 2025-11-06
4
+ title: Alternatif Platform L10n Sumber Terbuka untuk Lokalise
5
+ description: Temukan alternatif platform L10n terbaik untuk menggantikan Lokalise sesuai kebutuhan Anda
6
+ keywords:
7
+ - L10n
8
+ - TMS
9
+ - Lokalise
10
+ slugs:
11
+ - blog
12
+ - l10n-platform-alternative
13
+ - lokalise
14
+ history:
15
+ - version: 7.5.0
16
+ date: 2025-12-18
17
+ changes: Initial version
18
+ ---
19
+
20
+ # Alternatif L10n Sumber Terbuka untuk Lokalise (TMS)
21
+
22
+ ## Daftar isi
23
+
24
+ <TOC/>
25
+
26
+ # Sistem Manajemen Terjemahan
27
+
28
+ # Sistem Manajemen Terjemahan
29
+
30
+ Sistem Manajemen Terjemahan (Translation Management System, TMS) adalah platform perangkat lunak yang dirancang untuk mengotomatisasi dan merampingkan proses terjemahan dan lokalisasi (L10n). Secara tradisional, sebuah TMS berfungsi sebagai hub terpusat di mana konten diunggah, diorganisir, dan ditugaskan kepada penerjemah manusia. Ia mengelola alur kerja, menyimpan translation memories (untuk menghindari menerjemahkan ulang kalimat yang sama dua kali), dan menangani pengiriman berkas terjemahan kembali kepada pengembang atau manajer konten.
31
+
32
+ Pada hakikatnya, TMS secara historis menjadi jembatan antara kode teknis (tempat string berada) dan ahli bahasa manusia (yang memahami budaya).
33
+
34
+ # Lokalise
35
+
36
+ # Lokalise
37
+
38
+ Lokalise adalah pemain penting dalam lanskap TMS modern. Didirikan pada 2017, layanan ini hadir untuk mengganggu pasar dengan fokus besar pada developer experience (DX) dan integrasi desain. Tidak seperti pesaing lama, Lokalise mengutamakan UI yang mulus, API yang kuat, dan integrasi dengan alat seperti Figma dan GitHub untuk mengurangi gesekan saat memindahkan berkas bolak-balik.
39
+
40
+ Kesuksesannya dibangun dari menjadi TMS yang "ramah pengembang", mengotomatisasi ekstraksi dan penyisipan string untuk membebaskan waktu engineering. Ia secara efektif menyelesaikan masalah _continuous localization_ bagi tim teknologi yang bergerak cepat yang ingin menyingkirkan email spreadsheet manual.
41
+
42
+ # Intlayer
43
+
44
+ # Intlayer
45
+
46
+ Intlayer dikenal terutama sebagai solusi i18n, tetapi juga mengintegrasikan headless CMS. Berbeda dengan Lokalise, yang berperan sebagian besar sebagai alat sinkronisasi eksternal untuk string Anda, Intlayer berada lebih dekat ke kode Anda. Ia mengontrol seluruh stack—dari bundling layer hingga penyampaian konten jarak jauh—menghasilkan alur konten yang lebih mulus dan efisien.
47
+
48
+ ## Mengapa paradigma berubah sejak hadirnya AI?
49
+
50
+ Lokalise menyempurnakan sisi "DevOps" dari lokalisasi—memindahkan string secara otomatis. Namun, hadirnya Large Language Models (LLMs) telah secara fundamental menggeser paradigma lokalisasi. Bottleneck-nya tidak lagi _memindahkan_ string; melainkan _menghasilkannya_.
51
+
52
+ Dengan LLM, biaya terjemahan telah merosot, dan kecepatannya meningkat secara eksponensial. Peran tim lokalisasi bergeser dari "mengelola penerjemah" menjadi "mengelola konteks dan peninjauan."
53
+
54
+ Walaupun Lokalise telah menambahkan fitur AI, pada dasarnya tetap merupakan platform yang dirancang untuk mengelola alur kerja manusia dan mengenakan biaya per seat atau per jumlah key. Dalam dunia yang mengutamakan AI, nilai terletak pada seberapa baik Anda dapat mengorkestrasi model AI Anda untuk menghasilkan konten yang peka konteks, bukan sekadar seberapa mudah Anda dapat menugaskan tugas ke agensi manusia.
55
+
56
+ Saat ini, alur kerja yang paling efisien adalah menerjemahkan dan memposisikan halaman Anda secara global dengan AI terlebih dahulu. Kemudian, pada fase kedua, Anda menggunakan copywriter manusia untuk mengoptimalkan konten tertentu yang memiliki lalu lintas tinggi guna meningkatkan konversi setelah produk mulai menghasilkan pendapatan.
57
+
58
+ ## Mengapa Intlayer merupakan alternatif yang baik untuk Lokalise?
59
+
60
+ Intlayer adalah solusi yang lahir di era AI. Ia dirancang dengan prinsip bahwa terjemahan mentah adalah komoditas, tetapi _konteks_ adalah raja.
61
+
62
+ Lokalise sering dikritik karena tingkatan harga yang curam, yang bisa menjadi sangat mahal saat sebuah startup berkembang. Intlayer mengadopsi pendekatan yang berbeda:
63
+
64
+ 1. **Efisiensi Biaya:** Anda tidak terikat pada model harga "per key" atau "per seat" yang menghukum pertumbuhan. Dengan Intlayer, Anda membayar untuk inference Anda sendiri (BYO Key), artinya biaya Anda meningkat sejalan dengan penggunaan aktual Anda, bukan margin platform.
65
+ 2. **Integrasi Alur Kerja:** Sementara Lokalise mengharuskan sinkronisasi berkas (bahkan jika otomatis), Intlayer memungkinkan definisi Declarative Content langsung di file komponen Anda (React, Next.js, dll.). Ini menjaga konteks tepat di samping UI, mengurangi kesalahan.
66
+ 3. **Manajemen Visual:** Intlayer menyediakan editor visual yang berinteraksi langsung dengan aplikasi yang sedang berjalan, memastikan bahwa suntingan dilakukan dalam konteks visual penuh—sesuatu yang sering terputus pada daftar berkas TMS tradisional.
67
+
68
+ # Perbandingan berdampingan
69
+
70
+ | Fitur | Lokalise (Modern TMS) | Intlayer (AI-Native) |
71
+ | :---------------- | :-------------------------------------------- | :------------------------------------------------------ |
72
+ | **Filosofi Inti** | Otomasi & L10n pada tahap desain. | Mengelola logika konten & generasi AI. |
73
+ | **Model Harga** | Per seat / MAU / jumlah key (Biaya tinggi). | Bayar untuk inference Anda sendiri (BYO Key). |
74
+ | **Integrasi** | Sinkronisasi berbasis API / plugin Figma. | Integrasi kode mendalam (Deklaratif). |
75
+ | **Pembaruan** | Delay sinkronisasi / pembuatan PR diperlukan. | Sinkronisasi instan dengan codebase atau aplikasi live. |
76
+ | **Format Berkas** | Agnostik (Mobile, Web, Dokumen). | Web Modern (JSON, JS, TS). |
77
+ | **Pengujian** | Alur kerja review. | CI / CLI / Pengujian A/B. |
78
+ | **Hosting** | SaaS (Sumber Tertutup). | Open Source & Dapat di-host sendiri (Docker). |
79
+
80
+ Intlayer menawarkan solusi i18n lengkap dan serba‑ada yang memungkinkan integrasi mendalam terhadap konten Anda. Konten remote Anda dapat disinkronkan langsung dengan codebase atau aplikasi live Anda. Sebagai perbandingan, Lokalise umumnya mengandalkan pembuatan Pull Requests untuk memperbarui konten di repo Anda, yang mempertahankan pemisahan antara "content state" dan "application state."
81
+
82
+ Selain itu, Intlayer dapat digunakan sebagai Feature Flag atau alat A/B testing, memungkinkan Anda menguji berbagai variasi konten secara dinamis. Sementara Lokalise berfokus pada memastikan kata‑kata tepat, Intlayer berfokus pada memastikan _user experience_ tepat melalui penyajian data dinamis.
83
+
84
+ Lokalise sangat bagus untuk aplikasi mobile (iOS/Android) dan alur kerja yang dipimpin desain. Namun, untuk aplikasi web modern yang menggunakan framework seperti Next.js atau React, penanganan native Intlayer terhadap `.js`, `.ts`, dan kamus JSON menawarkan pengalaman pengembang (DX) yang lebih baik dengan dukungan penuh TypeScript untuk konten—memastikan Anda tidak pernah mengirimkan kunci terjemahan yang hilang lagi.
85
+
86
+ Terakhir, bagi yang memprioritaskan kedaulatan data dan kontrol, Intlayer bersifat open-source dan dapat di-host sendiri. File Docker tersedia langsung di repository, memberi Anda kepemilikan penuh atas infrastruktur lokalisasi Anda—suatu kontras tajam dengan model SaaS tertutup Lokalise.
@@ -0,0 +1,84 @@
1
+ ---
2
+ createdAt: 2025-12-18
3
+ updatedAt: 2025-11-06
4
+ title: Alternatif Platform L10n
5
+ description: Temukan alternatif platform L10n terbaik untuk kebutuhan Anda
6
+ keywords:
7
+ - L10n
8
+ - TMS
9
+ - Crowdin
10
+ slugs:
11
+ - blog
12
+ - l10n-platform-alternative
13
+ - crowdin
14
+ history:
15
+ - version: 7.5.0
16
+ date: 2025-12-18
17
+ changes: Versi awal
18
+ ---
19
+
20
+ # Alternatif Open-Source L10N untuk Crowdin (TMS)
21
+
22
+ ## Daftar Isi
23
+
24
+ <TOC/>
25
+
26
+ # Sistem Manajemen Terjemahan
27
+
28
+ Sistem Manajemen Terjemahan (TMS) adalah platform perangkat lunak yang dirancang untuk mengotomatisasi dan menyederhanakan proses terjemahan dan lokalisasi (L10n). Secara tradisional, sebuah TMS berfungsi sebagai pusat di mana konten diunggah, diorganisir, dan ditugaskan kepada penerjemah manusia. Ia mengelola alur kerja, menyimpan memori terjemahan (untuk menghindari menerjemahkan ulang kalimat yang sama), dan menangani pengiriman berkas terjemahan kembali kepada pengembang atau manajer konten.
29
+
30
+ Intinya, secara historis TMS menjadi jembatan antara kode teknis (di mana string berada) dan ahli bahasa manusia (yang memahami konteks budaya).
31
+
32
+ Sistem Manajemen Terjemahan (TMS) adalah platform perangkat lunak yang dirancang untuk mengotomatisasi dan menyederhanakan proses terjemahan dan lokalisasi (L10n). Secara tradisional, TMS berperan sebagai pusat terpusat tempat konten diunggah, diorganisir, dan ditugaskan kepada penerjemah manusia. Sistem ini mengelola alur kerja, menyimpan translation memories (untuk menghindari menerjemahkan ulang kalimat yang sama dua kali), dan menangani pengiriman berkas terjemahan kembali ke pengembang atau pengelola konten.
33
+
34
+ Intinya, TMS secara historis menjadi jembatan antara kode teknis (tempat string berada) dan para linguists (yang memahami budaya).
35
+
36
+ # Crowdin
37
+
38
+ Crowdin adalah pemain veteran di bidang ini. Didirikan pada 2009, ia muncul pada masa ketika tantangan utama lokalisasi adalah konektivitas. Misinya jelas: menghubungkan copywriter, penerjemah, dan pemilik proyek satu sama lain secara efektif.
39
+
40
+ Selama lebih dari satu dekade, Crowdin telah menjadi standar industri untuk mengelola lokalisasi. Ia menyelesaikan masalah fragmentasi dengan memungkinkan tim mengunggah berkas `.po`, `.xml`, atau `.yaml` dan membuat penerjemah bekerja pada berkas-berkas tersebut melalui antarmuka cloud. Ia membangun reputasinya pada otomasi alur kerja yang solid, memungkinkan perusahaan berkembang dari satu bahasa menjadi sepuluh tanpa tenggelam dalam spreadsheet.
41
+
42
+ # Intlayer
43
+
44
+ Intlayer dikenal terutama sebagai solusi i18n, tetapi juga mengintegrasikan sebuah CMS. Berbeda dengan Crowdin, yang terbatas berfungsi sebagai wrapper di sekitar setup i18n Anda yang sudah ada, Intlayer mengendalikan seluruh stack — dari lapisan bundling hingga pengiriman konten jarak jauh — sehingga menghasilkan alur konten yang lebih mulus dan efisien.
45
+
46
+ ## Mengapa paradigma berubah sejak hadirnya AI?
47
+
48
+ Sementara Crowdin mengoptimalkan alur kerja manusia, munculnya Large Language Models (LLMs) telah secara fundamental menggeser paradigma lokalisasi. Peran copywriter bukan lagi membuat terjemahan dari awal, melainkan meninjau konten yang dihasilkan AI.
49
+
50
+ Kenapa? Karena AI 1.000x lebih murah dan secara praktis tak terbatas lebih cepat.
51
+
52
+ Namun, ada keterbatasan. Copywriting bukan hanya tentang terjemahan; ini tentang menyesuaikan pesan dengan budaya dan konteks yang berbeda. Kita tidak menjual iPhone kepada nenek Anda dengan cara yang sama seperti saat menjualnya kepada seorang eksekutif bisnis Tiongkok. Nada, idiom, dan penanda budaya harus berbeda.
53
+
54
+ Saat ini, alur kerja yang paling efisien adalah menerjemahkan dan memposisikan halaman Anda secara global dengan menggunakan AI terlebih dahulu. Kemudian, pada fase kedua, Anda menggunakan copywriter manusia untuk mengoptimalkan konten tertentu yang memiliki lalu lintas tinggi guna meningkatkan konversi setelah produk mulai menghasilkan pendapatan.
55
+
56
+ Meskipun pendapatan Crowdin—yang sebagian besar didorong oleh solusi legacy mereka yang telah terbukti—masih berkinerja baik, saya percaya sektor lokalisasi tradisional akan terdampak parah dalam jangka 5 hingga 10 tahun. Model pembayaran per kata atau per seat untuk alat manajemen semakin menjadi usang.
57
+
58
+ ## Mengapa Intlayer menjadi alternatif yang baik untuk Crowdin?
59
+
60
+ Intlayer adalah solusi yang lahir di era AI. Solusi ini dirancang dengan prinsip bahwa pada tahun 2026, terjemahan mentah tidak lagi memiliki nilai intrinsik. Terjemahan menjadi komoditas.
61
+
62
+ Oleh karena itu, Intlayer tidak memposisikan dirinya sekadar sebagai TMS, melainkan sebagai solusi **Content Management** yang mengintegrasikan secara mendalam editor visual dan logika internasionalisasi.
63
+
64
+ Dengan Intlayer, Anda menghasilkan terjemahan Anda dengan biaya inferensi Anda. Anda tidak terkunci pada model harga sebuah platform; Anda memilih penyedia (OpenAI, Anthropic, Mistral, dll.), Anda memilih modelnya, dan Anda menerjemahkan melalui CI (Continuous Integration), CLI, atau langsung melalui CMS terintegrasi. Ini menggeser nilai dari akses ke penerjemah ke pengelolaan konteks.
65
+
66
+ # Perbandingan berdampingan
67
+
68
+ | Fitur | Crowdin (Legacy TMS) | Intlayer (AI-Native) |
69
+ | :---------------- | :--------------------------------------------------------- | :------------------------------------------------------ |
70
+ | **Filosofi Inti** | Menghubungkan manusia dengan string. | Mengelola logika konten & generasi AI. |
71
+ | **Model Harga** | Per seat / tier hosted. | Bayar untuk inferensi Anda sendiri (BYO Key). |
72
+ | **Integrasi** | Pertukaran berbasis file (Upload/Download). | Integrasi kode mendalam (Deklaratif). |
73
+ | **Pembaruan** | Seringkali memerlukan rebuild CI/CD untuk menerapkan teks. | Sinkronisasi instan dengan codebase atau aplikasi live. |
74
+ | **Format File** | Beragam (.po, .xml, .yaml, dll.). | Web modern (JSON, JS, TS). |
75
+ | **Pengujian** | Terbatas. | CI / CLI. |
76
+ | **Hosting** | SaaS (kebanyakan). | Open Source & Bisa Di-host Sendiri (Docker). |
77
+
78
+ Intlayer menawarkan solusi i18n lengkap dan serba ada yang memungkinkan integrasi mendalam terhadap konten Anda. Konten remote Anda dapat disinkronkan langsung dengan codebase atau aplikasi live Anda. Sebagai perbandingan, Crowdin sering kali mengharuskan rebuild aplikasi Anda di pipeline CI/CD untuk memperbarui konten, yang menimbulkan gesekan antara tim penerjemah dan proses deployment.
79
+
80
+ Selain itu, Intlayer dapat digunakan sebagai Feature Flag atau alat A/B testing, memungkinkan Anda menguji variasi konten secara dinamis—sesuatu yang tidak didukung secara native oleh alat TMS standar seperti Crowdin.
81
+
82
+ Crowdin mendukung berbagai format file—termasuk tipe legacy seperti `.po`, `.xml`, dan `.yaml`, yang dapat bermanfaat untuk proyek dengan alur kerja yang telah mapan atau sistem yang lebih tua. Sebaliknya, Intlayer bekerja terutama dengan format modern yang berorientasi web seperti `.json`, `.js`, dan `.ts`. Ini berarti Intlayer mungkin tidak kompatibel dengan semua format file legacy, yang perlu dipertimbangkan oleh tim yang bermigrasi dari platform lama.
83
+
84
+ Akhirnya, bagi mereka yang memprioritaskan kedaulatan data dan kontrol, Intlayer bersifat open-source dan dapat di-host sendiri. File Docker tersedia langsung di repository, memberi Anda kepemilikan penuh atas infrastruktur lokalisasi Anda.
@@ -0,0 +1,89 @@
1
+ ---
2
+ createdAt: 2025-12-18
3
+ updatedAt: 2025-11-06
4
+ title: Alternatif Platform L10n untuk Phrase
5
+ description: Temukan alternatif platform L10n terbaik untuk kebutuhan Anda
6
+ keywords:
7
+ - L10n
8
+ - TMS
9
+ - Phrase
10
+ slugs:
11
+ - blog
12
+ - l10n-platform-alternative
13
+ - phrase
14
+ history:
15
+ - version: 7.5.0
16
+ date: 2025-12-18
17
+ changes: Initial version
18
+ ---
19
+
20
+ # Alternatif L10N Open-Source untuk Phrase (TMS)
21
+
22
+ ## Daftar isi
23
+
24
+ <TOC/>
25
+
26
+ # Sistem Manajemen Terjemahan
27
+
28
+ Sistem Manajemen Terjemahan
29
+
30
+ Sistem Manajemen Terjemahan (TMS) adalah platform perangkat lunak yang dirancang untuk mengotomatisasi dan menyederhanakan proses terjemahan dan lokalisasi (L10n). Secara tradisional, TMS berfungsi sebagai pusat terpadu di mana konten diunggah, diorganisir, dan ditugaskan kepada penerjemah manusia. Ia mengelola alur kerja, menyimpan memori terjemahan (untuk menghindari menerjemahkan kembali kalimat yang sama), dan menangani pengiriman berkas terjemahan kembali ke pengembang atau manajer konten.
31
+
32
+ Intinya, secara historis TMS adalah jembatan antara kode teknis (di mana string berada) dan ahli bahasa manusia (yang memahami konteks budaya).
33
+
34
+ # Phrase (sebelumnya PhraseApp)
35
+
36
+ Phrase adalah pemain besar dalam ranah lokalisasi perusahaan. Awalnya dikenal sebagai PhraseApp, ia telah berkembang pesat, terutama setelah merger dengan Memsource. Ia memposisikan dirinya sebagai Localization Suite yang komprehensif yang dirancang untuk lokalisasi perangkat lunak, menawarkan kapabilitas API yang kuat dan dukungan format yang luas.
37
+
38
+ Phrase dibangun untuk skala. Ini adalah pilihan utama bagi perusahaan besar yang perlu mengelola alur kerja yang kompleks, memori terjemahan yang sangat besar, dan proses penjaminan kualitas yang ketat di banyak tim berbeda. Kekuatan utamanya terletak pada kemampuannya untuk menangani tugas lokalisasi "heavy duty", menawarkan ekosistem all-in-one untuk baik string perangkat lunak maupun terjemahan dokumen.
39
+
40
+ # Intlayer
41
+
42
+ Intlayer dikenal terutama sebagai solusi i18n, tetapi juga mengintegrasikan headless CMS. Berbeda dengan Phrase, yang berfungsi sebagai suite enterprise besar dan eksternal, Intlayer berperan sebagai lapisan yang gesit dan terintegrasi dengan kode. Ia mengendalikan seluruh stack—dari lapisan bundling hingga pengiriman konten jarak jauh—menghasilkan aliran konten yang lebih lancar dan efisien untuk aplikasi web modern.
43
+
44
+ ## Mengapa paradigma berubah sejak munculnya AI?
45
+
46
+ Phrase dibangun untuk menyelesaikan masalah dekade sebelumnya: mengelola tim besar penerjemah manusia dan menstandarisasi alur kerja di berbagai departemen perusahaan yang terfragmentasi. Ia unggul dalam tata kelola alur kerja.
47
+
48
+ Namun, hadirnya Model Bahasa Besar (LLMs) telah menggeser paradigma lokalisasi secara fundamental. Tantangannya bukan lagi "bagaimana kita mengelola 50 penerjemah?" melainkan "bagaimana kita memvalidasi konten yang dihasilkan AI secara efisien?"
49
+
50
+ Walaupun Phrase telah mengintegrasikan fitur AI, fitur tersebut sering kali ditempatkan di atas arsitektur warisan yang dirancang untuk alur kerja berpusat pada manusia dan seat-based licensing. Di era modern, friksi "pushing to TMS" dan "pulling from TMS" menjadi usang. Pengembang mengharapkan konten mengalir semudah kode.
51
+
52
+ Saat ini, alur kerja yang paling efisien adalah menerjemahkan dan memposisikan halaman Anda secara global menggunakan AI terlebih dahulu. Kemudian, pada fase kedua, Anda menggunakan copywriter manusia untuk mengoptimalkan konten spesifik bertrafik tinggi guna meningkatkan konversi setelah produk mulai menghasilkan pendapatan.
53
+
54
+ ## Mengapa Intlayer merupakan alternatif yang baik untuk Phrase?
55
+
56
+ Intlayer adalah solusi yang lahir di era AI, dirancang khusus untuk ekosistem JavaScript/TypeScript modern. Ia menantang model enterprise berat dari Phrase dengan agilitas dan transparansi.
57
+
58
+ 1. **Transparansi Harga:** Phrase dikenal dengan harga Enterprise-nya, yang bisa tidak transparan dan mahal bagi perusahaan yang sedang berkembang. Intlayer memungkinkan Anda menggunakan kunci API Anda sendiri (OpenAI, Anthropic, dll.), memastikan Anda membayar tarif pasar untuk intelligence daripada markup pada langganan platform.
59
+ 2. **Pengalaman Pengembang (DX):** Phrase sangat bergantung pada alat CLI dan panggilan API untuk menyinkronkan file. Intlayer terintegrasi langsung ke bundler dan runtime. Ini berarti definisi Anda bertipe ketat (TypeScript), dan kunci yang hilang terdeteksi saat kompilasi, bukan di produksi.
60
+ 3. **Kecepatan ke Pasar:** Intlayer menghilangkan "kotak hitam" dari TMS. Anda tidak mengirim file ke luar dan menunggu mereka kembali. Anda menghasilkan terjemahan secara instan via AI di pipeline CI Anda atau lingkungan lokal, menjaga siklus pengembangan tetap singkat.
61
+
62
+ # Perbandingan berdampingan
63
+
64
+ | Fitur | Phrase (Enterprise TMS) | Intlayer (AI-Native) |
65
+ | :------------------ | :--------------------------------------------------- | :----------------------------------------------------------------- |
66
+ | **Filosofi Inti** | Tata Kelola & Alur Kerja Enterprise. | Mengelola logika konten & generasi AI. |
67
+ | **Model Harga** | Khusus Enterprise / Berbasis kursi (Tinggi). | Bayar untuk inferensi Anda sendiri (BYO Key). |
68
+ | **Integrasi** | Penggunaan API / CLI secara intensif. | Integrasi kode mendalam (Deklaratif). |
69
+ | **Pembaruan** | Perlu sinkronisasi / Bergantung pada pipeline. | Sinkron instan dengan codebase atau aplikasi live. |
70
+ | **Format File** | Sangat luas (Legacy & Dokumen). | Web Modern (JSON, JS, TS). |
71
+ | **Pengujian** | Pemeriksaan QA / Langkah LQA. | CI / CLI / Pengujian A/B. |
72
+ | **Hosting** | SaaS (Murni Enterprise). | Open Source & Dapat di-host sendiri (Docker). |
73
+ | Fitur | Phrase (TMS Enterprise) | Intlayer (AI-Native) |
74
+ | :------------------ | :------------------------------------- | :-------------------------------------- |
75
+ | **Filosofi Inti** | Tata kelola perusahaan & alur kerja. | Mengelola logika konten & generasi AI. |
76
+ | **Model Harga** | Kustom Enterprise / berbasis kursi (Tinggi). | Bayar untuk inferensi Anda sendiri (gunakan kunci Anda — BYO Key). |
77
+ | **Integrasi** | Penggunaan API / CLI yang intensif. | Integrasi kode mendalam (Deklaratif). |
78
+ | **Pembaruan** | Membutuhkan sinkronisasi / Bergantung pada pipeline. | Sinkronisasi instan dengan codebase atau aplikasi live. |
79
+ | **Format Berkas** | Sangat luas (Legacy & Dokumen). | Web Modern (JSON, JS, TS). |
80
+ | **Pengujian** | Pemeriksaan QA / Langkah LQA. | CI / CLI / Pengujian A/B. |
81
+ | **Hosting** | SaaS (Khusus Enterprise). | Open Source & Dapat Di-host Sendiri (Docker). |
82
+
83
+ Intlayer menawarkan solusi i18n lengkap dan all-in-one yang memungkinkan integrasi mendalam terhadap konten Anda. Konten remote Anda dapat disinkronkan langsung dengan codebase atau aplikasi live Anda. Sebagai perbandingan, Phrase adalah dependency eksternal yang kuat tetapi kompleks yang sering kali memerlukan manajer lokalisasi khusus agar dapat beroperasi secara efektif.
84
+
85
+ Selain itu, Intlayer dapat digunakan sebagai Feature Flag atau alat A/B testing, memungkinkan Anda menguji variasi konten yang berbeda secara dinamis. Phrase dirancang untuk memastikan konsistensi linguistik, sedangkan Intlayer membantu Anda mengoptimalkan konversi dan pengalaman pengguna melalui data dinamis.
86
+
87
+ Sementara Phrase tak terbantahkan untuk kebutuhan perusahaan yang kompleks dan multi-format (mis. menerjemahkan PDF, subtitle, dan perangkat lunak secara bersamaan), Intlayer merupakan pilihan yang lebih baik bagi tim produk yang membangun aplikasi web dan menginginkan kepemilikan penuh, type safety, serta alur kerja modern berbasis AI tanpa beban overhead enterprise.
88
+
89
+ Terakhir, bagi mereka yang memprioritaskan kedaulatan data dan kontrol, Intlayer bersifat open-source dan dapat di-host sendiri. File Docker tersedia langsung di repositori, memberi Anda kepemilikan penuh atas infrastruktur lokalisasi Anda—sesuatu yang tidak mungkin dilakukan dengan ekosistem SaaS tertutup milik Phrase.
@@ -31,7 +31,7 @@ history:
31
31
 
32
32
  # Come automatizzare le traduzioni JSON di i18next usando Intlayer
33
33
 
34
- <iframe title="Come automatizzare le traduzioni JSON di i18next usando Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
34
+ <iframe title="Come automatizzare le traduzioni JSON di i18next usando Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
35
35
 
36
36
  ## Cos'è Intlayer?
37
37
 
@@ -27,7 +27,7 @@ history:
27
27
 
28
28
  # Internazionalizzazione (i18n) in Next.js con next-i18next e Intlayer
29
29
 
30
- <iframe title="Come automatizzare le traduzioni JSON di next-i18next usando Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
+ <iframe title="Come automatizzare le traduzioni JSON di next-i18next usando Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
31
31
 
32
32
  ## Indice
33
33
 
@@ -26,7 +26,7 @@ history:
26
26
 
27
27
  # Come automatizzare le traduzioni JSON di next-intl usando Intlayer
28
28
 
29
- <iframe title="Come automatizzare le traduzioni JSON di next-intl usando Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
29
+ <iframe title="Come automatizzare le traduzioni JSON di next-intl usando Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
30
 
31
31
  ## Cos'è Intlayer?
32
32
 
@@ -29,7 +29,7 @@ history:
29
29
 
30
30
  # Come automatizzare le traduzioni JSON di react-i18next usando Intlayer
31
31
 
32
- <iframe title="Come automatizzare le traduzioni JSON di react-i18next usando Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
32
+ <iframe title="Come automatizzare le traduzioni JSON di react-i18next usando Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
33
33
 
34
34
  ## Cos'è Intlayer?
35
35
 
@@ -27,7 +27,7 @@ history:
27
27
 
28
28
  # Come automatizzare le traduzioni JSON di react-intl usando Intlayer
29
29
 
30
- <iframe title="Come automatizzare le traduzioni JSON di react-intl usando Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
+ <iframe title="Come automatizzare le traduzioni JSON di react-intl usando Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
31
31
 
32
32
  ## Indice
33
33
 
@@ -27,7 +27,7 @@ history:
27
27
 
28
28
  # Internazionalizzazione (i18n) in Vue.js con vue-i18n e Intlayer
29
29
 
30
- <iframe title="Come automatizzare le traduzioni JSON di vue-i18n usando Intlayer" class="m-auto aspect-[16/9] w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
30
+ <iframe title="Come automatizzare le traduzioni JSON di vue-i18n usando Intlayer" class="m-auto aspect-16/9 w-full overflow-hidden rounded-lg border-0" allow="autoplay; gyroscope;" loading="lazy" width="1080" height="auto" src="https://www.youtube.com/embed/MpGMxniDHNg?autoplay=0&amp;origin=http://intlayer.org&amp;controls=0&amp;rel=1"/>
31
31
 
32
32
  ## Indice
33
33
 
@@ -0,0 +1,84 @@
1
+ ---
2
+ createdAt: 2025-12-18
3
+ updatedAt: 2025-11-06
4
+ title: Alternativa L10n open-source a Lokalise
5
+ description: Trova la migliore piattaforma L10n alternativa a Lokalise per le tue esigenze
6
+ keywords:
7
+ - L10n
8
+ - TMS
9
+ - Lokalise
10
+ slugs:
11
+ - blog
12
+ - l10n-platform-alternative
13
+ - lokalise
14
+ history:
15
+ - version: 7.5.0
16
+ date: 2025-12-18
17
+ changes: Initial version
18
+ ---
19
+
20
+ # Un'alternativa open-source L10n a Lokalise (TMS)
21
+
22
+ ## Indice
23
+
24
+ <TOC/>
25
+
26
+ # Sistema di gestione delle traduzioni
27
+
28
+ A Translation Management System (TMS) è una piattaforma software progettata per automatizzare e semplificare il processo di traduzione e localizzazione (L10n). Tradizionalmente, un TMS funge da hub centralizzato in cui i contenuti vengono caricati, organizzati e assegnati a traduttori umani. Gestisce i flussi di lavoro, conserva memorie di traduzione (per evitare di tradurre la stessa frase due volte) e si occupa della consegna dei file tradotti agli sviluppatori o ai responsabili dei contenuti.
29
+
30
+ In sostanza, storicamente un TMS è stato il ponte tra il codice tecnico (dove risiedono le stringhe) e i linguisti umani (che comprendono la cultura).
31
+
32
+ Un Sistema di gestione delle traduzioni (TMS) è una piattaforma software progettata per automatizzare e snellire il processo di traduzione e localizzazione (L10n). Tradizionalmente, un TMS funge da hub centralizzato dove i contenuti vengono caricati, organizzati e assegnati a traduttori umani. Gestisce i flussi di lavoro, conserva memorie di traduzione (per evitare di tradurre la stessa frase due volte) e si occupa della consegna dei file tradotti agli sviluppatori o ai responsabili dei contenuti.
33
+
34
+ In sostanza, storicamente un TMS è stato il ponte tra il codice tecnico (dove risiedono le stringhe) e i linguisti umani (che comprendono la cultura).
35
+
36
+ # Lokalise
37
+
38
+ Lokalise è un attore significativo nell'odierno panorama dei TMS. Fondata nel 2017, è arrivata per sconvolgere il mercato concentrandosi fortemente sull'esperienza sviluppatore (DX) e sull'integrazione del design. A differenza dei competitor più datati, Lokalise ha dato priorità a un'interfaccia utente elegante (UI), API potenti e integrazioni con strumenti come Figma e GitHub per ridurre l'attrito nel trasferimento dei file avanti e indietro.
39
+
40
+ Ha costruito il suo successo sull'essere il TMS "developer-friendly", automatizzando l'estrazione e l'inserimento delle stringhe per liberare tempo agli ingegneri. Ha risolto efficacemente il problema della _continuous localization_ per team tecnologici in rapido movimento che volevano sbarazzarsi delle email con fogli di calcolo manuali.
41
+
42
+ # Intlayer
43
+
44
+ Intlayer è conosciuto principalmente come una soluzione i18n, ma integra anche un headless CMS. A differenza di Lokalise, che agisce in larga parte come uno strumento di sincronizzazione esterno per le tue stringhe, Intlayer vive più vicino al tuo codice. Controlla l'intero stack — dal livello di bundling alla distribuzione remota dei contenuti — risultando in un flusso di contenuti più fluido ed efficiente.
45
+
46
+ ## Perché i paradigmi sono cambiati dall'arrivo dell'AI?
47
+
48
+ Lokalise ha perfezionato il lato "DevOps" della localizzazione — lo _spostamento_ automatico delle stringhe. Tuttavia, l'arrivo dei Large Language Models (LLMs) ha cambiato radicalmente i paradigmi della localizzazione. Il collo di bottiglia non è più _spostare_ le stringhe; è _generarle_.
49
+
50
+ Con gli LLM, il costo della traduzione è crollato e la velocità è aumentata in modo esponenziale. Il ruolo del team di localizzazione sta passando da "gestire i traduttori" a "gestire il contesto e la revisione".
51
+
52
+ Sebbene Lokalise abbia aggiunto funzionalità AI, rimane fondamentalmente una piattaforma pensata per gestire workflow umani e addebitare in base al numero di seat o di key. In un mondo AI-first, il valore risiede nella capacità di orchestrare i modelli AI per generare contenuti contestualizzati, non solo nella facilità con cui si può assegnare un compito a un'agenzia umana.
53
+
54
+ Oggi, il flusso di lavoro più efficiente è tradurre e posizionare prima le tue pagine globalmente usando l'AI. Poi, in una seconda fase, si utilizzano copywriter umani per ottimizzare contenuti specifici ad alto traffico per aumentare la conversione una volta che il prodotto sta già generando ricavi.
55
+
56
+ ## Perché Intlayer è una buona alternativa a Lokalise?
57
+
58
+ Intlayer è una soluzione nata nell'era dell'AI. È stata architettata con il principio che la traduzione grezza è una commodity, ma il _contesto_ è re.
59
+
60
+ Lokalise è spesso criticata per i suoi livelli tariffari elevati, che possono diventare proibitivi man mano che una startup cresce. Intlayer adotta un approccio differente:
61
+
62
+ 1. **Efficienza dei costi:** Non sei vincolato a un modello di prezzo "per key" o "per seat" che penalizza la crescita. Con Intlayer, paghi per la tua inference (BYO Key), il che significa che i costi scalano direttamente con il tuo utilizzo effettivo, non con i margini della piattaforma.
63
+ 2. **Integrazione del workflow:** mentre Lokalise richiede la sincronizzazione dei file (anche se automatizzata), Intlayer consente la definizione dichiarativa dei contenuti direttamente nei file dei tuoi componenti (React, Next.js, ecc.). Questo mantiene il contesto proprio accanto all'interfaccia utente, riducendo gli errori.
64
+ 3. **Gestione visiva:** Intlayer fornisce un editor visivo che interagisce direttamente con la tua applicazione in esecuzione, garantendo che le modifiche vengano effettuate nel pieno contesto visivo—qualcosa spesso disconnesso nelle tradizionali liste di file dei TMS.
65
+
66
+ # Confronto affiancato
67
+
68
+ | Funzionalità | Lokalise (TMS moderno) | Intlayer (AI-Native) |
69
+ | :------------------ | :------------------------------------------------------- | :-------------------------------------------------------- |
70
+ | **Core Philosophy** | Automazione e L10n nella fase di design. | Gestisce la logica dei contenuti e la generazione AI. |
71
+ | **Pricing Model** | Per seat / MAU / Key count (costo elevato). | Paga la tua inferenza (BYO Key). |
72
+ | **Integration** | Sincronizzazione via API / plugin Figma. | Integrazione profonda nel codice (dichiarativa). |
73
+ | **Updates** | Ritardi di sincronizzazione / creazione di PR richiesta. | Sincronizzazione istantanea con il codebase o l'app live. |
74
+ | **File Formats** | Agnostico (Mobile, Web, Documenti). | Web moderno (JSON, JS, TS). |
75
+ | **Testing** | Flusso di revisione. | CI / CLI / Test A/B. |
76
+ | **Hosting** | SaaS (Closed Source). | Open Source e auto-ospitabile (Docker). |
77
+
78
+ Intlayer offre una soluzione i18n completa e all-in-one che consente una profonda integrazione dei tuoi contenuti. I tuoi contenuti remoti possono essere sincronizzati direttamente con la tua codebase o con la tua applicazione live. In confronto, Lokalise si basa generalmente sulla creazione di Pull Requests per aggiornare i contenuti nel tuo repository, il che mantiene una separazione tra lo "stato del contenuto" e lo "stato dell'applicazione".
79
+
80
+ Inoltre, Intlayer può essere utilizzato come Feature Flag o strumento di A/B testing, permettendoti di testare dinamicamente diverse varianti di contenuto. Mentre Lokalise si concentra sul trovare le parole giuste, Intlayer si concentra sul perfezionare la _user experience_ tramite la distribuzione dinamica dei dati.
81
+
82
+ Lokalise è eccellente per app mobile (iOS/Android) e workflow guidati dal design. Tuttavia, per le moderne applicazioni web che utilizzano framework come Next.js o React, la gestione nativa da parte di Intlayer di `.js`, `.ts` e dei dizionari JSON offre una superiore developer experience (DX) con pieno supporto TypeScript per i contenuti — assicurandoti di non spedire mai più una chiave di traduzione mancante.
83
+
84
+ Infine, per chi dà priorità alla sovranità e al controllo dei dati, Intlayer è open-source e può essere self-hosted. I file Docker sono disponibili direttamente nel repository, offrendoti la piena proprietà della tua infrastruttura di localizzazione — un netto contrasto con il modello SaaS chiuso di Lokalise.