@intlayer/docs 9.5.6 → 9.5.7

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 (601) hide show
  1. package/blog/ar/i18next_vs_intlayer-i18next.md +122 -15
  2. package/blog/ar/i18next_vs_intlayer.md +130 -16
  3. package/blog/ar/lingui_vs_intlayer.md +122 -15
  4. package/blog/ar/next-intl_vs_intlayer-next-intl.md +124 -15
  5. package/blog/ar/next-intl_vs_intlayer.md +136 -20
  6. package/blog/ar/vue-i18n_vs_intlayer-vue-i18n.md +119 -17
  7. package/blog/ar/vue-i18n_vs_intlayer.md +193 -31
  8. package/blog/ar/vue-i18n_vs_intlayer_benchmark.md +361 -0
  9. package/blog/de/i18next_vs_intlayer-i18next.md +122 -15
  10. package/blog/de/i18next_vs_intlayer.md +128 -14
  11. package/blog/de/lingui_vs_intlayer.md +122 -15
  12. package/blog/de/next-intl_vs_intlayer-next-intl.md +124 -15
  13. package/blog/de/next-intl_vs_intlayer.md +125 -15
  14. package/blog/de/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  15. package/blog/de/vue-i18n_vs_intlayer.md +193 -31
  16. package/blog/en/i18next_vs_intlayer-i18next.md +121 -14
  17. package/blog/en/i18next_vs_intlayer.md +128 -14
  18. package/blog/en/lingui_vs_intlayer.md +124 -15
  19. package/blog/en/next-intl_vs_intlayer-next-intl.md +123 -14
  20. package/blog/en/next-intl_vs_intlayer.md +125 -13
  21. package/blog/en/vue-i18n_vs_intlayer-vue-i18n.md +115 -15
  22. package/blog/en/vue-i18n_vs_intlayer.md +188 -27
  23. package/blog/en-GB/i18next_vs_intlayer-i18next.md +121 -14
  24. package/blog/en-GB/i18next_vs_intlayer.md +128 -14
  25. package/blog/en-GB/lingui_vs_intlayer.md +122 -15
  26. package/blog/en-GB/next-intl_vs_intlayer-next-intl.md +124 -15
  27. package/blog/en-GB/next-intl_vs_intlayer.md +125 -15
  28. package/blog/en-GB/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  29. package/blog/en-GB/vue-i18n_vs_intlayer.md +187 -25
  30. package/blog/en-GB/vue-i18n_vs_intlayer_benchmark.md +116 -0
  31. package/blog/es/i18next_vs_intlayer-i18next.md +122 -15
  32. package/blog/es/i18next_vs_intlayer.md +128 -14
  33. package/blog/es/lingui_vs_intlayer.md +122 -15
  34. package/blog/es/next-intl_vs_intlayer-next-intl.md +124 -15
  35. package/blog/es/next-intl_vs_intlayer.md +125 -15
  36. package/blog/es/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  37. package/blog/es/vue-i18n_vs_intlayer.md +193 -31
  38. package/blog/fr/i18next_vs_intlayer-i18next.md +122 -15
  39. package/blog/fr/i18next_vs_intlayer.md +128 -14
  40. package/blog/fr/lingui_vs_intlayer.md +122 -15
  41. package/blog/fr/next-intl_vs_intlayer-next-intl.md +124 -15
  42. package/blog/fr/next-intl_vs_intlayer.md +127 -15
  43. package/blog/fr/vue-i18n_vs_intlayer-vue-i18n.md +118 -17
  44. package/blog/fr/vue-i18n_vs_intlayer.md +192 -31
  45. package/blog/fr/vue-i18n_vs_intlayer_benchmark.md +329 -7
  46. package/blog/hi/i18next_vs_intlayer-i18next.md +122 -15
  47. package/blog/hi/i18next_vs_intlayer.md +130 -16
  48. package/blog/hi/lingui_vs_intlayer.md +122 -15
  49. package/blog/hi/next-intl_vs_intlayer-next-intl.md +124 -15
  50. package/blog/hi/next-intl_vs_intlayer.md +135 -19
  51. package/blog/hi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  52. package/blog/hi/vue-i18n_vs_intlayer.md +193 -31
  53. package/blog/hi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  54. package/blog/id/i18next_vs_intlayer-i18next.md +122 -15
  55. package/blog/id/i18next_vs_intlayer.md +128 -14
  56. package/blog/id/lingui_vs_intlayer.md +122 -15
  57. package/blog/id/next-intl_vs_intlayer-next-intl.md +124 -15
  58. package/blog/id/next-intl_vs_intlayer.md +135 -19
  59. package/blog/id/vue-i18n_vs_intlayer-vue-i18n.md +354 -2
  60. package/blog/id/vue-i18n_vs_intlayer.md +188 -26
  61. package/blog/id/vue-i18n_vs_intlayer_benchmark.md +327 -7
  62. package/blog/it/i18next_vs_intlayer-i18next.md +122 -15
  63. package/blog/it/i18next_vs_intlayer.md +128 -14
  64. package/blog/it/lingui_vs_intlayer.md +122 -15
  65. package/blog/it/next-intl_vs_intlayer-next-intl.md +124 -15
  66. package/blog/it/next-intl_vs_intlayer.md +125 -15
  67. package/blog/it/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  68. package/blog/it/vue-i18n_vs_intlayer.md +191 -31
  69. package/blog/it/vue-i18n_vs_intlayer_benchmark.md +332 -5
  70. package/blog/ja/i18next_vs_intlayer-i18next.md +122 -15
  71. package/blog/ja/i18next_vs_intlayer.md +129 -17
  72. package/blog/ja/lingui_vs_intlayer.md +122 -15
  73. package/blog/ja/next-intl_vs_intlayer-next-intl.md +124 -15
  74. package/blog/ja/next-intl_vs_intlayer.md +124 -14
  75. package/blog/ja/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  76. package/blog/ja/vue-i18n_vs_intlayer.md +193 -31
  77. package/blog/ja/vue-i18n_vs_intlayer_benchmark.md +361 -0
  78. package/blog/ko/i18next_vs_intlayer-i18next.md +122 -15
  79. package/blog/ko/i18next_vs_intlayer.md +129 -17
  80. package/blog/ko/lingui_vs_intlayer.md +122 -15
  81. package/blog/ko/next-intl_vs_intlayer-next-intl.md +124 -15
  82. package/blog/ko/next-intl_vs_intlayer.md +134 -18
  83. package/blog/ko/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  84. package/blog/ko/vue-i18n_vs_intlayer.md +193 -31
  85. package/blog/pl/i18next_vs_intlayer-i18next.md +122 -15
  86. package/blog/pl/i18next_vs_intlayer.md +128 -14
  87. package/blog/pl/lingui_vs_intlayer.md +122 -15
  88. package/blog/pl/next-intl_vs_intlayer-next-intl.md +124 -15
  89. package/blog/pl/next-intl_vs_intlayer.md +134 -18
  90. package/blog/pl/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  91. package/blog/pl/vue-i18n_vs_intlayer.md +188 -26
  92. package/blog/pl/vue-i18n_vs_intlayer_benchmark.md +361 -0
  93. package/blog/pt/i18next_vs_intlayer-i18next.md +122 -15
  94. package/blog/pt/i18next_vs_intlayer.md +128 -14
  95. package/blog/pt/lingui_vs_intlayer.md +122 -15
  96. package/blog/pt/next-intl_vs_intlayer-next-intl.md +124 -15
  97. package/blog/pt/next-intl_vs_intlayer.md +131 -15
  98. package/blog/pt/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  99. package/blog/pt/vue-i18n_vs_intlayer.md +193 -31
  100. package/blog/pt/vue-i18n_vs_intlayer_benchmark.md +361 -0
  101. package/blog/ru/i18next_vs_intlayer-i18next.md +122 -15
  102. package/blog/ru/i18next_vs_intlayer.md +130 -16
  103. package/blog/ru/lingui_vs_intlayer.md +122 -15
  104. package/blog/ru/next-intl_vs_intlayer-next-intl.md +125 -16
  105. package/blog/ru/next-intl_vs_intlayer.md +123 -13
  106. package/blog/ru/vue-i18n_vs_intlayer-vue-i18n.md +127 -27
  107. package/blog/ru/vue-i18n_vs_intlayer.md +193 -31
  108. package/blog/ru/vue-i18n_vs_intlayer_benchmark.md +326 -19
  109. package/blog/tr/i18next_vs_intlayer-i18next.md +122 -15
  110. package/blog/tr/i18next_vs_intlayer.md +128 -14
  111. package/blog/tr/lingui_vs_intlayer.md +122 -15
  112. package/blog/tr/next-intl_vs_intlayer-next-intl.md +124 -15
  113. package/blog/tr/next-intl_vs_intlayer.md +136 -20
  114. package/blog/tr/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  115. package/blog/tr/vue-i18n_vs_intlayer.md +188 -26
  116. package/blog/tr/vue-i18n_vs_intlayer_benchmark.md +361 -0
  117. package/blog/uk/i18next_vs_intlayer-i18next.md +122 -15
  118. package/blog/uk/i18next_vs_intlayer.md +130 -16
  119. package/blog/uk/lingui_vs_intlayer.md +122 -15
  120. package/blog/uk/next-intl_vs_intlayer-next-intl.md +124 -15
  121. package/blog/uk/next-intl_vs_intlayer.md +135 -19
  122. package/blog/uk/vue-i18n_vs_intlayer-vue-i18n.md +135 -17
  123. package/blog/uk/vue-i18n_vs_intlayer.md +188 -27
  124. package/blog/uk/vue-i18n_vs_intlayer_benchmark.md +361 -0
  125. package/blog/vi/i18next_vs_intlayer-i18next.md +122 -15
  126. package/blog/vi/i18next_vs_intlayer.md +128 -14
  127. package/blog/vi/lingui_vs_intlayer.md +122 -15
  128. package/blog/vi/next-intl_vs_intlayer-next-intl.md +124 -15
  129. package/blog/vi/next-intl_vs_intlayer.md +135 -19
  130. package/blog/vi/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  131. package/blog/vi/vue-i18n_vs_intlayer.md +188 -26
  132. package/blog/vi/vue-i18n_vs_intlayer_benchmark.md +361 -0
  133. package/blog/zh/i18next_vs_intlayer-i18next.md +122 -15
  134. package/blog/zh/i18next_vs_intlayer.md +128 -14
  135. package/blog/zh/lingui_vs_intlayer.md +122 -15
  136. package/blog/zh/next-intl_vs_intlayer-next-intl.md +124 -15
  137. package/blog/zh/next-intl_vs_intlayer.md +125 -15
  138. package/blog/zh/vue-i18n_vs_intlayer-vue-i18n.md +117 -17
  139. package/blog/zh/vue-i18n_vs_intlayer.md +192 -31
  140. package/blog/zh/vue-i18n_vs_intlayer_benchmark.md +340 -9
  141. package/dist/cjs/generated/docs.entry.cjs +40 -40
  142. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  143. package/dist/cjs/index.cjs +2 -2
  144. package/dist/esm/generated/docs.entry.mjs +40 -40
  145. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  146. package/dist/esm/index.mjs +2 -2
  147. package/dist/types/generated/docs.entry.d.ts +2 -2
  148. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  149. package/docs/ar/benchmark/nextjs.md +13 -13
  150. package/docs/ar/benchmark/solid.md +5 -5
  151. package/docs/ar/benchmark/svelte.md +4 -4
  152. package/docs/ar/benchmark/tanstack.md +14 -13
  153. package/docs/ar/benchmark/vue.md +5 -5
  154. package/docs/ar/chrome_extension.md +130 -0
  155. package/docs/ar/cli/index.md +6 -1
  156. package/docs/ar/cli/infra.md +162 -0
  157. package/docs/ar/cli/init.md +24 -1
  158. package/docs/ar/dictionary/html.md +173 -5
  159. package/docs/ar/dictionary/markdown.md +263 -1
  160. package/docs/ar/intlayer_with_analog.md +23 -1
  161. package/docs/ar/intlayer_with_angular_19.md +24 -1
  162. package/docs/ar/intlayer_with_angular_21.md +24 -1
  163. package/docs/ar/intlayer_with_astro.md +24 -1
  164. package/docs/ar/intlayer_with_astro_lit.md +25 -1
  165. package/docs/ar/intlayer_with_astro_preact.md +26 -1
  166. package/docs/ar/intlayer_with_astro_react.md +26 -1
  167. package/docs/ar/intlayer_with_astro_solid.md +26 -1
  168. package/docs/ar/intlayer_with_astro_svelte.md +25 -1
  169. package/docs/ar/intlayer_with_astro_vue.md +25 -1
  170. package/docs/ar/intlayer_with_remix_3.md +22 -1
  171. package/docs/ar/self_hosting.md +406 -231
  172. package/docs/de/benchmark/nextjs.md +13 -13
  173. package/docs/de/benchmark/solid.md +5 -5
  174. package/docs/de/benchmark/svelte.md +4 -4
  175. package/docs/de/benchmark/tanstack.md +14 -13
  176. package/docs/de/benchmark/vue.md +5 -5
  177. package/docs/de/chrome_extension.md +130 -0
  178. package/docs/de/cli/index.md +6 -1
  179. package/docs/de/cli/infra.md +162 -0
  180. package/docs/de/cli/init.md +24 -1
  181. package/docs/de/dictionary/html.md +173 -5
  182. package/docs/de/dictionary/markdown.md +263 -1
  183. package/docs/de/intlayer_with_analog.md +23 -1
  184. package/docs/de/intlayer_with_angular_19.md +24 -1
  185. package/docs/de/intlayer_with_angular_21.md +24 -1
  186. package/docs/de/intlayer_with_astro.md +24 -1
  187. package/docs/de/intlayer_with_astro_lit.md +25 -1
  188. package/docs/de/intlayer_with_astro_preact.md +26 -1
  189. package/docs/de/intlayer_with_astro_react.md +26 -1
  190. package/docs/de/intlayer_with_astro_solid.md +26 -1
  191. package/docs/de/intlayer_with_astro_svelte.md +25 -1
  192. package/docs/de/intlayer_with_astro_vue.md +25 -1
  193. package/docs/de/intlayer_with_remix_3.md +22 -1
  194. package/docs/de/self_hosting.md +404 -227
  195. package/docs/en/benchmark/nextjs.md +13 -13
  196. package/docs/en/benchmark/solid.md +5 -5
  197. package/docs/en/benchmark/svelte.md +4 -4
  198. package/docs/en/benchmark/tanstack.md +14 -13
  199. package/docs/en/benchmark/vue.md +5 -5
  200. package/docs/en/chrome_extension.md +130 -0
  201. package/docs/en/cli/index.md +6 -1
  202. package/docs/en/cli/infra.md +175 -0
  203. package/docs/en/cli/init.md +25 -1
  204. package/docs/en/dictionary/html.md +173 -5
  205. package/docs/en/dictionary/markdown.md +263 -1
  206. package/docs/en/intlayer_with_analog.md +23 -1
  207. package/docs/en/intlayer_with_angular_19.md +24 -1
  208. package/docs/en/intlayer_with_angular_21.md +24 -1
  209. package/docs/en/intlayer_with_astro.md +24 -1
  210. package/docs/en/intlayer_with_astro_lit.md +25 -1
  211. package/docs/en/intlayer_with_astro_preact.md +26 -1
  212. package/docs/en/intlayer_with_astro_react.md +26 -1
  213. package/docs/en/intlayer_with_astro_solid.md +26 -1
  214. package/docs/en/intlayer_with_astro_svelte.md +25 -1
  215. package/docs/en/intlayer_with_astro_vue.md +25 -1
  216. package/docs/en/intlayer_with_remix_3.md +22 -1
  217. package/docs/en/self_hosting.md +418 -176
  218. package/docs/en-GB/benchmark/nextjs.md +13 -13
  219. package/docs/en-GB/benchmark/solid.md +5 -5
  220. package/docs/en-GB/benchmark/svelte.md +4 -4
  221. package/docs/en-GB/benchmark/tanstack.md +14 -13
  222. package/docs/en-GB/benchmark/vue.md +5 -5
  223. package/docs/en-GB/chrome_extension.md +130 -0
  224. package/docs/en-GB/cli/index.md +6 -1
  225. package/docs/en-GB/cli/infra.md +162 -0
  226. package/docs/en-GB/cli/init.md +24 -1
  227. package/docs/en-GB/dictionary/html.md +173 -5
  228. package/docs/en-GB/dictionary/markdown.md +263 -1
  229. package/docs/en-GB/intlayer_with_analog.md +23 -1
  230. package/docs/en-GB/intlayer_with_angular_19.md +24 -1
  231. package/docs/en-GB/intlayer_with_angular_21.md +24 -1
  232. package/docs/en-GB/intlayer_with_astro.md +24 -1
  233. package/docs/en-GB/intlayer_with_astro_lit.md +25 -1
  234. package/docs/en-GB/intlayer_with_astro_preact.md +26 -1
  235. package/docs/en-GB/intlayer_with_astro_react.md +26 -1
  236. package/docs/en-GB/intlayer_with_astro_solid.md +26 -1
  237. package/docs/en-GB/intlayer_with_astro_svelte.md +25 -1
  238. package/docs/en-GB/intlayer_with_astro_vue.md +25 -1
  239. package/docs/en-GB/intlayer_with_remix_3.md +22 -1
  240. package/docs/en-GB/self_hosting.md +381 -206
  241. package/docs/es/benchmark/nextjs.md +13 -13
  242. package/docs/es/benchmark/solid.md +5 -5
  243. package/docs/es/benchmark/svelte.md +4 -4
  244. package/docs/es/benchmark/tanstack.md +14 -13
  245. package/docs/es/benchmark/vue.md +5 -5
  246. package/docs/es/chrome_extension.md +130 -0
  247. package/docs/es/cli/index.md +6 -1
  248. package/docs/es/cli/infra.md +162 -0
  249. package/docs/es/cli/init.md +24 -1
  250. package/docs/es/dictionary/html.md +173 -5
  251. package/docs/es/dictionary/markdown.md +263 -1
  252. package/docs/es/intlayer_with_analog.md +23 -1
  253. package/docs/es/intlayer_with_angular_19.md +24 -1
  254. package/docs/es/intlayer_with_angular_21.md +24 -1
  255. package/docs/es/intlayer_with_astro.md +24 -1
  256. package/docs/es/intlayer_with_astro_lit.md +25 -1
  257. package/docs/es/intlayer_with_astro_preact.md +26 -1
  258. package/docs/es/intlayer_with_astro_react.md +26 -1
  259. package/docs/es/intlayer_with_astro_solid.md +26 -1
  260. package/docs/es/intlayer_with_astro_svelte.md +25 -1
  261. package/docs/es/intlayer_with_astro_vue.md +25 -1
  262. package/docs/es/intlayer_with_remix_3.md +22 -1
  263. package/docs/es/self_hosting.md +400 -223
  264. package/docs/fr/benchmark/nextjs.md +13 -13
  265. package/docs/fr/benchmark/solid.md +5 -5
  266. package/docs/fr/benchmark/svelte.md +4 -4
  267. package/docs/fr/benchmark/tanstack.md +14 -13
  268. package/docs/fr/benchmark/vue.md +5 -5
  269. package/docs/fr/chrome_extension.md +130 -0
  270. package/docs/fr/cli/index.md +6 -1
  271. package/docs/fr/cli/infra.md +162 -0
  272. package/docs/fr/cli/init.md +24 -1
  273. package/docs/fr/dictionary/html.md +173 -5
  274. package/docs/fr/dictionary/markdown.md +265 -4
  275. package/docs/fr/intlayer_with_analog.md +23 -1
  276. package/docs/fr/intlayer_with_angular_19.md +24 -1
  277. package/docs/fr/intlayer_with_angular_21.md +24 -1
  278. package/docs/fr/intlayer_with_astro.md +24 -1
  279. package/docs/fr/intlayer_with_astro_lit.md +25 -1
  280. package/docs/fr/intlayer_with_astro_preact.md +26 -1
  281. package/docs/fr/intlayer_with_astro_react.md +26 -1
  282. package/docs/fr/intlayer_with_astro_solid.md +26 -1
  283. package/docs/fr/intlayer_with_astro_svelte.md +25 -1
  284. package/docs/fr/intlayer_with_astro_vue.md +25 -1
  285. package/docs/fr/intlayer_with_remix_3.md +22 -1
  286. package/docs/fr/self_hosting.md +401 -224
  287. package/docs/hi/benchmark/nextjs.md +13 -13
  288. package/docs/hi/benchmark/solid.md +5 -5
  289. package/docs/hi/benchmark/svelte.md +4 -4
  290. package/docs/hi/benchmark/tanstack.md +14 -13
  291. package/docs/hi/benchmark/vue.md +5 -5
  292. package/docs/hi/chrome_extension.md +130 -0
  293. package/docs/hi/cli/index.md +6 -1
  294. package/docs/hi/cli/infra.md +162 -0
  295. package/docs/hi/cli/init.md +24 -1
  296. package/docs/hi/dictionary/html.md +173 -5
  297. package/docs/hi/dictionary/markdown.md +263 -1
  298. package/docs/hi/intlayer_with_analog.md +23 -1
  299. package/docs/hi/intlayer_with_angular_19.md +24 -1
  300. package/docs/hi/intlayer_with_angular_21.md +24 -1
  301. package/docs/hi/intlayer_with_astro.md +24 -1
  302. package/docs/hi/intlayer_with_astro_lit.md +25 -1
  303. package/docs/hi/intlayer_with_astro_preact.md +26 -1
  304. package/docs/hi/intlayer_with_astro_react.md +26 -1
  305. package/docs/hi/intlayer_with_astro_solid.md +26 -1
  306. package/docs/hi/intlayer_with_astro_svelte.md +25 -1
  307. package/docs/hi/intlayer_with_astro_vue.md +25 -1
  308. package/docs/hi/intlayer_with_remix_3.md +22 -1
  309. package/docs/hi/self_hosting.md +409 -235
  310. package/docs/id/benchmark/nextjs.md +13 -13
  311. package/docs/id/benchmark/solid.md +5 -5
  312. package/docs/id/benchmark/svelte.md +4 -4
  313. package/docs/id/benchmark/tanstack.md +14 -13
  314. package/docs/id/benchmark/vue.md +5 -5
  315. package/docs/id/chrome_extension.md +130 -0
  316. package/docs/id/cli/index.md +6 -1
  317. package/docs/id/cli/infra.md +162 -0
  318. package/docs/id/cli/init.md +24 -1
  319. package/docs/id/dictionary/html.md +173 -5
  320. package/docs/id/dictionary/markdown.md +263 -1
  321. package/docs/id/intlayer_with_analog.md +23 -1
  322. package/docs/id/intlayer_with_angular_19.md +24 -1
  323. package/docs/id/intlayer_with_angular_21.md +24 -1
  324. package/docs/id/intlayer_with_astro.md +24 -1
  325. package/docs/id/intlayer_with_astro_lit.md +25 -1
  326. package/docs/id/intlayer_with_astro_preact.md +26 -1
  327. package/docs/id/intlayer_with_astro_react.md +26 -1
  328. package/docs/id/intlayer_with_astro_solid.md +26 -1
  329. package/docs/id/intlayer_with_astro_svelte.md +25 -1
  330. package/docs/id/intlayer_with_astro_vue.md +25 -1
  331. package/docs/id/intlayer_with_remix_3.md +22 -1
  332. package/docs/id/self_hosting.md +416 -243
  333. package/docs/it/benchmark/nextjs.md +13 -13
  334. package/docs/it/benchmark/solid.md +5 -5
  335. package/docs/it/benchmark/svelte.md +4 -4
  336. package/docs/it/benchmark/tanstack.md +14 -13
  337. package/docs/it/benchmark/vue.md +5 -5
  338. package/docs/it/chrome_extension.md +130 -0
  339. package/docs/it/cli/index.md +6 -1
  340. package/docs/it/cli/infra.md +162 -0
  341. package/docs/it/cli/init.md +24 -1
  342. package/docs/it/dictionary/html.md +173 -5
  343. package/docs/it/dictionary/markdown.md +263 -1
  344. package/docs/it/intlayer_with_analog.md +23 -1
  345. package/docs/it/intlayer_with_angular_19.md +24 -1
  346. package/docs/it/intlayer_with_angular_21.md +24 -1
  347. package/docs/it/intlayer_with_astro.md +24 -1
  348. package/docs/it/intlayer_with_astro_lit.md +25 -1
  349. package/docs/it/intlayer_with_astro_preact.md +26 -1
  350. package/docs/it/intlayer_with_astro_react.md +26 -1
  351. package/docs/it/intlayer_with_astro_solid.md +26 -1
  352. package/docs/it/intlayer_with_astro_svelte.md +25 -1
  353. package/docs/it/intlayer_with_astro_vue.md +25 -1
  354. package/docs/it/intlayer_with_remix_3.md +22 -1
  355. package/docs/it/self_hosting.md +412 -237
  356. package/docs/ja/benchmark/nextjs.md +13 -13
  357. package/docs/ja/benchmark/solid.md +5 -5
  358. package/docs/ja/benchmark/svelte.md +4 -4
  359. package/docs/ja/benchmark/tanstack.md +13 -12
  360. package/docs/ja/benchmark/vue.md +5 -5
  361. package/docs/ja/chrome_extension.md +130 -0
  362. package/docs/ja/cli/index.md +6 -1
  363. package/docs/ja/cli/infra.md +162 -0
  364. package/docs/ja/cli/init.md +24 -1
  365. package/docs/ja/dictionary/html.md +173 -5
  366. package/docs/ja/dictionary/markdown.md +263 -1
  367. package/docs/ja/intlayer_with_analog.md +23 -1
  368. package/docs/ja/intlayer_with_angular_19.md +24 -1
  369. package/docs/ja/intlayer_with_angular_21.md +24 -1
  370. package/docs/ja/intlayer_with_astro.md +24 -1
  371. package/docs/ja/intlayer_with_astro_lit.md +25 -1
  372. package/docs/ja/intlayer_with_astro_preact.md +26 -1
  373. package/docs/ja/intlayer_with_astro_react.md +26 -1
  374. package/docs/ja/intlayer_with_astro_solid.md +26 -1
  375. package/docs/ja/intlayer_with_astro_svelte.md +25 -1
  376. package/docs/ja/intlayer_with_astro_vue.md +25 -1
  377. package/docs/ja/intlayer_with_remix_3.md +22 -1
  378. package/docs/ja/self_hosting.md +398 -223
  379. package/docs/ko/benchmark/nextjs.md +13 -13
  380. package/docs/ko/benchmark/solid.md +5 -5
  381. package/docs/ko/benchmark/svelte.md +4 -4
  382. package/docs/ko/benchmark/tanstack.md +14 -13
  383. package/docs/ko/benchmark/vue.md +5 -5
  384. package/docs/ko/chrome_extension.md +130 -0
  385. package/docs/ko/cli/index.md +6 -1
  386. package/docs/ko/cli/infra.md +162 -0
  387. package/docs/ko/cli/init.md +24 -1
  388. package/docs/ko/dictionary/html.md +173 -5
  389. package/docs/ko/dictionary/markdown.md +263 -1
  390. package/docs/ko/intlayer_with_analog.md +23 -1
  391. package/docs/ko/intlayer_with_angular_19.md +24 -1
  392. package/docs/ko/intlayer_with_angular_21.md +24 -1
  393. package/docs/ko/intlayer_with_astro.md +24 -1
  394. package/docs/ko/intlayer_with_astro_lit.md +25 -1
  395. package/docs/ko/intlayer_with_astro_preact.md +26 -1
  396. package/docs/ko/intlayer_with_astro_react.md +26 -1
  397. package/docs/ko/intlayer_with_astro_solid.md +26 -1
  398. package/docs/ko/intlayer_with_astro_svelte.md +25 -1
  399. package/docs/ko/intlayer_with_astro_vue.md +25 -1
  400. package/docs/ko/intlayer_with_remix_3.md +22 -1
  401. package/docs/ko/self_hosting.md +411 -238
  402. package/docs/pl/benchmark/nextjs.md +13 -13
  403. package/docs/pl/benchmark/solid.md +5 -5
  404. package/docs/pl/benchmark/svelte.md +4 -4
  405. package/docs/pl/benchmark/tanstack.md +14 -13
  406. package/docs/pl/benchmark/vue.md +5 -5
  407. package/docs/pl/chrome_extension.md +130 -0
  408. package/docs/pl/cli/index.md +6 -1
  409. package/docs/pl/cli/infra.md +162 -0
  410. package/docs/pl/cli/init.md +24 -1
  411. package/docs/pl/dictionary/html.md +173 -5
  412. package/docs/pl/dictionary/markdown.md +263 -1
  413. package/docs/pl/intlayer_with_analog.md +23 -1
  414. package/docs/pl/intlayer_with_angular_19.md +24 -1
  415. package/docs/pl/intlayer_with_angular_21.md +24 -1
  416. package/docs/pl/intlayer_with_astro.md +24 -1
  417. package/docs/pl/intlayer_with_astro_lit.md +25 -1
  418. package/docs/pl/intlayer_with_astro_preact.md +26 -1
  419. package/docs/pl/intlayer_with_astro_react.md +26 -1
  420. package/docs/pl/intlayer_with_astro_solid.md +26 -1
  421. package/docs/pl/intlayer_with_astro_svelte.md +25 -1
  422. package/docs/pl/intlayer_with_astro_vue.md +25 -1
  423. package/docs/pl/intlayer_with_remix_3.md +22 -1
  424. package/docs/pl/self_hosting.md +408 -233
  425. package/docs/pt/benchmark/nextjs.md +13 -13
  426. package/docs/pt/benchmark/solid.md +5 -5
  427. package/docs/pt/benchmark/svelte.md +4 -4
  428. package/docs/pt/benchmark/tanstack.md +14 -13
  429. package/docs/pt/benchmark/vue.md +5 -5
  430. package/docs/pt/chrome_extension.md +130 -0
  431. package/docs/pt/cli/index.md +6 -1
  432. package/docs/pt/cli/infra.md +162 -0
  433. package/docs/pt/cli/init.md +24 -1
  434. package/docs/pt/dictionary/html.md +173 -5
  435. package/docs/pt/dictionary/markdown.md +263 -1
  436. package/docs/pt/intlayer_with_analog.md +23 -1
  437. package/docs/pt/intlayer_with_angular_19.md +24 -1
  438. package/docs/pt/intlayer_with_angular_21.md +24 -1
  439. package/docs/pt/intlayer_with_astro.md +24 -1
  440. package/docs/pt/intlayer_with_astro_lit.md +25 -1
  441. package/docs/pt/intlayer_with_astro_preact.md +26 -1
  442. package/docs/pt/intlayer_with_astro_react.md +26 -1
  443. package/docs/pt/intlayer_with_astro_solid.md +26 -1
  444. package/docs/pt/intlayer_with_astro_svelte.md +25 -1
  445. package/docs/pt/intlayer_with_astro_vue.md +25 -1
  446. package/docs/pt/intlayer_with_remix_3.md +22 -1
  447. package/docs/pt/self_hosting.md +399 -224
  448. package/docs/ru/benchmark/nextjs.md +13 -13
  449. package/docs/ru/benchmark/solid.md +5 -5
  450. package/docs/ru/benchmark/svelte.md +4 -4
  451. package/docs/ru/benchmark/tanstack.md +14 -13
  452. package/docs/ru/benchmark/vue.md +5 -5
  453. package/docs/ru/chrome_extension.md +130 -0
  454. package/docs/ru/cli/index.md +6 -1
  455. package/docs/ru/cli/infra.md +162 -0
  456. package/docs/ru/cli/init.md +24 -1
  457. package/docs/ru/dictionary/html.md +173 -5
  458. package/docs/ru/dictionary/markdown.md +263 -1
  459. package/docs/ru/intlayer_with_analog.md +23 -1
  460. package/docs/ru/intlayer_with_angular_19.md +24 -1
  461. package/docs/ru/intlayer_with_angular_21.md +24 -1
  462. package/docs/ru/intlayer_with_astro.md +24 -1
  463. package/docs/ru/intlayer_with_astro_lit.md +25 -1
  464. package/docs/ru/intlayer_with_astro_preact.md +26 -1
  465. package/docs/ru/intlayer_with_astro_react.md +26 -1
  466. package/docs/ru/intlayer_with_astro_solid.md +26 -1
  467. package/docs/ru/intlayer_with_astro_svelte.md +25 -1
  468. package/docs/ru/intlayer_with_astro_vue.md +25 -1
  469. package/docs/ru/intlayer_with_remix_3.md +22 -1
  470. package/docs/ru/self_hosting.md +403 -228
  471. package/docs/tr/benchmark/nextjs.md +13 -13
  472. package/docs/tr/benchmark/solid.md +5 -5
  473. package/docs/tr/benchmark/svelte.md +4 -4
  474. package/docs/tr/benchmark/tanstack.md +14 -13
  475. package/docs/tr/benchmark/vue.md +5 -5
  476. package/docs/tr/chrome_extension.md +130 -0
  477. package/docs/tr/cli/index.md +6 -1
  478. package/docs/tr/cli/infra.md +162 -0
  479. package/docs/tr/cli/init.md +24 -1
  480. package/docs/tr/dictionary/html.md +173 -5
  481. package/docs/tr/dictionary/markdown.md +263 -1
  482. package/docs/tr/intlayer_with_analog.md +23 -1
  483. package/docs/tr/intlayer_with_angular_19.md +24 -1
  484. package/docs/tr/intlayer_with_angular_21.md +24 -1
  485. package/docs/tr/intlayer_with_astro.md +24 -1
  486. package/docs/tr/intlayer_with_astro_lit.md +25 -1
  487. package/docs/tr/intlayer_with_astro_preact.md +26 -1
  488. package/docs/tr/intlayer_with_astro_react.md +26 -1
  489. package/docs/tr/intlayer_with_astro_solid.md +26 -1
  490. package/docs/tr/intlayer_with_astro_svelte.md +25 -1
  491. package/docs/tr/intlayer_with_astro_vue.md +25 -1
  492. package/docs/tr/intlayer_with_remix_3.md +22 -1
  493. package/docs/tr/self_hosting.md +410 -234
  494. package/docs/uk/benchmark/nextjs.md +13 -13
  495. package/docs/uk/benchmark/solid.md +5 -5
  496. package/docs/uk/benchmark/svelte.md +4 -4
  497. package/docs/uk/benchmark/tanstack.md +14 -13
  498. package/docs/uk/benchmark/vue.md +5 -5
  499. package/docs/uk/chrome_extension.md +130 -0
  500. package/docs/uk/cli/index.md +6 -1
  501. package/docs/uk/cli/infra.md +162 -0
  502. package/docs/uk/cli/init.md +24 -1
  503. package/docs/uk/dictionary/html.md +173 -5
  504. package/docs/uk/dictionary/markdown.md +263 -1
  505. package/docs/uk/intlayer_with_analog.md +23 -1
  506. package/docs/uk/intlayer_with_angular_19.md +24 -1
  507. package/docs/uk/intlayer_with_angular_21.md +24 -1
  508. package/docs/uk/intlayer_with_astro.md +24 -1
  509. package/docs/uk/intlayer_with_astro_lit.md +25 -1
  510. package/docs/uk/intlayer_with_astro_preact.md +26 -1
  511. package/docs/uk/intlayer_with_astro_react.md +26 -1
  512. package/docs/uk/intlayer_with_astro_solid.md +26 -1
  513. package/docs/uk/intlayer_with_astro_svelte.md +25 -1
  514. package/docs/uk/intlayer_with_astro_vue.md +25 -1
  515. package/docs/uk/intlayer_with_remix_3.md +22 -1
  516. package/docs/uk/self_hosting.md +413 -238
  517. package/docs/vi/benchmark/nextjs.md +13 -13
  518. package/docs/vi/benchmark/solid.md +5 -5
  519. package/docs/vi/benchmark/svelte.md +4 -4
  520. package/docs/vi/benchmark/tanstack.md +14 -13
  521. package/docs/vi/benchmark/vue.md +5 -5
  522. package/docs/vi/chrome_extension.md +130 -0
  523. package/docs/vi/cli/index.md +6 -1
  524. package/docs/vi/cli/infra.md +162 -0
  525. package/docs/vi/cli/init.md +24 -1
  526. package/docs/vi/dictionary/html.md +173 -5
  527. package/docs/vi/dictionary/markdown.md +263 -1
  528. package/docs/vi/intlayer_with_analog.md +23 -1
  529. package/docs/vi/intlayer_with_angular_19.md +24 -1
  530. package/docs/vi/intlayer_with_angular_21.md +24 -1
  531. package/docs/vi/intlayer_with_astro.md +24 -1
  532. package/docs/vi/intlayer_with_astro_lit.md +25 -1
  533. package/docs/vi/intlayer_with_astro_preact.md +26 -1
  534. package/docs/vi/intlayer_with_astro_react.md +26 -1
  535. package/docs/vi/intlayer_with_astro_solid.md +26 -1
  536. package/docs/vi/intlayer_with_astro_svelte.md +25 -1
  537. package/docs/vi/intlayer_with_astro_vue.md +25 -1
  538. package/docs/vi/intlayer_with_remix_3.md +22 -1
  539. package/docs/vi/self_hosting.md +408 -234
  540. package/docs/zh/benchmark/nextjs.md +13 -13
  541. package/docs/zh/benchmark/solid.md +5 -5
  542. package/docs/zh/benchmark/svelte.md +4 -4
  543. package/docs/zh/benchmark/tanstack.md +14 -13
  544. package/docs/zh/benchmark/vue.md +5 -5
  545. package/docs/zh/chrome_extension.md +130 -0
  546. package/docs/zh/cli/index.md +6 -1
  547. package/docs/zh/cli/infra.md +162 -0
  548. package/docs/zh/cli/init.md +24 -1
  549. package/docs/zh/dictionary/html.md +172 -5
  550. package/docs/zh/dictionary/markdown.md +262 -1
  551. package/docs/zh/intlayer_with_analog.md +23 -1
  552. package/docs/zh/intlayer_with_angular_19.md +24 -1
  553. package/docs/zh/intlayer_with_angular_21.md +24 -1
  554. package/docs/zh/intlayer_with_astro.md +24 -1
  555. package/docs/zh/intlayer_with_astro_lit.md +25 -1
  556. package/docs/zh/intlayer_with_astro_preact.md +26 -1
  557. package/docs/zh/intlayer_with_astro_react.md +26 -1
  558. package/docs/zh/intlayer_with_astro_solid.md +26 -1
  559. package/docs/zh/intlayer_with_astro_svelte.md +25 -1
  560. package/docs/zh/intlayer_with_astro_vue.md +25 -1
  561. package/docs/zh/intlayer_with_remix_3.md +22 -1
  562. package/docs/zh/self_hosting.md +410 -237
  563. package/legal/ar/privacy_notice.md +9 -3
  564. package/legal/de/privacy_notice.md +9 -3
  565. package/legal/en/privacy_notice.md +10 -3
  566. package/legal/en-GB/privacy_notice.md +9 -3
  567. package/legal/es/privacy_notice.md +9 -3
  568. package/legal/fr/privacy_notice.md +9 -3
  569. package/legal/hi/privacy_notice.md +9 -3
  570. package/legal/id/privacy_notice.md +9 -3
  571. package/legal/it/privacy_notice.md +9 -3
  572. package/legal/ja/privacy_notice.md +9 -3
  573. package/legal/ko/privacy_notice.md +9 -3
  574. package/legal/pl/privacy_notice.md +9 -3
  575. package/legal/pt/privacy_notice.md +9 -3
  576. package/legal/ru/privacy_notice.md +9 -3
  577. package/legal/tr/privacy_notice.md +9 -3
  578. package/legal/uk/privacy_notice.md +9 -3
  579. package/legal/vi/privacy_notice.md +9 -3
  580. package/legal/zh/privacy_notice.md +9 -3
  581. package/package.json +1 -1
  582. package/src/generated/docs.entry.ts +40 -40
  583. package/docs/ar/roadmap.md +0 -321
  584. package/docs/de/roadmap.md +0 -322
  585. package/docs/en/intlayer_with_astro_vanilla.md +0 -713
  586. package/docs/en/roadmap.md +0 -325
  587. package/docs/en-GB/roadmap.md +0 -322
  588. package/docs/es/roadmap.md +0 -322
  589. package/docs/fr/roadmap.md +0 -322
  590. package/docs/hi/roadmap.md +0 -322
  591. package/docs/id/roadmap.md +0 -325
  592. package/docs/it/roadmap.md +0 -322
  593. package/docs/ja/roadmap.md +0 -322
  594. package/docs/ko/roadmap.md +0 -322
  595. package/docs/pl/roadmap.md +0 -325
  596. package/docs/pt/roadmap.md +0 -322
  597. package/docs/ru/roadmap.md +0 -322
  598. package/docs/tr/roadmap.md +0 -325
  599. package/docs/uk/roadmap.md +0 -325
  600. package/docs/vi/roadmap.md +0 -325
  601. package/docs/zh/roadmap.md +0 -322
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2026-01-20
3
- updatedAt: 2026-03-24
3
+ updatedAt: 2026-09-21
4
4
  title: HTMLコンテンツ
5
5
  description: IntlayerでHTMLコンテンツを宣言し、カスタムコンポーネントとともに使用する方法を学びます。このドキュメントに従い、国際化されたプロジェクト内で動的にコンポーネントを置換可能なリッチなHTMLライクコンテンツを埋め込む方法を解説します。
6
6
  keywords:
@@ -13,6 +13,8 @@ keywords:
13
13
  - React
14
14
  - Vue
15
15
  - Svelte
16
+ - Remix
17
+ - Astro
16
18
  slugs:
17
19
  - doc
18
20
  - concept
@@ -235,6 +237,83 @@ HTML ノードで `.use()` メソッドを使用する場合、提供された
235
237
  ```
236
238
 
237
239
  </Tab>
240
+ <Tab label="Remix" value="remix">
241
+ Remix 3 では、HTML ノードは HTML 文字列に解決されます。Remix JSX の `innerHTML` プロパティ、または `html-template` ビューの `html.raw` を使用して挿入します。
242
+
243
+ ```tsx fileName="src/views/home.tsx"
244
+ import { useIntlayer } from "remix-intlayer";
245
+
246
+ export const HomePage = () => () => {
247
+ const { myHtmlContent } = useIntlayer("app");
248
+
249
+ return <div innerHTML={myHtmlContent.value} />;
250
+ };
251
+ ```
252
+
253
+ ```ts fileName="src/views/home.ts"
254
+ import { html } from "remix/html-template";
255
+ import { useIntlayer } from "remix-intlayer";
256
+
257
+ export const renderHomePage = () => {
258
+ const { myHtmlContent } = useIntlayer("app");
259
+
260
+ return html.raw`<div>${myHtmlContent.value}</div>`;
261
+ };
262
+ ```
263
+
264
+ > Remix はデフォルトで補間された値をエスケープします。`innerHTML` と `html.raw` はエスケープを回避する2つの方法であり、HTML 文字列に必要なものです。
265
+
266
+ タグをオーバーライドしたりカスタムコンポーネントをマッピングするには、`.use()` メソッドを使用します。オーバーライドは HTML 文字列を返す関数です:
267
+
268
+ ```tsx
269
+ <div
270
+ innerHTML={myHtmlContent.use({
271
+ p: ({ children }) => `<p class="prose">${children}</p>`,
272
+ CustomLink: ({ children }) => `<a href="/details">${children}</a>`,
273
+ })}
274
+ />
275
+ ```
276
+
277
+ </Tab>
278
+ <Tab label="Astro" value="astro">
279
+ Astro では、HTML ノードは HTML 文字列に解決されます。テンプレート内の `set:html` ディレクティブ、またはクライアントの `<script>` 内の `innerHTML` を使用して挿入します。
280
+
281
+ ```astro fileName="src/pages/index.astro"
282
+ ---
283
+ import { useIntlayer } from "astro-intlayer";
284
+
285
+ const { myHtmlContent } = useIntlayer("app");
286
+ ---
287
+
288
+ <div set:html={myHtmlContent.value} />
289
+ ```
290
+
291
+ ```astro fileName="src/components/Content.astro"
292
+ <div id="content"></div>
293
+
294
+ <script>
295
+ import { useIntlayer } from "astro-intlayer";
296
+
297
+ const { myHtmlContent } = useIntlayer("app");
298
+
299
+ document.querySelector("#content")!.innerHTML = myHtmlContent.value;
300
+ </script>
301
+ ```
302
+
303
+ > Astro はデフォルトで `{式}` をエスケープします。`set:html` はエスケープを回避する方法であり、HTML 文字列に必要なものです。
304
+
305
+ タグをオーバーライドしたりカスタムコンポーネントをマッピングするには、`.use()` メソッドを使用します。オーバーライドは HTML 文字列を返す関数です:
306
+
307
+ ```astro
308
+ <div
309
+ set:html={myHtmlContent.use({
310
+ p: ({ children }) => `<p class="prose">${children}</p>`,
311
+ CustomLink: ({ children }) => `<a href="/details">${children}</a>`,
312
+ })}
313
+ />
314
+ ```
315
+
316
+ </Tab>
238
317
  </Tabs>
239
318
 
240
319
  ## `HTMLProvider`によるグローバル設定
@@ -470,6 +549,41 @@ HTML ノードで `.use()` メソッドを使用する場合、提供された
470
549
  > HTML レンダラーを動的にインポートすることは、アプリケーションのバンドルサイズを削減するための良い方法です。
471
550
 
472
551
  </Tab>
552
+ <Tab label="Remix" value="remix">
553
+
554
+ Remix にはプロバイダーを保持するコンポーネントツリーがないため、設定はサーバー起動時にシングルトンとして一度だけインストールされます。`useHTMLRenderer()` によって返されるレンダラーを設定します。`useIntlayer` によって返される `html` ノードはそのままレンダリングされます。ノードごとに `.use()` でタグをオーバーライドします。
555
+
556
+ ```typescript fileName="src/router.ts"
557
+ import { installIntlayerHTML } from "remix-intlayer/html";
558
+
559
+ installIntlayerHTML({
560
+ renderHTML: (html) => html.replaceAll("<p>", '<p class="prose">'),
561
+ });
562
+ ```
563
+
564
+ > レンダラー自体を遅延読み込みするには `installIntlayerHTMLDynamic(async () => …)` を使用します。ローダーは最初の呼び出し時にのみ実行されます。
565
+
566
+ </Tab>
567
+ <Tab label="Astro" value="astro">
568
+
569
+ Astro にはプロバイダーを保持するコンポーネントツリーがないため、設定はミドルウェア(サーバー)およびクライアント `<script>`(ブラウザ)でシングルトンとして一度だけインストールされます。`useHTMLRenderer()` によって返されるレンダラーを設定します。`useIntlayer` によって返される `html` ノードはそのままレンダリングされます。ノードごとに `.use()` でタグをオーバーライドします。
570
+
571
+ ```typescript fileName="src/middleware.ts"
572
+ import { installIntlayerHTML } from "astro-intlayer/html";
573
+ import { defineMiddleware } from "astro:middleware";
574
+
575
+ // サーバー起動時に1回実行されます。Intlayerミドルウェア自体は、
576
+ // このファイルより前にインテグレーションによって登録されます。
577
+ installIntlayerHTML({
578
+ renderHTML: (html) => html.replaceAll("<p>", '<p class="prose">'),
579
+ });
580
+
581
+ export const onRequest = defineMiddleware((_context, next) => next());
582
+ ```
583
+
584
+ > レンダラー自体を遅延読み込みするには `installIntlayerHTMLDynamic(async () => …)` を使用します。ローダーは最初の呼び出し時にのみ実行されます。
585
+
586
+ </Tab>
473
587
  </Tabs>
474
588
 
475
589
  ### 手動レンダリングと高度なツール
@@ -643,15 +757,69 @@ HTML ノードで `.use()` メソッドを使用する場合、提供された
643
757
  ```
644
758
 
645
759
  </Tab>
760
+ <Tab label="Remix" value="remix">
761
+ #### `useHTMLRenderer()` フック
762
+
763
+ `installIntlayerHTML()` によって事前設定されたレンダラー関数を取得します。HTML 文字列を返します。
764
+
765
+ ```tsx
766
+ import { useHTMLRenderer } from "remix-intlayer/html";
767
+
768
+ const renderHTML = useHTMLRenderer();
769
+
770
+ return <div innerHTML={renderHTML("<p>Hello <strong>World</strong></p>")} />;
771
+ ```
772
+
773
+ #### `renderHTML()` ユーティリティ
774
+
775
+ グローバル設定を無視するスタンドアロンユーティリティ。
776
+
777
+ ```tsx
778
+ import { renderHTML } from "remix-intlayer/html";
779
+
780
+ const html = renderHTML("<p>Hello</p>");
781
+ ```
782
+
783
+ </Tab>
784
+ <Tab label="Astro" value="astro">
785
+ #### `useHTMLRenderer()` フック
786
+
787
+ `installIntlayerHTML()` によって事前設定されたレンダラー関数を取得します。HTML 文字列を返します。
788
+
789
+ ```astro
790
+ ---
791
+ import { useHTMLRenderer } from "astro-intlayer/html";
792
+
793
+ const renderHTML = useHTMLRenderer();
794
+ ---
795
+
796
+ <div set:html={renderHTML("<p>Hello <strong>World</strong></p>")} />
797
+ ```
798
+
799
+ #### `renderHTML()` ユーティリティ
800
+
801
+ グローバル設定を無視するスタンドアロンユーティリティ。
802
+
803
+ ```astro
804
+ ---
805
+ import { renderHTML } from "astro-intlayer/html";
806
+
807
+ const html = renderHTML("<p>Hello</p>");
808
+ ---
809
+
810
+ <div set:html={html} />
811
+ ```
812
+
813
+ </Tab>
646
814
  </Tabs>
647
815
 
648
816
  ## オプションリファレンス
649
817
 
650
818
  これらのオプションは `HTMLProvider`、`HTMLRenderer`、`useHTMLRenderer`、および `renderHTML` に渡すことができます。
651
819
 
652
- | オプション | 型 | デフォルト | 説明 |
653
- | :----------- | :-------------------- | :--------- | :----------------------------------------------------------------------------------------------- |
654
- | `components` | `Record<string, any>` | `{}` | HTMLタグまたはカスタムコンポーネント名をコンポーネントにマッピングするオブジェクト。 |
655
- | `renderHTML` | `Function` | `null` | デフォルトのHTMLパーサを完全に置き換えるカスタムレンダリング関数(Vue/Svelteプロバイダーのみ)。 |
820
+ | オプション | 型 | デフォルト | 説明 |
821
+ | :----------- | :-------------------- | :--------- | :------------------------------------------------------------------------------------------------------------ |
822
+ | `components` | `Record<string, any>` | `{}` | HTMLタグまたはカスタムコンポーネント名をコンポーネントにマッピングするオブジェクト。 |
823
+ | `renderHTML` | `Function` | `null` | デフォルトのHTMLパーサーを完全に置き換えるカスタムレンダリング関数(Vue、Svelte、Remix、Astroプロバイダー)。 |
656
824
 
657
825
  > 注: ReactおよびPreactでは、標準のHTMLタグが自動的に提供されます。これらを上書きしたりカスタムコンポーネントを追加したい場合にのみ、`components`プロップを渡してください。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-02-07
3
- updatedAt: 2026-05-19
3
+ updatedAt: 2026-09-21
4
4
  title: Markdown
5
5
  description: Intlayerを使用して多言語Webサイトでマークダウンコンテンツを宣言および使用する方法を学びます。このオンラインドキュメントの手順に従って、マークダウンをプロジェクトにシームレスに統合します。
6
6
  keywords:
@@ -11,6 +11,8 @@ keywords:
11
11
  - Next.js
12
12
  - JavaScript
13
13
  - React
14
+ - Remix
15
+ - Astro
14
16
  slugs:
15
17
  - doc
16
18
  - concept
@@ -489,6 +491,111 @@ Markdown レンダリングは **MDX** をサポートしています — Markdo
489
491
  ```
490
492
 
491
493
  </Tab>
494
+ <Tab label="Remix" value="remix">
495
+ Remix 3 では、Markdown ノードはサーバー上で HTML 文字列にレンダリングされます。Remix JSX の `innerHTML` プロパティ、または `html-template` ビューの `html.raw` を使用して挿入します。
496
+
497
+ ```tsx fileName="src/views/home.tsx"
498
+ import { useIntlayer } from "remix-intlayer";
499
+
500
+ export const HomePage = () => () => {
501
+ const { myMarkdownContent } = useIntlayer("app");
502
+
503
+ return <div innerHTML={myMarkdownContent.value} />;
504
+ };
505
+ ```
506
+
507
+ ```ts fileName="src/views/home.ts"
508
+ import { html } from "remix/html-template";
509
+ import { useIntlayer } from "remix-intlayer";
510
+
511
+ export const renderHomePage = () => {
512
+ const { myMarkdownContent } = useIntlayer("app");
513
+
514
+ return html.raw`<div>${myMarkdownContent.value}</div>`;
515
+ };
516
+ ```
517
+
518
+ > Remix はデフォルトで補間された値をエスケープします。`innerHTML` と `html.raw` はエスケープを回避する2つの方法であり、レンダリングされた Markdown 文字列に必要なものです。
519
+
520
+ `.use()` メソッドを使用して、特定のタグのローカルオーバーライドを指定することもできます。オーバーライドは HTML 文字列を返す関数です:
521
+
522
+ ```tsx
523
+ <div
524
+ innerHTML={myMarkdownContent.use({
525
+ h1: ({ children }) => `<h1 class="text-3xl font-bold">${children}</h1>`,
526
+ })}
527
+ />
528
+ ```
529
+
530
+ `.value` はレンダリングされたHTML文字列であり、`String()` / `.toString()` は生のMarkdownソースを返します:
531
+
532
+ ```tsx
533
+ myMarkdownContent.value // "<h1>…</h1>"
534
+ String(myMarkdownContent) // "# …"
535
+ myMarkdownContent.toString() // "# …"
536
+ ```
537
+
538
+ また、次のようにMarkdownメタデータにアクセスできます:
539
+
540
+ ```tsx
541
+ myMarkdownContent.metadata
542
+ myMarkdownContent.metadata.title
543
+ ```
544
+
545
+ </Tab>
546
+ <Tab label="Astro" value="astro">
547
+ Astro では、Markdown ノードは HTML 文字列にレンダリングされます。テンプレート内の `set:html` ディレクティブ、またはクライアントの `<script>` 内の `innerHTML` を使用して挿入します。
548
+
549
+ ```astro fileName="src/pages/index.astro"
550
+ ---
551
+ import { useIntlayer } from "astro-intlayer";
552
+
553
+ const { myMarkdownContent } = useIntlayer("app");
554
+ ---
555
+
556
+ <div set:html={myMarkdownContent.value} />
557
+ ```
558
+
559
+ ```astro fileName="src/components/Content.astro"
560
+ <div id="content"></div>
561
+
562
+ <script>
563
+ import { useIntlayer } from "astro-intlayer";
564
+
565
+ const { myMarkdownContent } = useIntlayer("app");
566
+
567
+ document.querySelector("#content")!.innerHTML = myMarkdownContent.value;
568
+ </script>
569
+ ```
570
+
571
+ > Astro はデフォルトで `{式}` をエスケープします。`set:html` はエスケープを回避する方法であり、レンダリングされた Markdown 文字列に必要なものです。
572
+
573
+ `.use()` メソッドを使用して、特定のタグのローカルオーバーライドを指定することもできます。オーバーライドは HTML 文字列を返す関数です:
574
+
575
+ ```astro
576
+ <div
577
+ set:html={myMarkdownContent.use({
578
+ h1: ({ children }) => `<h1 class="text-3xl font-bold">${children}</h1>`,
579
+ })}
580
+ />
581
+ ```
582
+
583
+ `.value` はレンダリングされたHTML文字列であり、`String()` / `.toString()` は生のMarkdownソースを返します:
584
+
585
+ ```astro
586
+ myMarkdownContent.value // "<h1>…</h1>"
587
+ String(myMarkdownContent) // "# …"
588
+ myMarkdownContent.toString() // "# …"
589
+ ```
590
+
591
+ また、次のようにMarkdownメタデータにアクセスできます:
592
+
593
+ ```astro
594
+ myMarkdownContent.metadata
595
+ myMarkdownContent.metadata.title
596
+ ```
597
+
598
+ </Tab>
492
599
  </Tabs>
493
600
 
494
601
  ### 2. ヘルパーユーティリティ(Markdown文字列のみ)
@@ -700,6 +807,60 @@ Markdown レンダリングは **MDX** をサポートしています — Markdo
700
807
  ```
701
808
 
702
809
  </Tab>
810
+ <Tab label="Remix" value="remix">
811
+ #### `useMarkdownRenderer()` フック
812
+
813
+ `installIntlayerMarkdown()` によって事前設定されたレンダラー関数を取得します。HTML 文字列を返します。
814
+
815
+ ```tsx
816
+ import { useMarkdownRenderer } from "remix-intlayer/markdown";
817
+
818
+ const renderMarkdown = useMarkdownRenderer({ forceBlock: true });
819
+
820
+ return <div innerHTML={renderMarkdown("# My Title")} />;
821
+ ```
822
+
823
+ #### `renderMarkdown()` ユーティリティ
824
+
825
+ グローバル設定を無視するスタンドアロンユーティリティ。
826
+
827
+ ```tsx
828
+ import { renderMarkdown } from "remix-intlayer/markdown";
829
+
830
+ const html = renderMarkdown("# My Title", { forceBlock: true });
831
+ ```
832
+
833
+ </Tab>
834
+ <Tab label="Astro" value="astro">
835
+ #### `useMarkdownRenderer()` フック
836
+
837
+ `installIntlayerMarkdown()` によって事前設定されたレンダラー関数を取得します。HTML 文字列を返します。
838
+
839
+ ```astro
840
+ ---
841
+ import { useMarkdownRenderer } from "astro-intlayer/markdown";
842
+
843
+ const renderMarkdown = useMarkdownRenderer({ forceBlock: true });
844
+ ---
845
+
846
+ <div set:html={renderMarkdown("# My Title")} />
847
+ ```
848
+
849
+ #### `renderMarkdown()` ユーティリティ
850
+
851
+ グローバル設定を無視するスタンドアロンユーティリティ。
852
+
853
+ ```astro
854
+ ---
855
+ import { renderMarkdown } from "astro-intlayer/markdown";
856
+
857
+ const html = renderMarkdown("# My Title", { forceBlock: true });
858
+ ---
859
+
860
+ <div set:html={html} />
861
+ ```
862
+
863
+ </Tab>
703
864
  </Tabs>
704
865
 
705
866
  ## `MarkdownProvider` を使用したグローバル設定
@@ -999,6 +1160,73 @@ Markdown レンダリングは **MDX** をサポートしています — Markdo
999
1160
  > Markdown レンダラーを動的にインポートすることは、アプリケーションのバンドルサイズを削減するためのよい方法です。
1000
1161
 
1001
1162
  </Tab>
1163
+ <Tab label="Remix" value="remix">
1164
+
1165
+ Remix にはプロバイダーを保持するコンポーネントツリーがないため、設定はサーバー起動時にシングルトンとして一度だけインストールされます。`useMarkdownRenderer()` によって返されるレンダラーを設定します。`useIntlayer` によって返される `md` ノードはデフォルトのコンパイラでレンダリングされます。ノードごとに `.use()` でタグをオーバーライドします。
1166
+
1167
+ ```typescript fileName="src/router.ts"
1168
+ import { installIntlayerMarkdown } from "remix-intlayer/markdown";
1169
+
1170
+ installIntlayerMarkdown({
1171
+ forceBlock: true,
1172
+ components: {
1173
+ h1: ({ children }) => `<h1 class="text-2xl font-bold">${children}</h1>`,
1174
+ },
1175
+ });
1176
+ ```
1177
+
1178
+ 独自のMarkdownレンダラーを使用することもできます:
1179
+
1180
+ ```typescript fileName="src/router.ts"
1181
+ import { installIntlayerMarkdown } from "remix-intlayer/markdown";
1182
+
1183
+ installIntlayerMarkdown({
1184
+ renderMarkdown: async (md) => {
1185
+ const { marked } = await import("marked");
1186
+ return marked(md) as string;
1187
+ },
1188
+ });
1189
+ ```
1190
+
1191
+ > レンダラー自体を遅延読み込みするには `installIntlayerMarkdownDynamic(async () => …)` を使用します。ローダーは最初の呼び出し時にのみ実行されます。
1192
+
1193
+ </Tab>
1194
+ <Tab label="Astro" value="astro">
1195
+
1196
+ Astro にはプロバイダーを保持するコンポーネントツリーがないため、設定はミドルウェア(サーバー)およびクライアント `<script>`(ブラウザ)でシングルトンとして一度だけインストールされます。`useMarkdownRenderer()` によって返されるレンダラーを設定します。`useIntlayer` によって返される `md` ノードはデフォルトのコンパイラでレンダリングされます。ノードごとに `.use()` でタグをオーバーライドします。
1197
+
1198
+ ```typescript fileName="src/middleware.ts"
1199
+ import { installIntlayerMarkdown } from "astro-intlayer/markdown";
1200
+ import { defineMiddleware } from "astro:middleware";
1201
+
1202
+ // サーバー起動時に1回実行されます。Intlayerミドルウェア自体は、
1203
+ // このファイルより前にインテグレーションによって登録されます。
1204
+ installIntlayerMarkdown({
1205
+ forceBlock: true,
1206
+ components: {
1207
+ h1: ({ children }) => `<h1 class="text-2xl font-bold">${children}</h1>`,
1208
+ },
1209
+ });
1210
+
1211
+ export const onRequest = defineMiddleware((_context, next) => next());
1212
+ ```
1213
+
1214
+ 独自のMarkdownレンダラーを使用することもできます:
1215
+
1216
+ ```typescript fileName="src/middleware.ts"
1217
+ import { installIntlayerMarkdown } from "astro-intlayer/markdown";
1218
+
1219
+ installIntlayerMarkdown({
1220
+ renderMarkdown: async (md) => {
1221
+ const { marked } = await import("marked");
1222
+ return marked(md) as string;
1223
+ },
1224
+ });
1225
+ ```
1226
+
1227
+ > レンダラー自体を遅延読み込みするには `installIntlayerMarkdownDynamic(async () => …)` を使用します。ローダーは最初の呼び出し時にのみ実行されます。
1228
+
1229
+ </Tab>
1002
1230
  </Tabs>
1003
1231
 
1004
1232
  ## Suspense
@@ -1327,6 +1555,40 @@ remark / rehype などの他の Markdown パーサーと比較して、Intlayer
1327
1555
  ```
1328
1556
 
1329
1557
  </Tab>
1558
+ <Tab label="Remix" value="remix">
1559
+
1560
+ Remix 3 はサーバー上でレンダリングして HTML をストリーミングするため、AST をクライアントに送信する必要はありません。一度パースし、ページが構築される場所で AST をレンダリングします:
1561
+
1562
+ ```tsx fileName="src/views/article.tsx"
1563
+ import { parseMarkdown, renderMarkdown } from "remix-intlayer/markdown";
1564
+
1565
+ // 1. Markdownをシリアライズ可能なASTにパースする(例: モジュール読み込み時に1回)
1566
+ const ast = parseMarkdown("## My title \n\nLorem Ipsum");
1567
+
1568
+ export const ArticlePage = () => () => (
1569
+ // 2. ASTをレンダリングする: レンダラーは生の文字列またはパースされたASTを受け入れます
1570
+ <article innerHTML={renderMarkdown(ast)} />
1571
+ );
1572
+ ```
1573
+
1574
+ </Tab>
1575
+ <Tab label="Astro" value="astro">
1576
+
1577
+ Astro ページはサーバー上でレンダリングされるため、AST をクライアントに送信する必要はありません。frontmatter で Markdown をパースし、`set:html` でレンダリングします:
1578
+
1579
+ ```astro fileName="src/pages/article.astro"
1580
+ ---
1581
+ import { parseMarkdown, renderMarkdown } from "astro-intlayer/markdown";
1582
+
1583
+ // 1. Markdownをシリアライズ可能なASTにパースする
1584
+ const ast = parseMarkdown("## My title \n\nLorem Ipsum");
1585
+ ---
1586
+
1587
+ <!-- 2. ASTをレンダリングする: レンダラーは生の文字列またはパースされたASTを受け入れます -->
1588
+ <article set:html={renderMarkdown(ast)} />
1589
+ ```
1590
+
1591
+ </Tab>
1330
1592
  </Tabs>
1331
1593
 
1332
1594
  このパターンにより、markdown の解析ロジックが完全にサーバー上で実行され、クライアント側の実行時間が大幅に削減され、初期ハイドレーション速度が向上します。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-21
4
4
  title: "Analog i18n - あなたのアプリを翻訳する完全ガイド"
5
5
  description: "i18nextはもう不要。2026年に多言語(i18n)Analogアプリを構築するためのガイド。AIエージェントで翻訳し、バンドルサイズ、SEO、パフォーマンスを最適化します。"
6
6
  keywords:
@@ -157,6 +157,28 @@ bun add intlayer angular-intlayer vite-intlayer
157
157
  </Step>
158
158
  <Step number={2} title="プロジェクトの設定">
159
159
 
160
+ ### アーキテクチャ
161
+
162
+ このアーキテクチャでは、`angular-intlayer` が `provideIntlayer()` を提供し、`src/app/app.config.ts` に登録されることで、すべてのコンポーネントおよびファイルベースのページが `useIntlayer` シグナルを通じてコンテンツを読み取れるようになります。Analog は Vite 上に構築されているため、`vite-intlayer` の `intlayer()` プラグインが `vite.config.ts` 内で `analog()` の隣に追加され、コンテンツ宣言の監視と再構築、およびロケールプロキシの実行を行います。コンテンツ宣言は `src/app/` 内のコンポーネントやページと一緒に配置されます。
163
+
164
+ ```bash
165
+ .
166
+ ├── src
167
+ │ ├── app
168
+ │ │ ├── pages
169
+ │ │ │ └── index.page.ts # File-based route using useIntlayer
170
+ │ │ ├── app.config.ts # Application config with provideIntlayer()
171
+ │ │ ├── app.content.ts # App content declaration
172
+ │ │ └── locale-switcher.component.ts
173
+ │ └── main.ts
174
+ ├── intlayer.config.ts
175
+ ├── package.json
176
+ ├── tsconfig.json
177
+ └── vite.config.ts # analog() and intlayer() Vite plugins
178
+ ```
179
+
180
+ ### 設定
181
+
160
182
  アプリケーションの言語を設定するための設定ファイルを作成します:
161
183
 
162
184
  ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-21
4
4
  title: "Angular 19 i18n - あなたのアプリを翻訳する完全ガイド"
5
5
  description: "i18nextはもう不要。2026年に多言語(i18n)Angular 19アプリを構築するためのガイド。AIエージェントで翻訳し、バンドルサイズ、SEO、パフォーマンスを最適化します。"
6
6
  keywords:
@@ -164,6 +164,29 @@ bun add @angular-builders/custom-webpack --dev
164
164
  </Step>
165
165
  <Step number={2} title="プロジェクトの構成">
166
166
 
167
+ ### アーキテクチャ
168
+
169
+ このアーキテクチャでは、`angular-intlayer` が `provideIntlayer()` を提供し、`src/app/app.config.ts` に登録されることで、すべてのコンポーネントが `useIntlayer` シグナルを通じてコンテンツを読み取れるようになります。Angular CLI はカスタム Webpack ビルダーに切り替えられ、`webpack.config.ts` が Intlayer プラグインをビルドにマージしてコンテンツ宣言を監視および再構築します。コンテンツ宣言は `src/app/` 内のコンポーネントと一緒に配置されます。
170
+
171
+ ```bash
172
+ .
173
+ ├── src
174
+ │ ├── app
175
+ │ │ ├── app.component.html # Root template reading the content signal
176
+ │ │ ├── app.component.ts # Root component using useIntlayer
177
+ │ │ ├── app.config.ts # Application config with provideIntlayer()
178
+ │ │ ├── app.content.ts # App content declaration
179
+ │ │ └── locale-switcher.component.ts
180
+ │ └── main.ts
181
+ ├── angular.json # Custom Webpack builder for build and serve
182
+ ├── intlayer.config.ts
183
+ ├── package.json
184
+ ├── tsconfig.json
185
+ └── webpack.config.ts # mergeConfig() from angular-intlayer/webpack
186
+ ```
187
+
188
+ ### 設定
189
+
167
190
  アプリケーションの言語を構成するための設定ファイルを作成します:
168
191
 
169
192
  ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2025-04-18
3
- updatedAt: 2026-08-30
3
+ updatedAt: 2026-09-21
4
4
  title: "Angular 22 i18n - あなたのアプリを翻訳する完全ガイド"
5
5
  description: "i18nextはもう不要。2026年に多言語(i18n)Angular 21アプリを構築するためのガイド。AIエージェントで翻訳し、バンドルサイズ、SEO、パフォーマンスを最適化します。"
6
6
  keywords:
@@ -166,6 +166,29 @@ bun add @angular-builders/custom-esbuild --dev
166
166
  </Step>
167
167
  <Step number={2} title="プロジェクトの構成">
168
168
 
169
+ ### アーキテクチャ
170
+
171
+ このアーキテクチャでは、`angular-intlayer` が `provideIntlayer()` を提供し、`src/app/app.config.ts` に登録されることで、すべてのコンポーネントが `useIntlayer` シグナルを通じてコンテンツを読み取れるようになります。Angular CLI はカスタム esbuild ビルダーに切り替えられ、`esbuild.plugins.ts` が Intlayer プラグインをビルドに登録してコンテンツ宣言を監視および再構築します。コンテンツ宣言は `src/app/` 内のコンポーネントと一緒に配置されます。
172
+
173
+ ```bash
174
+ .
175
+ ├── src
176
+ │ ├── app
177
+ │ │ ├── app.component.html # Root template reading the content signal
178
+ │ │ ├── app.component.ts # Root component using useIntlayer
179
+ │ │ ├── app.config.ts # Application config with provideIntlayer()
180
+ │ │ ├── app.content.ts # App content declaration
181
+ │ │ └── locale-switcher.component.ts
182
+ │ └── main.ts
183
+ ├── angular.json # Custom esbuild builder for build and serve
184
+ ├── esbuild.plugins.ts # intlayerEsbuildPlugin() from angular-intlayer/esbuild
185
+ ├── intlayer.config.ts
186
+ ├── package.json
187
+ └── tsconfig.json
188
+ ```
189
+
190
+ ### 設定
191
+
169
192
  アプリケーションの言語を構成するための構成ファイルを作成します:
170
193
 
171
194
  ```typescript fileName="intlayer.config.ts" codeFormat={["typescript", "esm", "commonjs"]}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  createdAt: 2024-03-07
3
- updatedAt: 2026-09-20
3
+ updatedAt: 2026-09-21
4
4
  title: "Astro i18n - あなたのアプリを翻訳する完全ガイド"
5
5
  description: "i18nextはもう不要。2026年に多言語(i18n)Astroアプリを構築するためのガイド。AIエージェントで翻訳し、バンドルサイズ、SEO、パフォーマンスを最適化します。"
6
6
  keywords:
@@ -160,6 +160,29 @@ bun add intlayer astro-intlayer
160
160
  </Step>
161
161
  <Step number={2} title="プロジェクトの設定">
162
162
 
163
+ ### アーキテクチャ
164
+
165
+ このアーキテクチャでは、`astro.config.ts` に登録された `intlayer()` 統合が辞書をビルドし、各リクエストのロケールを解決して `Astro.locals.intlayer` に公開するミドルウェアを追加します。ページは `src/pages/[...locale]/` レストセグメントの下に配置されるため、デフォルトロケールはプレフィックスなしで提供され、他のすべてのロケールには専用の URL が割り当てられます。`.astro` ファイルは `astro-intlayer` の `useIntlayer` / `useLocale` フックを使用してコンテンツを読み取り、コンテンツ宣言は `src/` 内のコンポーネントと一緒に配置されます。
166
+
167
+ ```bash
168
+ .
169
+ ├── src
170
+ │ ├── app.content.tsx # App content declaration
171
+ │ ├── components
172
+ │ │ └── LocaleSwitcher.astro # Locale switcher component
173
+ │ └── pages
174
+ │ ├── [...locale]
175
+ │ │ └── index.astro # Localized page (rest param also serves the default locale)
176
+ │ ├── robots.txt.ts # robots.txt endpoint
177
+ │ └── sitemap.xml.ts # Localized sitemap endpoint
178
+ ├── astro.config.ts # Astro config with the intlayer() integration
179
+ ├── intlayer.config.ts
180
+ ├── package.json
181
+ └── tsconfig.json
182
+ ```
183
+
184
+ ### 設定
185
+
163
186
  アプリケーションの言語を設定するための設定ファイルを作成します:
164
187
 
165
188
  ```typescript fileName="intlayer.config.ts"