@intlayer/docs 5.5.11 → 5.5.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/blog/ar/intlayer_with_next-intl.md +0 -1
  2. package/blog/ar/list_i18n_technologies/CMS/wordpress.md +1 -1
  3. package/blog/ar/list_i18n_technologies/frameworks/angular.md +1 -1
  4. package/blog/ar/list_i18n_technologies/frameworks/flutter.md +1 -1
  5. package/blog/ar/list_i18n_technologies/frameworks/react-native.md +1 -1
  6. package/blog/ar/list_i18n_technologies/frameworks/react.md +1 -1
  7. package/blog/ar/list_i18n_technologies/frameworks/svelte.md +1 -1
  8. package/blog/ar/list_i18n_technologies/frameworks/vue.md +1 -1
  9. package/blog/ar/what_is_internationalization.md +2 -2
  10. package/blog/de/intlayer_with_next-intl.md +0 -1
  11. package/blog/de/list_i18n_technologies/CMS/wordpress.md +1 -1
  12. package/blog/de/list_i18n_technologies/frameworks/angular.md +1 -1
  13. package/blog/de/list_i18n_technologies/frameworks/flutter.md +1 -1
  14. package/blog/de/list_i18n_technologies/frameworks/react-native.md +1 -1
  15. package/blog/de/list_i18n_technologies/frameworks/react.md +1 -1
  16. package/blog/de/list_i18n_technologies/frameworks/svelte.md +1 -1
  17. package/blog/de/list_i18n_technologies/frameworks/vue.md +1 -1
  18. package/blog/de/what_is_internationalization.md +2 -2
  19. package/blog/en/intlayer_with_next-intl.md +0 -1
  20. package/blog/en/list_i18n_technologies/CMS/wordpress.md +1 -1
  21. package/blog/en/list_i18n_technologies/frameworks/angular.md +1 -1
  22. package/blog/en/list_i18n_technologies/frameworks/flutter.md +1 -1
  23. package/blog/en/list_i18n_technologies/frameworks/react-native.md +1 -1
  24. package/blog/en/list_i18n_technologies/frameworks/react.md +1 -1
  25. package/blog/en/list_i18n_technologies/frameworks/svelte.md +1 -1
  26. package/blog/en/list_i18n_technologies/frameworks/vue.md +1 -1
  27. package/blog/en/what_is_internationalization.md +2 -2
  28. package/blog/en-GB/intlayer_with_next-intl.md +0 -1
  29. package/blog/en-GB/list_i18n_technologies/CMS/wordpress.md +1 -1
  30. package/blog/en-GB/list_i18n_technologies/frameworks/angular.md +1 -1
  31. package/blog/en-GB/list_i18n_technologies/frameworks/flutter.md +1 -1
  32. package/blog/en-GB/list_i18n_technologies/frameworks/react-native.md +1 -1
  33. package/blog/en-GB/list_i18n_technologies/frameworks/svelte.md +1 -1
  34. package/blog/en-GB/list_i18n_technologies/frameworks/vue.md +1 -1
  35. package/blog/en-GB/what_is_internationalization.md +2 -2
  36. package/blog/es/intlayer_with_next-intl.md +0 -1
  37. package/blog/es/list_i18n_technologies/CMS/wordpress.md +1 -1
  38. package/blog/es/list_i18n_technologies/frameworks/angular.md +1 -1
  39. package/blog/es/list_i18n_technologies/frameworks/flutter.md +1 -1
  40. package/blog/es/list_i18n_technologies/frameworks/react-native.md +1 -1
  41. package/blog/es/list_i18n_technologies/frameworks/react.md +1 -1
  42. package/blog/es/list_i18n_technologies/frameworks/svelte.md +1 -1
  43. package/blog/es/list_i18n_technologies/frameworks/vue.md +1 -1
  44. package/blog/es/what_is_internationalization.md +2 -2
  45. package/blog/fr/intlayer_with_next-intl.md +0 -1
  46. package/blog/fr/list_i18n_technologies/CMS/wordpress.md +1 -1
  47. package/blog/fr/list_i18n_technologies/frameworks/angular.md +1 -1
  48. package/blog/fr/list_i18n_technologies/frameworks/flutter.md +1 -1
  49. package/blog/fr/list_i18n_technologies/frameworks/react-native.md +1 -1
  50. package/blog/fr/list_i18n_technologies/frameworks/react.md +1 -1
  51. package/blog/fr/list_i18n_technologies/frameworks/svelte.md +1 -1
  52. package/blog/fr/list_i18n_technologies/frameworks/vue.md +1 -1
  53. package/blog/fr/what_is_internationalization.md +2 -2
  54. package/blog/hi/list_i18n_technologies/CMS/wordpress.md +1 -1
  55. package/blog/hi/list_i18n_technologies/frameworks/angular.md +1 -1
  56. package/blog/hi/list_i18n_technologies/frameworks/flutter.md +1 -1
  57. package/blog/hi/list_i18n_technologies/frameworks/react-native.md +1 -1
  58. package/blog/hi/list_i18n_technologies/frameworks/react.md +1 -1
  59. package/blog/hi/list_i18n_technologies/frameworks/svelte.md +1 -1
  60. package/blog/hi/list_i18n_technologies/frameworks/vue.md +1 -1
  61. package/blog/hi/what_is_internationalization.md +2 -2
  62. package/blog/it/intlayer_with_next-intl.md +0 -1
  63. package/blog/it/list_i18n_technologies/CMS/wordpress.md +1 -1
  64. package/blog/it/list_i18n_technologies/frameworks/angular.md +1 -1
  65. package/blog/it/list_i18n_technologies/frameworks/react-native.md +1 -1
  66. package/blog/it/list_i18n_technologies/frameworks/react.md +1 -1
  67. package/blog/it/list_i18n_technologies/frameworks/svelte.md +1 -1
  68. package/blog/it/list_i18n_technologies/frameworks/vue.md +1 -1
  69. package/blog/it/what_is_internationalization.md +2 -2
  70. package/blog/ja/intlayer_with_next-intl.md +0 -1
  71. package/blog/ja/list_i18n_technologies/CMS/wordpress.md +1 -1
  72. package/blog/ja/list_i18n_technologies/frameworks/angular.md +1 -1
  73. package/blog/ja/list_i18n_technologies/frameworks/flutter.md +1 -1
  74. package/blog/ja/list_i18n_technologies/frameworks/react-native.md +1 -1
  75. package/blog/ja/list_i18n_technologies/frameworks/react.md +1 -1
  76. package/blog/ja/list_i18n_technologies/frameworks/svelte.md +1 -1
  77. package/blog/ja/list_i18n_technologies/frameworks/vue.md +1 -1
  78. package/blog/ja/what_is_internationalization.md +2 -2
  79. package/blog/ko/intlayer_with_next-intl.md +0 -1
  80. package/blog/ko/list_i18n_technologies/CMS/wordpress.md +1 -1
  81. package/blog/ko/list_i18n_technologies/frameworks/angular.md +1 -1
  82. package/blog/ko/list_i18n_technologies/frameworks/react-native.md +1 -1
  83. package/blog/ko/list_i18n_technologies/frameworks/react.md +1 -1
  84. package/blog/ko/list_i18n_technologies/frameworks/vue.md +1 -1
  85. package/blog/pt/intlayer_with_next-intl.md +0 -1
  86. package/blog/pt/list_i18n_technologies/CMS/wordpress.md +1 -1
  87. package/blog/pt/list_i18n_technologies/frameworks/angular.md +1 -1
  88. package/blog/pt/list_i18n_technologies/frameworks/flutter.md +1 -1
  89. package/blog/pt/list_i18n_technologies/frameworks/react-native.md +1 -1
  90. package/blog/pt/list_i18n_technologies/frameworks/react.md +1 -1
  91. package/blog/pt/list_i18n_technologies/frameworks/svelte.md +1 -1
  92. package/blog/pt/list_i18n_technologies/frameworks/vue.md +1 -1
  93. package/blog/pt/what_is_internationalization.md +2 -2
  94. package/blog/ru/intlayer_with_next-intl.md +0 -1
  95. package/blog/ru/list_i18n_technologies/CMS/wordpress.md +1 -1
  96. package/blog/ru/list_i18n_technologies/frameworks/angular.md +1 -1
  97. package/blog/ru/list_i18n_technologies/frameworks/flutter.md +1 -1
  98. package/blog/ru/list_i18n_technologies/frameworks/react-native.md +1 -1
  99. package/blog/ru/list_i18n_technologies/frameworks/react.md +1 -1
  100. package/blog/ru/list_i18n_technologies/frameworks/svelte.md +1 -1
  101. package/blog/ru/list_i18n_technologies/frameworks/vue.md +1 -1
  102. package/blog/ru/what_is_internationalization.md +2 -2
  103. package/blog/zh/intlayer_with_next-intl.md +0 -1
  104. package/blog/zh/list_i18n_technologies/CMS/wordpress.md +1 -1
  105. package/blog/zh/list_i18n_technologies/frameworks/angular.md +1 -1
  106. package/blog/zh/list_i18n_technologies/frameworks/flutter.md +1 -1
  107. package/blog/zh/list_i18n_technologies/frameworks/react-native.md +1 -1
  108. package/blog/zh/list_i18n_technologies/frameworks/react.md +1 -1
  109. package/blog/zh/list_i18n_technologies/frameworks/svelte.md +1 -1
  110. package/blog/zh/list_i18n_technologies/frameworks/vue.md +1 -1
  111. package/blog/zh/what_is_internationalization.md +2 -2
  112. package/dist/cjs/blog.cjs +2 -2
  113. package/dist/cjs/blog.cjs.map +1 -1
  114. package/dist/cjs/common.cjs +17 -6
  115. package/dist/cjs/common.cjs.map +1 -1
  116. package/dist/cjs/doc.cjs +2 -2
  117. package/dist/cjs/doc.cjs.map +1 -1
  118. package/dist/cjs/frequentQuestions.cjs +2 -2
  119. package/dist/cjs/frequentQuestions.cjs.map +1 -1
  120. package/dist/cjs/generated/blog.entry.cjs +1152 -252
  121. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  122. package/dist/cjs/generated/docs.entry.cjs +3778 -1124
  123. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  124. package/dist/cjs/generated/frequentQuestions.entry.cjs +794 -161
  125. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  126. package/dist/cjs/generated/legal.entry.cjs +32 -31
  127. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  128. package/dist/cjs/legal.cjs +2 -2
  129. package/dist/cjs/legal.cjs.map +1 -1
  130. package/dist/esm/blog.mjs +2 -2
  131. package/dist/esm/blog.mjs.map +1 -1
  132. package/dist/esm/common.mjs +17 -6
  133. package/dist/esm/common.mjs.map +1 -1
  134. package/dist/esm/doc.mjs +2 -2
  135. package/dist/esm/doc.mjs.map +1 -1
  136. package/dist/esm/frequentQuestions.mjs +2 -2
  137. package/dist/esm/frequentQuestions.mjs.map +1 -1
  138. package/dist/esm/generated/blog.entry.mjs +1151 -252
  139. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  140. package/dist/esm/generated/docs.entry.mjs +3777 -1124
  141. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  142. package/dist/esm/generated/frequentQuestions.entry.mjs +793 -161
  143. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  144. package/dist/esm/generated/legal.entry.mjs +31 -31
  145. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  146. package/dist/esm/legal.mjs +2 -2
  147. package/dist/esm/legal.mjs.map +1 -1
  148. package/dist/types/blog.d.ts +2 -2
  149. package/dist/types/blog.d.ts.map +1 -1
  150. package/dist/types/common.d.ts +3 -2
  151. package/dist/types/common.d.ts.map +1 -1
  152. package/dist/types/doc.d.ts +2 -2
  153. package/dist/types/doc.d.ts.map +1 -1
  154. package/dist/types/frequentQuestions.d.ts +2 -2
  155. package/dist/types/frequentQuestions.d.ts.map +1 -1
  156. package/dist/types/generated/blog.entry.d.ts.map +1 -1
  157. package/dist/types/generated/docs.entry.d.ts.map +1 -1
  158. package/dist/types/generated/frequentQuestions.entry.d.ts +1 -0
  159. package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
  160. package/dist/types/generated/legal.entry.d.ts.map +1 -1
  161. package/dist/types/legal.d.ts +2 -2
  162. package/dist/types/legal.d.ts.map +1 -1
  163. package/docs/ar/intlayer_with_vite+react.md +100 -108
  164. package/docs/de/intlayer_with_vite+react.md +121 -142
  165. package/docs/en/CI_CD.md +3 -1
  166. package/docs/en/autoFill.md +3 -1
  167. package/docs/en/configuration.md +4 -1
  168. package/docs/en/dictionary/condition.md +3 -1
  169. package/docs/en/dictionary/content_extention_customization.md +3 -1
  170. package/docs/en/dictionary/enumeration.md +3 -1
  171. package/docs/en/dictionary/file.md +3 -1
  172. package/docs/en/dictionary/function_fetching.md +3 -1
  173. package/docs/en/dictionary/get_started.md +3 -1
  174. package/docs/en/dictionary/insertion.md +3 -1
  175. package/docs/en/dictionary/markdown.md +3 -1
  176. package/docs/en/dictionary/nesting.md +3 -1
  177. package/docs/en/dictionary/translation.md +3 -1
  178. package/docs/en/how_works_intlayer.md +3 -1
  179. package/docs/en/index.md +3 -1
  180. package/docs/en/interest_of_intlayer.md +3 -1
  181. package/docs/en/intlayer_CMS.md +3 -1
  182. package/docs/en/intlayer_cli.md +3 -1
  183. package/docs/en/intlayer_visual_editor.md +3 -1
  184. package/docs/en/intlayer_with_angular.md +3 -1
  185. package/docs/en/intlayer_with_create_react_app.md +3 -1
  186. package/docs/en/intlayer_with_express.md +3 -1
  187. package/docs/en/intlayer_with_lynx+react.md +3 -1
  188. package/docs/en/intlayer_with_nextjs_14.md +6 -1
  189. package/docs/en/intlayer_with_nextjs_15.md +5 -1
  190. package/docs/en/intlayer_with_nextjs_page_router.md +5 -1
  191. package/docs/en/intlayer_with_nuxt.md +3 -1
  192. package/docs/en/intlayer_with_react_native+expo.md +3 -1
  193. package/docs/en/intlayer_with_vite+preact.md +3 -1
  194. package/docs/en/intlayer_with_vite+react.md +9 -7
  195. package/docs/en/intlayer_with_vite+solid.md +3 -1
  196. package/docs/en/intlayer_with_vite+svelte.md +3 -1
  197. package/docs/en/intlayer_with_vite+vue.md +3 -1
  198. package/docs/en/introduction.md +3 -1
  199. package/docs/en/mcp_server.md +42 -1
  200. package/docs/en/packages/@intlayer/api/index.md +3 -1
  201. package/docs/en/packages/@intlayer/chokidar/index.md +3 -1
  202. package/docs/en/packages/@intlayer/cli/index.md +3 -1
  203. package/docs/en/packages/@intlayer/config/index.md +3 -1
  204. package/docs/en/packages/@intlayer/core/index.md +3 -1
  205. package/docs/en/packages/@intlayer/design-system/index.md +3 -1
  206. package/docs/en/packages/@intlayer/dictionary-entry/index.md +3 -1
  207. package/docs/en/packages/@intlayer/editor/index.md +3 -1
  208. package/docs/en/packages/@intlayer/editor-react/index.md +3 -1
  209. package/docs/en/packages/@intlayer/webpack/index.md +3 -1
  210. package/docs/en/packages/angular-intlayer/index.md +3 -1
  211. package/docs/en/packages/express-intlayer/index.md +3 -1
  212. package/docs/en/packages/express-intlayer/t.md +3 -1
  213. package/docs/en/packages/intlayer/getConfiguration.md +3 -1
  214. package/docs/en/packages/intlayer/getEnumeration.md +3 -1
  215. package/docs/en/packages/intlayer/getHTMLTextDir.md +3 -1
  216. package/docs/en/packages/intlayer/getLocaleLang.md +3 -1
  217. package/docs/en/packages/intlayer/getLocaleName.md +3 -1
  218. package/docs/en/packages/intlayer/getLocalizedUrl.md +3 -1
  219. package/docs/en/packages/intlayer/getMultilingualUrls.md +3 -1
  220. package/docs/en/packages/intlayer/getPathWithoutLocale.md +3 -1
  221. package/docs/en/packages/intlayer/getTranslation.md +3 -1
  222. package/docs/en/packages/intlayer/getTranslationContent.md +3 -1
  223. package/docs/en/packages/intlayer/index.md +3 -1
  224. package/docs/en/packages/intlayer-cli/index.md +3 -1
  225. package/docs/en/packages/intlayer-editor/index.md +3 -1
  226. package/docs/en/packages/lynx-intlayer/index.md +3 -1
  227. package/docs/en/packages/next-intlayer/index.md +3 -1
  228. package/docs/en/packages/next-intlayer/t.md +3 -1
  229. package/docs/en/packages/next-intlayer/useDictionary.md +3 -1
  230. package/docs/en/packages/next-intlayer/useIntlayer.md +3 -1
  231. package/docs/en/packages/next-intlayer/useIntlayerAsync.md +3 -1
  232. package/docs/en/packages/next-intlayer/useLocale.md +3 -1
  233. package/docs/en/packages/nuxt-intlayer/index.md +3 -1
  234. package/docs/en/packages/preact-intlayer/index.md +3 -1
  235. package/docs/en/packages/react-intlayer/index.md +3 -1
  236. package/docs/en/packages/react-intlayer/t.md +3 -1
  237. package/docs/en/packages/react-intlayer/useDictionary.md +3 -1
  238. package/docs/en/packages/react-intlayer/useIntlayer.md +3 -1
  239. package/docs/en/packages/react-intlayer/useIntlayerAsync.md +3 -1
  240. package/docs/en/packages/react-intlayer/useLocale.md +3 -1
  241. package/docs/en/packages/react-native-intlayer/index.md +3 -1
  242. package/docs/en/packages/react-scripts-intlayer/index.md +3 -1
  243. package/docs/en/packages/solid-intlayer/index.md +3 -1
  244. package/docs/en/packages/svelte-intlayer/index.md +3 -1
  245. package/docs/en/packages/vite-intlayer/index.md +3 -1
  246. package/docs/en/packages/vue-intlayer/index.md +3 -1
  247. package/docs/en/per_locale_file.md +3 -1
  248. package/docs/en/roadmap.md +5 -2
  249. package/docs/en/vs_code_extension.md +3 -1
  250. package/docs/en-GB/intlayer_with_vite+react.md +64 -83
  251. package/docs/es/intlayer_with_vite+react.md +91 -94
  252. package/docs/fr/intlayer_with_vite+react.md +73 -65
  253. package/docs/hi/intlayer_with_vite+react.md +107 -107
  254. package/docs/it/intlayer_with_vite+react.md +156 -112
  255. package/docs/ja/intlayer_with_vite+react.md +153 -218
  256. package/docs/ko/intlayer_with_vite+react.md +116 -148
  257. package/docs/ko/packages/intlayer/getLocalizedUrl.md +1 -23
  258. package/docs/pt/intlayer_with_vite+react.md +110 -132
  259. package/docs/ru/intlayer_with_vite+react.md +98 -83
  260. package/docs/zh/intlayer_with_vite+react.md +147 -184
  261. package/docs/zh/packages/intlayer/getLocalizedUrl.md +1 -23
  262. package/frequent_questions/ar/build_error_CI_CD.md +75 -0
  263. package/frequent_questions/de/build_error_CI_CD.md +75 -0
  264. package/frequent_questions/en/build_error_CI_CD.md +75 -0
  265. package/frequent_questions/en-GB/build_error_CI_CD.md +75 -0
  266. package/frequent_questions/es/build_error_CI_CD.md +75 -0
  267. package/frequent_questions/fr/build_error_CI_CD.md +75 -0
  268. package/frequent_questions/hi/build_error_CI_CD.md +75 -0
  269. package/frequent_questions/it/build_error_CI_CD.md +75 -0
  270. package/frequent_questions/ja/build_error_CI_CD.md +75 -0
  271. package/frequent_questions/ja/intlayer_command_undefined.md +3 -3
  272. package/frequent_questions/ko/build_error_CI_CD.md +75 -0
  273. package/frequent_questions/ko/intlayer_command_undefined.md +3 -3
  274. package/frequent_questions/pt/build_error_CI_CD.md +75 -0
  275. package/frequent_questions/ru/build_error_CI_CD.md +75 -0
  276. package/frequent_questions/zh/build_error_CI_CD.md +75 -0
  277. package/frequent_questions/zh/intlayer_command_undefined.md +3 -3
  278. package/legal/ar/privacy_notice.md +83 -0
  279. package/legal/ar/terms_of_service.md +55 -0
  280. package/legal/de/privacy_notice.md +83 -0
  281. package/legal/de/terms_of_service.md +55 -0
  282. package/legal/en/privacy_notice.md +83 -0
  283. package/legal/en/terms_of_service.md +55 -0
  284. package/legal/en-GB/privacy_notice.md +83 -0
  285. package/legal/en-GB/terms_of_service.md +55 -0
  286. package/legal/es/privacy_notice.md +83 -0
  287. package/legal/es/terms_of_service.md +55 -0
  288. package/legal/fr/privacy_notice.md +83 -0
  289. package/legal/fr/terms_of_service.md +55 -0
  290. package/legal/hi/privacy_notice.md +83 -0
  291. package/legal/hi/terms_of_service.md +55 -0
  292. package/legal/it/privacy_notice.md +83 -0
  293. package/legal/it/terms_of_service.md +55 -0
  294. package/legal/ja/privacy_notice.md +83 -0
  295. package/legal/ja/terms_of_service.md +55 -0
  296. package/legal/ko/privacy_notice.md +83 -0
  297. package/legal/ko/terms_of_service.md +55 -0
  298. package/legal/pt/privacy_notice.md +83 -0
  299. package/legal/pt/terms_of_service.md +55 -0
  300. package/legal/ru/privacy_notice.md +83 -0
  301. package/legal/ru/terms_of_service.md +55 -0
  302. package/legal/zh/privacy_notice.md +83 -0
  303. package/legal/zh/terms_of_service.md +55 -0
  304. package/package.json +7 -6
  305. package/src/blog.ts +6 -4
  306. package/src/common.ts +23 -7
  307. package/src/doc.ts +6 -4
  308. package/src/frequentQuestions.ts +6 -4
  309. package/src/generated/blog.entry.ts +1177 -280
  310. package/src/generated/docs.entry.ts +3868 -1217
  311. package/src/generated/frequentQuestions.entry.ts +808 -178
  312. package/src/generated/legal.entry.ts +34 -36
  313. package/src/legal.ts +6 -4
@@ -1,44 +1,44 @@
1
1
  ---
2
- createdAt: 2025-03-07
3
- updatedAt: 2025-06-29
4
- title: React Native と Expo モバイルアプリの翻訳 (i18n)
5
- description: React Native と Expo モバイルアプリを多言語対応にする方法を紹介します。国際化(i18n)と翻訳のためのドキュメントに従ってください。
2
+ createdAt: 2024-03-07
3
+ updatedAt: 2024-03-07
4
+ title: Vite + ReactでのIntlayerの使い始め
5
+ description: Intlayerを使ってViteとReactアプリケーションに国際化(i18n)を追加する方法を学びます。このガイドに従ってアプリを多言語対応にしましょう。
6
6
  keywords:
7
7
  - 国際化
8
8
  - ドキュメント
9
9
  - Intlayer
10
10
  - Vite
11
11
  - React
12
- - React Native
12
+ - i18n
13
13
  - JavaScript
14
14
  slugs:
15
15
  - doc
16
16
  - environment
17
- - react-native-and-expo
17
+ - vite-and-react
18
18
  ---
19
19
 
20
- # Intlayer Vite React で国際化(i18n)を始める
20
+ # IntlayerとViteとReactで始める国際化(i18n
21
21
 
22
- GitHub [アプリケーションテンプレート](https://github.com/aymericzip/intlayer-vite-react-template) を参照してください。
22
+ GitHubの[アプリケーションテンプレート](https://github.com/aymericzip/intlayer-vite-react-template)を参照してください。
23
23
 
24
- ## Intlayer とは?
24
+ ## Intlayerとは?
25
25
 
26
- **Intlayer** は、最新のウェブアプリケーションにおける多言語対応を簡素化するために設計された革新的なオープンソースの国際化(i18n)ライブラリです。
26
+ **Intlayer**は、最新のウェブアプリケーションでの多言語対応を簡素化するために設計された革新的なオープンソースの国際化(i18n)ライブラリです。
27
27
 
28
- Intlayer を使うと、以下が可能です:
28
+ Intlayerを使うと、以下が可能です:
29
29
 
30
- - **コンポーネントレベルで宣言的な辞書を使って翻訳を簡単に管理**できます。
31
- - **メタデータ、ルート、コンテンツを動的にローカライズ**できます。
32
- - **自動生成された型により TypeScript サポートを確保**し、オートコンプリートやエラー検出を向上させます。
33
- - **動的なロケール検出や切り替えなどの高度な機能**を利用できます。
30
+ - **コンポーネントレベルで宣言的な辞書を使って** 翻訳を簡単に管理できます。
31
+ - **メタデータ、ルート、コンテンツを動的にローカライズ** できます。
32
+ - **自動生成された型によりTypeScriptサポートを保証** し、オートコンプリートやエラー検出を向上させます。
33
+ - **動的なロケール検出や切り替えなどの高度な機能を活用** できます。
34
34
 
35
35
  ---
36
36
 
37
- ## Vite React アプリケーションで Intlayer をセットアップするステップバイステップガイド
37
+ ## ViteとReactアプリケーションでIntlayerをセットアップするステップバイステップガイド
38
38
 
39
- ### ステップ 1: 依存パッケージのインストール
39
+ ### ステップ1: 依存関係のインストール
40
40
 
41
- npm を使って必要なパッケージをインストールします:
41
+ npmを使って必要なパッケージをインストールします:
42
42
 
43
43
  ```bash packageManager="npm"
44
44
  npm install intlayer react-intlayer
@@ -60,20 +60,14 @@ yarn add --save-dev vite-intlayer
60
60
  設定管理、翻訳、[コンテンツ宣言](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/get_started.md)、トランスパイル、および[CLIコマンド](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_cli.md)のための国際化ツールを提供するコアパッケージです。
61
61
 
62
62
  - **react-intlayer**
63
- IntlayerをReactアプリケーションに統合するパッケージです。Reactの国際化のためのコンテキストプロバイダーとフックを提供します。
63
+ IntlayerをReactアプリケーションと統合するパッケージです。Reactの国際化のためのコンテキストプロバイダーとフックを提供します。
64
64
 
65
65
  - **vite-intlayer**
66
- /ja/intlayer_cli.md)のための国際化ツールを提供するコアパッケージです。
66
+ Intlayerを[Viteバンドラー](https://vite.dev/guide/why.html#why-bundle-for-production)と統合するためのViteプラグイン、およびユーザーの優先ロケール検出、クッキー管理、URLリダイレクト処理のためのミドルウェアを含みます。
67
67
 
68
- - **react-intlayer**
69
- IntlayerをReactアプリケーションに統合するパッケージです。Reactの国際化のためのコンテキストプロバイダーとフックを提供します。
70
-
71
- - **vite-intlayer**
72
- Intlayerを[Viteバンドラー](https://vite.dev/guide/why.html#why-bundle-for-production)と統合するためのViteプラグイン、およびユーザーの優先ロケールの検出、クッキー管理、URLリダイレクト処理のためのミドルウェアを含みます。
68
+ ### ステップ 2: プロジェクトの設定
73
69
 
74
- ### ステップ2: プロジェクトの設定
75
-
76
- アプリケーションの言語を設定するための設定ファイルを作成します:
70
+ アプリケーションの言語を設定するための設定ファイルを作成します:
77
71
 
78
72
  ```typescript fileName="intlayer.config.ts" codeFormat="typescript"
79
73
  import { Locales, type IntlayerConfig } from "intlayer";
@@ -84,7 +78,7 @@ const config: IntlayerConfig = {
84
78
  Locales.ENGLISH,
85
79
  Locales.FRENCH,
86
80
  Locales.SPANISH,
87
- // 他のロケールを追加
81
+ // 他のロケールをここに追加
88
82
  ],
89
83
  defaultLocale: Locales.ENGLISH,
90
84
  },
@@ -103,7 +97,7 @@ const config = {
103
97
  Locales.ENGLISH,
104
98
  Locales.FRENCH,
105
99
  Locales.SPANISH,
106
- // 他のロケールを追加
100
+ // 他のロケールをここに追加
107
101
  ],
108
102
  defaultLocale: Locales.ENGLISH,
109
103
  },
@@ -122,7 +116,7 @@ const config = {
122
116
  Locales.ENGLISH,
123
117
  Locales.FRENCH,
124
118
  Locales.SPANISH,
125
- // 他のロケールを追加
119
+ // 他のロケールをここに追加
126
120
  ],
127
121
  defaultLocale: Locales.ENGLISH,
128
122
  },
@@ -131,11 +125,11 @@ const config = {
131
125
  module.exports = config;
132
126
  ```
133
127
 
134
- > この設定ファイルを通じて、ローカライズされたURL、ミドルウェアのリダイレクション、クッキー名、コンテンツ宣言の場所や拡張子、コンソールでのIntlayerログの無効化などを設定できます。利用可能なパラメータの完全なリストについては、[設定ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)を参照してください。
128
+ > この設定ファイルを通じて、ローカライズされたURL、ミドルウェアのリダイレクション、クッキー名、コンテンツ宣言の場所と拡張子、コンソールでのIntlayerログの無効化などを設定できます。利用可能なパラメータの完全なリストについては、[設定ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)を参照してください。
135
129
 
136
130
  ### ステップ3: Vite設定にIntlayerを統合する
137
131
 
138
- intlayerプラグインを設定に追加します。
132
+ 設定にintlayerプラグインを追加します。
139
133
 
140
134
  ```typescript fileName="vite.config.ts" codeFormat="typescript"
141
135
  import { defineConfig } from "vite";
@@ -148,23 +142,6 @@ export default defineConfig({
148
142
  });
149
143
  ```
150
144
 
151
- ````> この設定ファイルを通じて、ローカライズされたURL、ミドルウェアのリダイレクション、クッキー名、コンテンツ宣言の場所や拡張子、コンソールでのIntlayerログの無効化などを設定できます。利用可能なパラメータの完全なリストについては、[設定ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)を参照してください。
152
-
153
- ### ステップ3: Vite設定にIntlayerを統合する
154
-
155
- intlayerプラグインを設定に追加します。
156
-
157
- ```typescript fileName="vite.config.ts" codeFormat="typescript"
158
- import { defineConfig } from "vite";
159
- import react from "@vitejs/plugin-react-swc";
160
- import { intlayerPlugin } from "vite-intlayer";
161
-
162
- // https://vitejs.dev/config/
163
- export default defineConfig({
164
- plugins: [react(), intlayerPlugin()],
165
- });
166
- ````
167
-
168
145
  ```javascript fileName="vite.config.mjs" codeFormat="esm"
169
146
  import { defineConfig } from "vite";
170
147
  import react from "@vitejs/plugin-react-swc";
@@ -187,34 +164,11 @@ module.exports = defineConfig({
187
164
  });
188
165
  ```
189
166
 
190
- > `intlayerPlugin()` Viteプラグインは、IntlayerをViteと統合するために使用されます。コンテンツ宣言ファイルのビルドを保証し、開発モードでそれらを監視します。Viteアプリケーション内でIntlayerの環境変数を定義します。さらに、パフォーマンス最適化のためのエイリアスも提供します。
191
-
192
- ### ステップ4: コンテンツを宣言する
193
-
194
- 翻訳を格納するためのコンテンツ宣言を作成および管理します:
195
-
196
- ```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
197
- import { t, type Dictionary } from "intlayer";
198
- import type { ReactNode } from "react";
199
-
200
- const appContent = {
201
- key: "app",
202
- content: {
203
- viteLogo: t({
204
- en: "Vite logo",
205
- fr: "Logo Vite",
206
- es: "Logo Vite",
207
- }),
208
- reactLogo: t({
209
- en: "React logo",
210
- fr: "Logo React",
211
- ```
212
-
213
- > `intlayerPlugin()` Viteプラグインは、IntlayerをViteと統合するために使用されます。これにより、コンテンツ宣言ファイルのビルドが保証され、開発モードで監視されます。また、Viteアプリケーション内でIntlayerの環境変数を定義します。さらに、パフォーマンス最適化のためのエイリアスも提供します。
167
+ > `intlayerPlugin()` Viteプラグインは、IntlayerをViteと統合するために使用されます。これにより、コンテンツ宣言ファイルのビルドが保証され、開発モードで監視されます。また、Viteアプリケーション内でIntlayerの環境変数を定義します。さらに、パフォーマンスを最適化するためのエイリアスも提供します。
214
168
 
215
169
  ### ステップ4: コンテンツを宣言する
216
170
 
217
- 翻訳を格納するためのコンテンツ宣言を作成および管理します:
171
+ 翻訳を格納するためのコンテンツ宣言を作成および管理します:
218
172
 
219
173
  ```tsx fileName="src/app.content.tsx" contentDeclarationFormat="typescript"
220
174
  import { t, type Dictionary } from "intlayer";
@@ -245,17 +199,17 @@ const appContent = {
245
199
  edit: t<ReactNode>({
246
200
  en: (
247
201
  <>
248
- <code>src/App.tsx</code> を編集して保存し、HMR をテストします
202
+ <code>src/App.tsx</code> を編集して保存し、HMRをテストします
249
203
  </>
250
204
  ),
251
205
  fr: (
252
206
  <>
253
- <code>src/App.tsx</code> を編集して保存し、HMR をテストします
207
+ <code>src/App.tsx</code> を編集して保存し、HMRをテストします
254
208
  </>
255
209
  ),
256
210
  es: (
257
211
  <>
258
- <code>src/App.tsx</code> を編集して保存し、HMR をテストします
212
+ <code>src/App.tsx</code> を編集して保存し、HMRをテストします
259
213
  </>
260
214
  ),
261
215
  }),
@@ -321,7 +275,7 @@ const appContent = {
321
275
  },
322
276
 
323
277
  readTheDocs: t({
324
- en: "Click on the Vite and React logos to learn more",
278
+ en: "ViteReactのロゴをクリックして詳細を確認してください",
325
279
  fr: "Cliquez sur les logos Vite et React pour en savoir plus",
326
280
  es: "Haga clic en los logotipos de Vite y React para obtener más información",
327
281
  }),
@@ -339,13 +293,11 @@ const appContent = {
339
293
  key: "app",
340
294
  content: {
341
295
  viteLogo: t({
342
- ja: "Vite ロゴ",
343
296
  en: "Vite logo",
344
297
  fr: "Logo Vite",
345
298
  es: "Logo Vite",
346
299
  }),
347
300
  reactLogo: t({
348
- ja: "React ロゴ",
349
301
  en: "React logo",
350
302
  fr: "Logo React",
351
303
  es: "Logo React",
@@ -354,7 +306,6 @@ const appContent = {
354
306
  title: "Vite + React",
355
307
 
356
308
  count: t({
357
- ja: "カウントは ",
358
309
  en: "count is ",
359
310
  fr: "le compte est ",
360
311
  es: "el recuento es ",
@@ -365,11 +316,6 @@ const appContent = {
365
316
  ReactNode >
366
317
  {
367
318
  // コンテンツ内でReactノードを使用する場合はReactをインポートすることを忘れないでください
368
- ja: (
369
- <>
370
- <code>src/App.tsx</code> を編集して保存し、HMRをテストします
371
- </>
372
- ),
373
319
  en: (
374
320
  <>
375
321
  Edit <code>src/App.tsx</code> and save to test HMR
@@ -391,7 +337,7 @@ const appContent = {
391
337
  en: "Click on the Vite and React logos to learn more",
392
338
  fr: "Cliquez sur les logos Vite et React pour en savoir plus",
393
339
  es: "Haga clic en los logotipos de Vite y React para obtener más información",
394
- ja: "ViteとReactのロゴをクリックして詳細を学んでください",
340
+ ja: "詳細を知るには、Vite React のロゴをクリックしてください",
395
341
  }),
396
342
  },
397
343
  };
@@ -410,7 +356,7 @@ module.exports = appContent;
410
356
  "en": "Vite logo",
411
357
  "fr": "Logo Vite",
412
358
  "es": "Logo Vite",
413
- "ja": "Viteロゴ"
359
+ "ja": "Vite ロゴ"
414
360
  }
415
361
  },
416
362
  "reactLogo": {
@@ -443,7 +389,7 @@ module.exports = appContent;
443
389
  "edit": {
444
390
  "nodeType": "translation",
445
391
  "translation": {
446
- "ja": "src/App.tsx を編集して保存し、HMR をテストします",
392
+ "ja": "src/App.tsx を編集して保存し、HMR をテストしてください",
447
393
  "en": "Edit src/App.tsx and save to test HMR",
448
394
  "fr": "Éditez src/App.tsx et enregistrez pour tester HMR",
449
395
  "es": "Edita src/App.tsx y guarda para probar HMR"
@@ -452,7 +398,8 @@ module.exports = appContent;
452
398
  "readTheDocs": {
453
399
  "nodeType": "translation",
454
400
  "translation": {
455
- "ja": "Vite React のロゴをクリックして詳細を学びましょう",
401
+ "ja": "ViteとReactのロゴをクリックして詳細を学びましょう",
402
+ "en": "Click on the Vite and React logos to learn more",
456
403
  "fr": "Cliquez sur les logos Vite et React pour en savoir plus",
457
404
  "es": "Haga clic en los logotipos de Vite y React para obtener más información"
458
405
  }
@@ -461,11 +408,11 @@ module.exports = appContent;
461
408
  }
462
409
  ```
463
410
 
464
- > あなたのコンテンツ宣言は、`contentDir` ディレクトリ(デフォルトは `./src`)に含まれた時点で、アプリケーションのどこにでも定義できます。また、コンテンツ宣言ファイルの拡張子(デフォルトは `.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`)に一致する必要があります。
411
+ > あなたのコンテンツ宣言は、`contentDir`ディレクトリ(デフォルトは`./src`)に含まれた時点で、アプリケーションのどこにでも定義できます。そして、コンテンツ宣言ファイルの拡張子(デフォルトは`.content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}`)に一致する必要があります。
465
412
 
466
413
  > 詳細については、[コンテンツ宣言のドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/get_started.md)を参照してください。
467
414
 
468
- > コンテンツファイルに TSX コードが含まれている場合は、`import React from "react";` をコンテンツファイルにインポートすることを検討してください。
415
+ > コンテンツファイルにTSXコードが含まれている場合は、`import React from "react";`をコンテンツファイルにインポートすることを検討してください。
469
416
 
470
417
  ### ステップ5: コード内でIntlayerを利用する
471
418
 
@@ -590,16 +537,15 @@ const AppContent = () => {
590
537
  />
591
538
  </a>
592
539
  </div>
593
- <h1>{content.title}</h1> {/* タイトルの表示 */}
540
+ <h1>{content.title}</h1>
594
541
  <div className="card">
595
542
  <button onClick={() => setCount((count) => count + 1)}>
596
543
  {content.count}
597
544
  {count}
598
545
  </button>
599
- <p>{content.edit}</p> {/* 編集に関するテキスト */}
546
+ <p>{content.edit}</p>
600
547
  </div>
601
- <p className="read-the-docs">{content.readTheDocs}</p>{" "}
602
- {/* ドキュメントを読む案内 */}
548
+ <p className="read-the-docs">{content.readTheDocs}</p>
603
549
  </>
604
550
  );
605
551
  };
@@ -615,47 +561,13 @@ module.exports = App;
615
561
 
616
562
  > もし `alt`、`title`、`href`、`aria-label` などの `string` 属性でコンテンツを使用したい場合は、関数の値を呼び出す必要があります。例えば:
617
563
 
618
- > ```jsx
619
- > <img src={content.image.src.value} alt={content.image.value} />
620
- > ```
621
-
622
- alt={content.reactLogo.value}
623
- />
624
- </a>
625
- </div>
626
- <h1>{content.title}</h1>
627
- <div className="card">
628
- <button onClick={() => setCount((count) => count + 1)}>
629
- {content.count}
630
- {count}
631
- </button>
632
- <p>{content.edit}</p>
633
- </div>
634
- <p className="read-the-docs">{content.readTheDocs}</p>
635
- </>
636
-
637
- );
638
- };
639
-
640
- const App = () => (
641
- <IntlayerProvider>
642
- <AppContent />
643
- </IntlayerProvider>
644
- );
645
-
646
- module.exports = App;
647
-
648
- ````
649
-
650
- > `alt`、`title`、`href`、`aria-label`などの`string`属性でコンテンツを使用したい場合は、関数の値を呼び出す必要があります。例えば:
651
-
652
564
  > ```jsx
653
565
  > <img src={content.image.src.value} alt={content.image.value} />
654
566
  > ```
655
567
 
656
568
  > `useIntlayer` フックの詳細については、[ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/packages/react-intlayer/useIntlayer.md)を参照してください。
657
569
 
658
- ### (オプション)ステップ6:コンテンツの言語を変更する
570
+ ### (オプション)ステップ6: コンテンツの言語を変更する
659
571
 
660
572
  コンテンツの言語を変更するには、`useLocale` フックが提供する `setLocale` 関数を使用します。この関数を使うことで、アプリケーションのロケールを設定し、それに応じてコンテンツを更新できます。
661
573
 
@@ -668,12 +580,10 @@ const LocaleSwitcher: FC = () => {
668
580
  const { setLocale } = useLocale();
669
581
 
670
582
  return (
671
- <button onClick={() => setLocale(Locales.English)}>
672
- 英語に言語を変更
673
- </button>
583
+ <button onClick={() => setLocale(Locales.English)}>英語に言語を変更</button>
674
584
  );
675
585
  };
676
- ````
586
+ ```
677
587
 
678
588
  ```jsx fileName="src/components/LocaleSwitcher.msx" codeFormat="esm"
679
589
  import { Locales } from "intlayer";
@@ -705,7 +615,7 @@ const LocaleSwitcher = () => {
705
615
 
706
616
  ### (オプション)ステップ7:アプリケーションにローカライズされたルーティングを追加する
707
617
 
708
- このステップの目的は、各言語ごとにユニークなルートを作成することです。これはSEOおよびSEOに適したURLに役立ちます。
618
+ このステップの目的は、各言語ごとにユニークなルートを作成することです。これはSEOSEOに適したURLに役立ちます。
709
619
  例:
710
620
 
711
621
  ```plaintext
@@ -714,7 +624,7 @@ const LocaleSwitcher = () => {
714
624
  - https://example.com/fr/about
715
625
  ```
716
626
 
717
- > デフォルトでは、ルートはデフォルトロケールに対してプレフィックスが付きません。デフォルトロケールにプレフィックスを付けたい場合は、設定の `middleware.prefixDefault` オプションを `true` に設定できます。詳細は[設定ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)を参照してください。
627
+ > デフォルトでは、ルートはデフォルトロケールに対してプレフィックスが付きません。デフォルトロケールにもプレフィックスを付けたい場合は、設定の `middleware.prefixDefault` オプションを `true` に設定できます。詳細は[設定ドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/configuration.md)を参照してください。
718
628
 
719
629
  アプリケーションにローカライズされたルーティングを追加するには、アプリケーションのルートをラップし、ロケールベースのルーティングを処理する `LocaleRouter` コンポーネントを作成できます。以下は [React Router](https://reactrouter.com/home) を使用した例です。
720
630
 
@@ -729,7 +639,7 @@ import {
729
639
  Route,
730
640
  Navigate,
731
641
  useLocation,
732
- } from "react-router-dom"; // ナビゲーション管理のためのルーターコンポーネント
642
+ } from "react-router-dom"; // ナビゲーション管理用のルーターコンポーネント
733
643
 
734
644
  // Intlayerから設定を分割代入
735
645
  const { internationalization, middleware } = configuration;
@@ -748,13 +658,13 @@ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
748
658
  // 現在のロケールを決定し、指定がなければデフォルトロケールを使用
749
659
  const currentLocale = locale ?? defaultLocale;
750
660
 
751
- // パスからロケールのプレフィックスを除去してベースパスを作成
661
+ // パスからロケールのプレフィックスを取り除き、ベースパスを構築
752
662
  const pathWithoutLocale = getPathWithoutLocale(
753
663
  pathname // 現在のURLパス
754
664
  );
755
665
 
756
666
  /**
757
- * middleware.prefixDefaultがtrueの場合、デフォルトロケールは常にプレフィックスされるべきです。
667
+ * middleware.prefixDefaultがtrueの場合、デフォルトロケールには常にプレフィックスを付ける必要があります。
758
668
  */
759
669
  if (middleware.prefixDefault) {
760
670
  // ロケールの検証
@@ -774,8 +684,8 @@ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
774
684
  );
775
685
  } else {
776
686
  /**
777
- * middleware.prefixDefaultがfalseの場合、デフォルトロケールにはプレフィックスを付けない。
778
- * 現在のロケールが有効であり、デフォルトロケールでないことを確認する。
687
+ * middleware.prefixDefaultがfalseの場合、デフォルトロケールはプレフィックスされません。
688
+ * 現在のロケールが有効であり、デフォルトロケールでないことを確認します。
779
689
  */
780
690
  if (
781
691
  currentLocale.toString() !== defaultLocale.toString() &&
@@ -785,11 +695,11 @@ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
785
695
  )
786
696
  .includes(currentLocale) // 現在のロケールが有効なロケールのリストに含まれているかをチェック
787
697
  ) {
788
- // ロケールプレフィックスなしのパスへリダイレクト
698
+ // ロケールのプレフィックスなしのパスへリダイレクト
789
699
  return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
790
700
  }
791
701
 
792
- // IntlayerProviderで子コンポーネントをラップし、現在のロケールを設定
702
+ // IntlayerProviderで子要素をラップし、現在のロケールを設定
793
703
  return (
794
704
  <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
795
705
  );
@@ -798,7 +708,7 @@ const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({
798
708
 
799
709
  /**
800
710
  * ロケール固有のルートを設定するルーターコンポーネント。
801
- * React Routerを使用してナビゲーションを管理し、ローカライズされたコンポーネントをレンダリングする。
711
+ * React Routerを使用してナビゲーションを管理し、ローカライズされたコンポーネントをレンダリングします。
802
712
  */
803
713
  export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => (
804
714
  <BrowserRouter>
@@ -843,7 +753,7 @@ import {
843
753
  Route,
844
754
  Navigate,
845
755
  useLocation,
846
- } from "react-router-dom"; // ナビゲーション管理用のルーターコンポーネント
756
+ } from "react-router-dom"; // ナビゲーション管理のためのルーターコンポーネント
847
757
 
848
758
  // Intlayerからの設定の分割代入
849
759
  const { internationalization, middleware } = configuration;
@@ -857,7 +767,7 @@ const { locales, defaultLocale } = internationalization;
857
767
  const AppLocalized = ({ children, locale }) => {
858
768
  const { pathname, search } = useLocation(); // 現在のURLパスを取得
859
769
 
860
- // 現在のロケールを決定し、指定がなければデフォルトロケールを使用
770
+ // 現在のロケールを決定し、指定がなければデフォルトにフォールバック
861
771
  const currentLocale = locale ?? defaultLocale;
862
772
 
863
773
  // パスからロケールのプレフィックスを削除してベースパスを構築
@@ -880,14 +790,14 @@ const AppLocalized = ({ children, locale }) => {
880
790
  );
881
791
  }
882
792
 
883
- // IntlayerProviderで子コンポーネントをラップし、現在のロケールを設定します
793
+ // IntlayerProviderで子要素をラップし、現在のロケールを設定します
884
794
  return (
885
795
  <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
886
796
  );
887
797
  } else {
888
798
  /**
889
799
  * middleware.prefixDefaultがfalseの場合、デフォルトロケールはプレフィックスされません。
890
- * 現在のロケールが有効であり、かつデフォルトロケールでないことを確認します。
800
+ * 現在のロケールが有効であり、デフォルトロケールでないことを確認します。
891
801
  */
892
802
  if (
893
803
  currentLocale.toString() !== defaultLocale.toString() &&
@@ -897,11 +807,11 @@ const AppLocalized = ({ children, locale }) => {
897
807
  )
898
808
  .includes(currentLocale) // 現在のロケールが有効なロケールのリストに含まれているかをチェック
899
809
  ) {
900
- // ロケールプレフィックスなしのパスにリダイレクト
810
+ // ロケールのプレフィックスなしのパスにリダイレクト
901
811
  return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
902
812
  }
903
813
 
904
- // IntlayerProviderで子コンポーネントをラップし、現在のロケールを設定
814
+ // IntlayerProviderで子要素をラップし、現在のロケールを設定
905
815
  return (
906
816
  <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
907
817
  );
@@ -921,7 +831,7 @@ export const LocaleRouter = ({ children }) => (
921
831
  )
922
832
  .map((locale) => (
923
833
  <Route
924
- // ロケールをキャプチャするルートパターン(例: /en/, /fr/)およびそれ以降のすべてのパスにマッチ
834
+ // ロケールをキャプチャするルートパターン(例:/en/、/fr/)およびその後のすべてのパスにマッチ
925
835
  path={`/${locale}/*`}
926
836
  key={locale}
927
837
  element={<AppLocalized locale={locale}>{children}</AppLocalized>} // ロケール管理で子要素をラップ
@@ -954,14 +864,14 @@ const {
954
864
  Route,
955
865
  Navigate,
956
866
  useLocation,
957
- } = require("react-router-dom"); // ナビゲーション管理用のルーターコンポーネント
867
+ } = require("react-router-dom"); // ナビゲーション管理のためのルーターコンポーネント
958
868
 
959
869
  // Intlayerからの設定の分割代入
960
870
  const { internationalization, middleware } = configuration;
961
871
  const { locales, defaultLocale } = internationalization;
962
872
 
963
873
  /**
964
- * ローカリゼーションを処理し、適切なロケールコンテキストで子要素をラップするコンポーネント。
874
+ * ローカリゼーションを処理し、子要素を適切なロケールコンテキストでラップするコンポーネント。
965
875
  * URLベースのロケール検出と検証を管理する。
966
876
  */
967
877
  const AppLocalized = ({ children, locale }) => {
@@ -970,7 +880,7 @@ const AppLocalized = ({ children, locale }) => {
970
880
  // 現在のロケールを決定。指定がなければデフォルトロケールを使用
971
881
  const currentLocale = locale ?? defaultLocale;
972
882
 
973
- // パスからロケールのプレフィックスを削除してベースパスを構築
883
+ // パスからロケールのプレフィックスを取り除き、ベースパスを作成
974
884
  const pathWithoutLocale = getPathWithoutLocale(
975
885
  pathname // 現在のURLパス
976
886
  );
@@ -990,7 +900,7 @@ const AppLocalized = ({ children, locale }) => {
990
900
  );
991
901
  }
992
902
 
993
- // IntlayerProviderで子コンポーネントをラップし、現在のロケールを設定します
903
+ // IntlayerProviderで子要素をラップし、現在のロケールを設定します
994
904
  return (
995
905
  <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
996
906
  );
@@ -1011,7 +921,7 @@ const AppLocalized = ({ children, locale }) => {
1011
921
  return <Navigate to={`${pathWithoutLocale}${search}`} replace />;
1012
922
  }
1013
923
 
1014
- // IntlayerProviderで子コンポーネントをラップし、現在のロケールを設定
924
+ // IntlayerProviderで子要素をラップし、現在のロケールを設定
1015
925
  return (
1016
926
  <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider>
1017
927
  );
@@ -1093,7 +1003,7 @@ const App = () => (
1093
1003
  );
1094
1004
  ```
1095
1005
 
1096
- 並行して、`intLayerMiddlewarePlugin` を使用してアプリケーションにサーバーサイドルーティングを追加することもできます。このプラグインはURLに基づいて現在のロケールを自動的に検出し、適切なロケールクッキーを設定します。ロケールが指定されていない場合、プラグインはユーザーのブラウザの言語設定に基づいて最も適切なロケールを決定します。ロケールが検出されない場合は、デフォルトのロケールにリダイレクトします。
1006
+ 並行して、`intLayerMiddlewarePlugin` を使用してアプリケーションにサーバーサイドルーティングを追加することもできます。このプラグインは、URL に基づいて現在のロケールを自動的に検出し、適切なロケールクッキーを設定します。ロケールが指定されていない場合、プラグインはユーザーのブラウザの言語設定に基づいて最も適切なロケールを判断します。ロケールが検出されない場合は、デフォルトのロケールにリダイレクトします。
1097
1007
 
1098
1008
  ```typescript {3,7} fileName="vite.config.ts" codeFormat="typescript"
1099
1009
  import { defineConfig } from "vite";
@@ -1128,9 +1038,9 @@ module.exports = defineConfig({
1128
1038
  });
1129
1039
  ```
1130
1040
 
1131
- ### (オプション)ステップ8:ロケール変更時にURLを変更する
1041
+ ### (オプション)ステップ8:ロケールが変更されたときにURLを変更する
1132
1042
 
1133
- ロケールが変更されたときにURLを変更するには、`useLocale`フックが提供する`onLocaleChange`プロパティを使用できます。同時に、`react-router-dom`の`useLocation`と`useNavigate`フックを使ってURLパスを更新できます。
1043
+ ロケールが変更されたときにURLを変更するには、`useLocale`フックが提供する`onLocaleChange`プロパティを使用できます。同時に、`react-router-dom`の`useLocation`と`useNavigate`フックを使用してURLパスを更新できます。
1134
1044
 
1135
1045
  ```tsx fileName="src/components/LocaleSwitcher.tsx" codeFormat="typescript"
1136
1046
  import { useLocation, useNavigate } from "react-router-dom";
@@ -1246,7 +1156,7 @@ const LocaleSwitcher = () => {
1246
1156
  {getLocaleName(localeItem, locale)}
1247
1157
  </span>
1248
1158
  <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
1249
- {/* 現在のロケールでの言語名 - 例: 現在のロケールが Locales.SPANISH の場合の Francés */}
1159
+ {/* 現在のロケールでの言語名 - 例: Locales.SPANISH に設定された現在のロケールでの "Francés" */}
1250
1160
  {getLocaleName(localeItem)}
1251
1161
  </span>
1252
1162
  <span dir="ltr" lang={Locales.ENGLISH}>
@@ -1310,7 +1220,7 @@ const LocaleSwitcher = () => {
1310
1220
  {getLocaleName(localeItem, locale)}
1311
1221
  </span>
1312
1222
  <span dir={getHTMLTextDir(localeItem)} lang={localeItem}>
1313
- {/* 現在のロケールでの言語名 - 例: Locales.SPANISHに設定された場合のFrancés */}
1223
+ {/* 現在のロケールでの言語名 - 例: Locales.SPANISHに設定された現在のロケールでのFrancés */}
1314
1224
  {getLocaleName(localeItem)}
1315
1225
  </span>
1316
1226
  <span dir="ltr" lang={Locales.ENGLISH}>
@@ -1340,13 +1250,13 @@ const LocaleSwitcher = () => {
1340
1250
 
1341
1251
  ---
1342
1252
 
1343
- ### (任意)ステップ9HTMLの言語属性と方向属性を切り替える
1253
+ ### (オプション)ステップ9: HTMLの言語属性と方向属性を切り替える
1344
1254
 
1345
- アプリケーションが複数の言語をサポートしている場合、`<html>`タグの`lang`属性と`dir`属性を現在のロケールに合わせて更新することが非常に重要です。これにより以下が保証されます:
1255
+ アプリケーションが複数の言語をサポートしている場合、`<html>`タグの`lang`属性と`dir`属性を現在のロケールに合わせて更新することが非常に重要です。これにより、以下が保証されます:
1346
1256
 
1347
1257
  - **アクセシビリティ**:スクリーンリーダーや支援技術は、正しい`lang`属性に依存してコンテンツを正確に発音・解釈します。
1348
- - **テキストのレンダリング**:`dir`(方向)属性はテキストが正しい順序で表示されることを保証します(例:英語は左から右へ、アラビア語やヘブライ語は右から左へ)。これは読みやすさに不可欠です。
1349
- - **SEO**:検索エンジンは`lang`属性を使ってページの言語を判別し、適切なローカライズされたコンテンツを検索結果に表示します。
1258
+ - **テキストのレンダリング**:`dir`(方向)属性は、テキストが適切な順序(例:英語は左から右、アラビア語やヘブライ語は右から左)で表示されることを保証し、読みやすさに不可欠です。
1259
+ - **SEO**:検索エンジンは`lang`属性を使用してページの言語を判別し、適切なローカライズされたコンテンツを検索結果に提供します。
1350
1260
 
1351
1261
  ロケールが変更されるたびにこれらの属性を動的に更新することで、すべての対応言語において一貫性がありアクセシブルなユーザー体験を保証します。
1352
1262
 
@@ -1362,7 +1272,7 @@ import { getHTMLTextDir } from "intlayer";
1362
1272
  /**
1363
1273
  * 現在のロケールに基づいてHTMLの<html>要素の`lang`および`dir`属性を更新します。
1364
1274
  * - `lang`: ブラウザや検索エンジンにページの言語を通知します。
1365
- * - `dir`: 正しい読み順(例:英語は'ltr'、アラビア語は'rtl')を保証します。
1275
+ * - `dir`: 正しい読み順を保証します(例:英語は'ltr'、アラビア語は'rtl')。
1366
1276
  *
1367
1277
  * この動的な更新は、適切なテキストレンダリング、アクセシビリティ、およびSEOに不可欠です。
1368
1278
  */
@@ -1457,13 +1367,39 @@ const App: FC = () => (
1457
1367
  export default App;
1458
1368
  ```
1459
1369
 
1370
+ #### アプリケーションでのフックの使用
1371
+
1372
+ フックをメインコンポーネントに統合し、ロケールが変更されるたびにHTML属性が更新されるようにします:
1373
+
1374
+ ```tsx fileName="src/App.tsx" codeFormat="typescript"
1375
+ import type { FC } from "react";
1376
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
1377
+ import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1378
+ import "./App.css";
1379
+
1380
+ const AppContent: FC = () => {
1381
+ // ロケールに基づいて<html>タグのlangとdir属性を更新するためにフックを適用します。
1382
+ useI18nHTMLAttributes();
1383
+
1384
+ // ... コンポーネントの残りの部分
1385
+ };
1386
+
1387
+ const App: FC = () => (
1388
+ <IntlayerProvider>
1389
+ <AppContent />
1390
+ </IntlayerProvider>
1391
+ );
1392
+
1393
+ export default App;
1394
+ ```
1395
+
1460
1396
  ```jsx fileName="src/App.msx" codeFormat="esm"
1461
- import { IntlayerProvider, useIntlayer } from "react.intlayer";
1397
+ import { IntlayerProvider, useIntlayer } from "react-intlayer";
1462
1398
  import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";
1463
1399
  import "./App.css";
1464
1400
 
1465
1401
  const AppContent = () => {
1466
- // ロケールに基づいて <html> タグの lang dir 属性を更新するためにフックを適用します。
1402
+ // ロケールに基づいて<html>タグのlangとdir属性を更新するためにフックを適用します。
1467
1403
  useI18nHTMLAttributes();
1468
1404
 
1469
1405
  // ... コンポーネントの残りの部分
@@ -1485,12 +1421,7 @@ const { useI18nHTMLAttributes } = require("./hooks/useI18nHTMLAttributes");
1485
1421
  require("./App.css");
1486
1422
 
1487
1423
  const AppContent = () => {
1488
- // ロケールに基づいて <html> タグの lang dir 属性を更新するためにフックを適用します。
1489
- useI18nHTMLAttributes();
1490
-
1491
- // ... コンポーネントの残りの部分
1492
- };
1493
- // ロケールに基づいて <html> タグの lang および dir 属性を更新するためのフックを適用します。
1424
+ // ロケールに基づいて<html>タグのlangとdir属性を更新するためにフックを適用します。
1494
1425
  useI18nHTMLAttributes();
1495
1426
 
1496
1427
  // ... コンポーネントの残りの部分
@@ -1505,9 +1436,17 @@ const App = () => (
1505
1436
  module.exports = App;
1506
1437
  ```
1507
1438
 
1508
- これらの変更を適用することで、あなたのアプリケーションは以下を実現します:
1439
+ これらの変更を適用することで、アプリケーションは以下を実現します:
1509
1440
 
1510
- - **言語**(`lang`)属性が現在のロケールを正しく反映し、SEOやブラウザの動作に重要な役割を果たします。
1441
+ - 現在のロケールを正確に反映する**言語**(`lang`)属性を確実に設定し、SEOやブラウザの動作に重要な役割を果たします。
1442
+ - ロケールに応じて**テキストの方向**(`dir`)を調整し、異なる読み順の言語に対して読みやすさと使いやすさを向上させます。
1443
+ - これらの属性に依存する支援技術のために、より**アクセシブル**な体験を提供します。
1444
+
1445
+ ### (オプション)ステップ10:ローカライズされたリンクコンポーネントの作成
1446
+
1447
+ これらの変更を適用することで、アプリケーションは以下を実現します:
1448
+
1449
+ - **言語**(`lang`)属性が現在のロケールを正確に反映し、SEOやブラウザの動作に重要な役割を果たします。
1511
1450
  - ロケールに応じて**テキストの方向**(`dir`)を調整し、異なる読み方向の言語に対して読みやすさと使いやすさを向上させます。
1512
1451
  - 支援技術がこれらの属性に依存して最適に機能するため、より**アクセシブル**な体験を提供します。
1513
1452
 
@@ -1517,11 +1456,11 @@ module.exports = App;
1517
1456
 
1518
1457
  この動作は以下の理由で有用です:
1519
1458
 
1520
- - **SEOとユーザーエクスペリエンス**:ローカライズされたURLは、検索エンジンが言語別のページを正しくインデックスし、ユーザーに好みの言語でコンテンツを提供するのに役立ちます。
1459
+ - **SEOとユーザー体験**:ローカライズされたURLは、検索エンジンが言語別のページを正しくインデックスし、ユーザーに好みの言語でコンテンツを提供するのに役立ちます。
1521
1460
  - **一貫性**:アプリケーション全体でローカライズされたリンクを使用することで、ナビゲーションが現在のロケール内に留まり、予期しない言語の切り替えを防ぎます。
1522
1461
  - **保守性**: ローカリゼーションのロジックを単一のコンポーネントに集約することで、URLの管理が簡素化され、アプリケーションの成長に伴いコードベースの保守や拡張が容易になります。
1523
1462
 
1524
- 以下は、TypeScriptで実装したローカライズされた `Link` コンポーネントの例です。
1463
+ 以下は、TypeScriptで実装されたローカライズされた `Link` コンポーネントの例です。
1525
1464
 
1526
1465
  ```tsx fileName="src/components/Link.tsx" codeFormat="typescript"
1527
1466
  import { getLocalizedUrl } from "intlayer";
@@ -1546,7 +1485,7 @@ export const checkIsExternalLink = (href?: string): boolean =>
1546
1485
  /^https?:\/\//.test(href ?? "");
1547
1486
 
1548
1487
  /**
1549
- * 現在のロケールに基づいてhref属性を調整するカスタムLinkコンポーネント。
1488
+ * 現在のロケールに基づいてhref属性を適応するカスタムLinkコンポーネント。
1550
1489
  * 内部リンクの場合、`getLocalizedUrl`を使用してURLの先頭にロケールを付加します(例:/fr/about)。
1551
1490
  * これにより、ナビゲーションが同じロケールコンテキスト内に留まることを保証します。
1552
1491
  */
@@ -1585,13 +1524,13 @@ export const checkIsExternalLink = (href?: string): boolean =>
1585
1524
  /**
1586
1525
  * 現在のロケールに基づいてhref属性を適応させるカスタムLinkコンポーネント。
1587
1526
  * 内部リンクの場合、`getLocalizedUrl`を使用してURLにロケールのプレフィックスを付けます(例:/fr/about)。
1588
- * これにより、ナビゲーションが同じロケールコンテキスト内に留まることを保証します。
1527
+ * これにより、ナビゲーションが同じロケールのコンテキスト内に留まることが保証されます。
1589
1528
  */
1590
1529
  export const Link = forwardRef(({ href, children, ...props }, ref) => {
1591
1530
  const { locale } = useLocale();
1592
1531
  const isExternalLink = checkIsExternalLink(href);
1593
1532
 
1594
- // リンクが内部リンクで有効な href が提供されている場合、ローカライズされた URL を取得します。
1533
+ // リンクが内部リンクで有効なhrefが提供されている場合、ローカライズされたURLを取得します。
1595
1534
  const hrefI18n =
1596
1535
  href && !isExternalLink ? getLocalizedUrl(href, locale) : href;
1597
1536
 
@@ -1611,21 +1550,21 @@ const { useLocale } = require("react-intlayer");
1611
1550
  const { forwardRef } = require("react");
1612
1551
 
1613
1552
  /**
1614
- * 指定された URL が外部リンクかどうかをチェックするユーティリティ関数。
1615
- * URL が http:// または https:// で始まる場合、外部リンクと見なされます。
1553
+ * 指定されたURLが外部リンクかどうかをチェックするユーティリティ関数。
1554
+ * URLが http:// または https:// で始まる場合、外部リンクと見なされます。
1616
1555
  */
1617
1556
  const checkIsExternalLink = (href) => /^https?:\/\//.test(href ?? "");
1618
1557
 
1619
1558
  /**
1620
- * 現在のロケールに基づいてhref属性を調整するカスタムLinkコンポーネント。
1621
- * 内部リンクの場合、`getLocalizedUrl`を使用してURLの先頭にロケールを付加します(例: /fr/about)。
1622
- * これにより、ナビゲーションが同じロケールのコンテキスト内に留まることを保証します。
1559
+ * 現在のロケールに基づいて href 属性を適応するカスタム Link コンポーネント。
1560
+ * 内部リンクの場合、`getLocalizedUrl` を使用して URL にロケールをプレフィックスします(例: /fr/about)。
1561
+ * これにより、ナビゲーションが同じロケールのコンテキスト内に留まることが保証されます。
1623
1562
  */
1624
1563
  const Link = forwardRef(({ href, children, ...props }, ref) => {
1625
1564
  const { locale } = useLocale();
1626
1565
  const isExternalLink = checkIsExternalLink(href);
1627
1566
 
1628
- // リンクが内部リンクで有効なhrefが提供されている場合、ローカライズされたURLを取得します。
1567
+ // リンクが内部リンクで有効な href が提供されている場合、ローカライズされた URL を取得します。
1629
1568
  const localizedHref = isExternalLink ? href : getLocalizedUrl(href, locale);
1630
1569
 
1631
1570
  return (
@@ -1646,77 +1585,73 @@ Link.displayName = "Link";
1646
1585
  #### 動作の仕組み
1647
1586
 
1648
1587
  - **外部リンクの検出**:
1649
- ヘルパー関数 `checkIsExternalLink` は、URLが外部リンクかどうかを判定します。外部リンクはローカライズの必要がないため、そのまま変更されません。
1588
+ ヘルパー関数 `checkIsExternalLink` は、URLが外部リンクかどうかを判定します。外部リンクはローカライズの必要がないため、そのままにされます。
1650
1589
 
1651
1590
  - **現在のロケールの取得**:
1652
- `useLocale` フックは現在のロケール(例:フランス語なら `fr`)を提供します。
1591
+ `useLocale` フックは現在のロケール(例:フランス語の場合は `fr`)を提供します。
1653
1592
 
1654
1593
  - **URLのローカライズ**:
1655
- 内部リンク(つまり外部リンクでない場合)には、`getLocalizedUrl` が使用され、URLの先頭に現在のロケールを自動的に付加します。例えば、ユーザーのロケールがフランス語の場合、`href` に `/about` を渡すと `/fr/about` に変換されます。
1594
+ 内部リンク(すなわち外部リンクでない場合)には、`getLocalizedUrl` が使用され、URLの先頭に現在のロケールを自動的に付加します。例えば、ユーザーがフランス語環境にいる場合、`href` に `/about` を渡すと `/fr/about` に変換されます。
1656
1595
 
1657
1596
  - **リンクの返却**:
1658
- コンポーネントはローカライズされたURLを持つ `<a>` 要素を返し、ナビゲーションがロケールに一貫していることを保証します。
1597
+ コンポーネントはローカライズされたURLを持つ `<a>` 要素を返し、ナビゲーションがロケールに一貫して対応するようにします。
1659
1598
 
1660
- この `Link` コンポーネントをアプリケーション全体に統合することで、一貫性のある言語対応のユーザー体験を維持しつつ、SEOや使いやすさの向上も期待できます。
1599
+ この `Link` コンポーネントをアプリケーション全体に統合することで、一貫性のある言語対応のユーザー体験を維持しつつ、SEOや使いやすさの向上も実現できます。
1661
1600
 
1662
- ### TypeScriptの設定
1601
+ ### TypeScript の設定
1663
1602
 
1664
- Intlayerはモジュール拡張を使用してTypeScriptの利点を活かし、コードベースをより強固にします。
1603
+ Intlayer はモジュール拡張を利用して TypeScript の利点を活かし、コードベースをより強固にします。
1665
1604
 
1666
1605
  ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1667
1606
 
1668
1607
  ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1669
1608
 
1670
- TypeScriptの設定に自動生成された型が含まれていることを確認してください。
1609
+ TypeScript の設定に自動生成された型が含まれていることを確認してください。
1671
1610
 
1672
- ````json5 fileName="tsconfig.json"
1673
- {
1674
- // ... 既存のTypeScript設定
1675
- "include": [
1676
- コンポーネントはローカライズされたURLを持つ `<a>` 要素を返し、ロケールに応じたナビゲーションの一貫性を保証します。
1611
+ コンポーネントはローカライズされたURLを持つ`<a>`要素を返し、ナビゲーションがロケールに沿って一貫して行われることを保証します。
1677
1612
 
1678
- この `Link` コンポーネントをアプリケーション全体に統合することで、一貫性のある言語対応のユーザー体験を維持しつつ、SEOや使いやすさの向上も期待できます。
1613
+ この`Link`コンポーネントをアプリケーション全体に統合することで、一貫性のある言語対応のユーザー体験を維持しつつ、SEOや使いやすさの向上も期待できます。
1679
1614
 
1680
- ### TypeScript の設定
1615
+ ### TypeScriptの設定
1681
1616
 
1682
- Intlayer はモジュール拡張を使用して TypeScript の利点を活かし、コードベースをより堅牢にします。
1617
+ Intlayerはモジュール拡張を利用してTypeScriptの利点を活かし、コードベースをより堅牢にします。
1683
1618
 
1684
1619
  ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png)
1685
1620
 
1686
1621
  ![alt text](https://github.com/aymericzip/intlayer/blob/main/docs/assets/translation_error.png)
1687
1622
 
1688
- TypeScript の設定に自動生成された型を含めるようにしてください。
1623
+ TypeScriptの設定に自動生成された型を含めることを確認してください。
1689
1624
 
1690
1625
  ```json5 fileName="tsconfig.json"
1691
1626
  {
1692
- // ... 既存の TypeScript 設定
1627
+ // ... 既存のTypeScript設定
1693
1628
  "include": [
1694
- // ... 既存の TypeScript 設定
1629
+ // ... 既存のTypeScript設定
1695
1630
  ".intlayer/**/*.ts", // 自動生成された型を含める
1696
1631
  ],
1697
1632
  }
1698
- ````
1633
+ ```
1699
1634
 
1700
- ### Git の設定
1635
+ ### Gitの設定
1701
1636
 
1702
- Intlayer によって生成されたファイルは Git リポジトリにコミットしないように無視することを推奨します。
1637
+ Intlayerによって生成されたファイルはGitリポジトリにコミットしないように無視することを推奨します。
1703
1638
 
1704
- これを行うには、`.gitignore` ファイルに以下の記述を追加してください。
1639
+ これを行うには、`.gitignore`ファイルに以下の指示を追加してください。
1705
1640
 
1706
1641
  ```plaintext
1707
- # Intlayer によって生成されたファイルを無視
1642
+ # Intlayerによって生成されたファイルを無視する
1708
1643
  .intlayer
1709
1644
  ```
1710
1645
 
1711
- ### VS Code 拡張機能
1646
+ ### VS Code拡張機能
1712
1647
 
1713
- Intlayer の開発体験を向上させるために、公式の **Intlayer VS Code 拡張機能** をインストールできます。
1648
+ Intlayerでの開発体験を向上させるために、公式の**Intlayer VS Code拡張機能**をインストールできます。
1714
1649
 
1715
- [VS Code Marketplace からインストール](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
1650
+ [VS Codeマーケットプレイスからインストール](https://marketplace.visualstudio.com/items?itemName=intlayer.intlayer-vs-code-extension)
1716
1651
 
1717
1652
  この拡張機能は以下を提供します:
1718
1653
 
1719
- - 翻訳キーの **オートコンプリート**
1654
+ - 翻訳キーの**オートコンプリート**。
1720
1655
  - **翻訳が不足している場合のリアルタイムエラー検出**。
1721
1656
  - **翻訳内容のインラインプレビュー**。
1722
1657
  - **翻訳の作成や更新を簡単に行うクイックアクション**。
@@ -1727,7 +1662,7 @@ Intlayer の開発体験を向上させるために、公式の **Intlayer VS Co
1727
1662
 
1728
1663
  ### さらに進むために
1729
1664
 
1730
- さらに進みたい場合は、[ビジュアルエディター](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_visual_editor.md)を実装するか、[CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md)を使ってコンテンツを外部化することができます。
1665
+ さらに進むには、[ビジュアルエディター](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_visual_editor.md)を実装するか、[CMS](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/intlayer_CMS.md)を使用してコンテンツを外部化することができます。
1731
1666
 
1732
1667
  ---
1733
1668