@intlayer/docs 9.3.0 → 9.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/README.md +24 -24
  2. package/blog/ar/rag_powered_documentation_assistant.md +1 -1
  3. package/blog/pl/rag_powered_documentation_assistant.md +1 -1
  4. package/dist/cjs/_virtual/_rolldown/runtime.cjs +1 -2
  5. package/dist/cjs/authors2.cjs +0 -1
  6. package/dist/cjs/common.cjs.map +1 -1
  7. package/dist/cjs/generated/blog.entry.cjs +4 -2
  8. package/dist/cjs/generated/blog.entry.cjs.map +1 -1
  9. package/dist/cjs/generated/docs.entry.cjs +4 -2
  10. package/dist/cjs/generated/docs.entry.cjs.map +1 -1
  11. package/dist/cjs/generated/frequentQuestions.entry.cjs +4 -2
  12. package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
  13. package/dist/cjs/generated/legal.entry.cjs +4 -2
  14. package/dist/cjs/generated/legal.entry.cjs.map +1 -1
  15. package/dist/esm/generated/blog.entry.mjs +4 -2
  16. package/dist/esm/generated/blog.entry.mjs.map +1 -1
  17. package/dist/esm/generated/docs.entry.mjs +4 -2
  18. package/dist/esm/generated/docs.entry.mjs.map +1 -1
  19. package/dist/esm/generated/frequentQuestions.entry.mjs +4 -2
  20. package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
  21. package/dist/esm/generated/legal.entry.mjs +4 -2
  22. package/dist/esm/generated/legal.entry.mjs.map +1 -1
  23. package/docs/ar/configuration.md +10 -10
  24. package/docs/ar/interest_of_intlayer.md +24 -22
  25. package/docs/ar/intlayer_with_express.md +1 -1
  26. package/docs/ar/intlayer_with_svelte_kit.md +1 -1
  27. package/docs/ar/intlayer_with_tanstack+solid.md +5 -3
  28. package/docs/ar/intlayer_with_tanstack.md +5 -3
  29. package/docs/ar/lsp.md +114 -175
  30. package/docs/ar/readme.md +25 -25
  31. package/docs/bn/configuration.md +10 -10
  32. package/docs/bn/interest_of_intlayer.md +24 -22
  33. package/docs/cs/configuration.md +10 -10
  34. package/docs/cs/interest_of_intlayer.md +24 -22
  35. package/docs/de/configuration.md +10 -10
  36. package/docs/de/interest_of_intlayer.md +24 -22
  37. package/docs/de/intlayer_with_svelte_kit.md +1 -1
  38. package/docs/de/intlayer_with_tanstack+solid.md +5 -3
  39. package/docs/de/intlayer_with_tanstack.md +5 -3
  40. package/docs/de/lsp.md +111 -172
  41. package/docs/de/readme.md +24 -24
  42. package/docs/en/configuration.md +10 -10
  43. package/docs/en/interest_of_intlayer.md +24 -22
  44. package/docs/en/intlayer_with_svelte_kit.md +1 -1
  45. package/docs/en/intlayer_with_tanstack+solid.md +5 -3
  46. package/docs/en/intlayer_with_tanstack.md +5 -3
  47. package/docs/en/lsp.md +109 -170
  48. package/docs/en/readme.md +24 -24
  49. package/docs/en-GB/configuration.md +10 -10
  50. package/docs/en-GB/interest_of_intlayer.md +24 -22
  51. package/docs/en-GB/intlayer_with_svelte_kit.md +1 -1
  52. package/docs/en-GB/intlayer_with_tanstack+solid.md +5 -3
  53. package/docs/en-GB/intlayer_with_tanstack.md +5 -3
  54. package/docs/en-GB/lsp.md +109 -170
  55. package/docs/en-GB/readme.md +24 -24
  56. package/docs/es/configuration.md +10 -10
  57. package/docs/es/interest_of_intlayer.md +24 -22
  58. package/docs/es/intlayer_with_svelte_kit.md +1 -1
  59. package/docs/es/intlayer_with_tanstack+solid.md +5 -3
  60. package/docs/es/intlayer_with_tanstack.md +5 -3
  61. package/docs/es/lsp.md +114 -175
  62. package/docs/es/readme.md +24 -24
  63. package/docs/fr/configuration.md +10 -10
  64. package/docs/fr/interest_of_intlayer.md +24 -22
  65. package/docs/fr/intlayer_with_svelte_kit.md +1 -1
  66. package/docs/fr/intlayer_with_tanstack+solid.md +5 -3
  67. package/docs/fr/intlayer_with_tanstack.md +5 -3
  68. package/docs/fr/lsp.md +110 -171
  69. package/docs/fr/readme.md +24 -24
  70. package/docs/hi/configuration.md +10 -10
  71. package/docs/hi/interest_of_intlayer.md +24 -22
  72. package/docs/hi/intlayer_with_express.md +1 -1
  73. package/docs/hi/intlayer_with_svelte_kit.md +1 -1
  74. package/docs/hi/intlayer_with_tanstack+solid.md +5 -3
  75. package/docs/hi/intlayer_with_tanstack.md +5 -3
  76. package/docs/hi/lsp.md +113 -174
  77. package/docs/hi/readme.md +24 -24
  78. package/docs/id/configuration.md +10 -10
  79. package/docs/id/interest_of_intlayer.md +24 -22
  80. package/docs/id/intlayer_with_svelte_kit.md +1 -1
  81. package/docs/id/intlayer_with_tanstack+solid.md +5 -3
  82. package/docs/id/intlayer_with_tanstack.md +5 -3
  83. package/docs/id/lsp.md +113 -174
  84. package/docs/id/readme.md +24 -24
  85. package/docs/it/configuration.md +10 -10
  86. package/docs/it/interest_of_intlayer.md +24 -22
  87. package/docs/it/intlayer_with_svelte_kit.md +1 -1
  88. package/docs/it/intlayer_with_tanstack+solid.md +5 -3
  89. package/docs/it/intlayer_with_tanstack.md +5 -3
  90. package/docs/it/lsp.md +115 -176
  91. package/docs/it/readme.md +24 -24
  92. package/docs/ja/configuration.md +10 -10
  93. package/docs/ja/interest_of_intlayer.md +24 -22
  94. package/docs/ja/intlayer_with_tanstack+solid.md +5 -3
  95. package/docs/ja/intlayer_with_tanstack.md +5 -3
  96. package/docs/ja/lsp.md +113 -174
  97. package/docs/ja/readme.md +24 -24
  98. package/docs/ko/configuration.md +10 -10
  99. package/docs/ko/interest_of_intlayer.md +24 -22
  100. package/docs/ko/intlayer_with_svelte_kit.md +1 -1
  101. package/docs/ko/intlayer_with_tanstack+solid.md +5 -3
  102. package/docs/ko/intlayer_with_tanstack.md +5 -3
  103. package/docs/ko/lsp.md +112 -173
  104. package/docs/ko/readme.md +24 -24
  105. package/docs/nl/configuration.md +10 -10
  106. package/docs/nl/interest_of_intlayer.md +24 -22
  107. package/docs/pl/configuration.md +10 -10
  108. package/docs/pl/interest_of_intlayer.md +4 -2
  109. package/docs/pl/intlayer_with_svelte_kit.md +1 -1
  110. package/docs/pl/intlayer_with_tanstack+solid.md +5 -3
  111. package/docs/pl/intlayer_with_tanstack.md +5 -3
  112. package/docs/pl/lsp.md +115 -176
  113. package/docs/pl/readme.md +24 -24
  114. package/docs/pt/configuration.md +10 -10
  115. package/docs/pt/interest_of_intlayer.md +24 -22
  116. package/docs/pt/intlayer_with_svelte_kit.md +1 -1
  117. package/docs/pt/intlayer_with_tanstack+solid.md +5 -3
  118. package/docs/pt/intlayer_with_tanstack.md +5 -3
  119. package/docs/pt/lsp.md +113 -174
  120. package/docs/pt/readme.md +24 -24
  121. package/docs/ru/configuration.md +10 -10
  122. package/docs/ru/interest_of_intlayer.md +24 -22
  123. package/docs/ru/intlayer_with_nextjs_14.md +1 -1
  124. package/docs/ru/intlayer_with_nextjs_15.md +1 -1
  125. package/docs/ru/intlayer_with_svelte_kit.md +1 -1
  126. package/docs/ru/intlayer_with_tanstack+solid.md +5 -3
  127. package/docs/ru/intlayer_with_tanstack.md +5 -3
  128. package/docs/ru/lsp.md +112 -173
  129. package/docs/ru/readme.md +24 -24
  130. package/docs/tr/configuration.md +10 -10
  131. package/docs/tr/interest_of_intlayer.md +24 -22
  132. package/docs/tr/intlayer_with_svelte_kit.md +1 -1
  133. package/docs/tr/intlayer_with_tanstack+solid.md +5 -3
  134. package/docs/tr/intlayer_with_tanstack.md +5 -3
  135. package/docs/tr/lsp.md +113 -174
  136. package/docs/tr/readme.md +24 -24
  137. package/docs/uk/configuration.md +10 -10
  138. package/docs/uk/interest_of_intlayer.md +4 -2
  139. package/docs/uk/intlayer_with_svelte_kit.md +1 -1
  140. package/docs/uk/intlayer_with_tanstack+solid.md +5 -3
  141. package/docs/uk/intlayer_with_tanstack.md +5 -3
  142. package/docs/uk/lsp.md +113 -174
  143. package/docs/uk/per_locale_file.md +1 -1
  144. package/docs/uk/readme.md +24 -24
  145. package/docs/ur/configuration.md +10 -10
  146. package/docs/ur/interest_of_intlayer.md +24 -22
  147. package/docs/vi/configuration.md +10 -10
  148. package/docs/vi/interest_of_intlayer.md +24 -22
  149. package/docs/vi/intlayer_with_svelte_kit.md +1 -1
  150. package/docs/vi/intlayer_with_tanstack+solid.md +5 -3
  151. package/docs/vi/intlayer_with_tanstack.md +5 -3
  152. package/docs/vi/lsp.md +115 -176
  153. package/docs/vi/readme.md +24 -24
  154. package/docs/zh/configuration.md +10 -10
  155. package/docs/zh/interest_of_intlayer.md +24 -22
  156. package/docs/zh/intlayer_with_svelte_kit.md +1 -1
  157. package/docs/zh/intlayer_with_tanstack+solid.md +5 -3
  158. package/docs/zh/intlayer_with_tanstack.md +5 -3
  159. package/docs/zh/lsp.md +113 -174
  160. package/docs/zh/readme.md +21 -21
  161. package/docs/zh-TW/interest_of_intlayer.md +24 -22
  162. package/package.json +6 -6
@@ -404,7 +404,7 @@ const config: IntlayerConfig = {
404
404
  ai: {
405
405
  /**
406
406
  * 사용할 AI 프로바이더.
407
- * 옵션: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio'
407
+ * 옵션: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai', 'lmstudio', 'moonshotai'
408
408
  * 기본값: 'openai'
409
409
  */
410
410
  provider: "openai",
@@ -1032,15 +1032,15 @@ Intlayer는 최대의 유연성을 보장하기 위해 다양한 AI 프로바이
1032
1032
  - **Together.ai**
1033
1033
  - **LM Studio**
1034
1034
 
1035
- | 필드 | 설명 | 타입 | 기본값 | 예시 | 참고 |
1036
- | -------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
1037
- | `provider` | Intlayer AI 기능에 사용할 프로바이더. | `'openai'` &#124; <br/> `'anthropic'` &#124; <br/> `'mistral'` &#124; <br/> `'deepseek'` &#124; <br/> `'gemini'` &#124; <br/> `'ollama'` &#124; <br/> `'openrouter'` &#124; <br/> `'alibaba'` &#124; <br/> `'fireworks'` &#124; <br/> `'groq'` &#124; <br/> `'huggingface'` &#124; <br/> `'bedrock'` &#124; <br/> `'googleaistudio'` &#124; <br/> `'googlevertex'` &#124; <br/> `'togetherai'` &#124; <br/> `'lmstudio'` | `undefined` | `'anthropic'` | 여러 프로바이더는 서로 다른 API 키가 필요하며 가격 구조도 다릅니다. |
1038
- | `model` | AI 기능에 사용할 AI 모델. | `string` | 없음 | `'gpt-4o-2024-11-20'` | 특정 모델은 프로바이더에 따라 다릅니다. |
1039
- | `temperature` | AI 응답의 무작위성을 제어합니다. | `number` | 없음 | `0.1` | 온도가 높을수록 창의적이지만 신뢰성이 낮아집니다. |
1040
- | `apiKey` | 선택한 프로바이더의 API 키. | `string` | 없음 | `process.env.OPENAI_API_KEY` | 비밀로 유지해야 하며 환경 변수를 사용하세요. |
1041
- | `applicationContext` | AI가 더 정확한 번역을 생성할 수 있도록 돕는 애플리케이션에 대한 추가 컨텍스트(도메인, 대상 고객, 어조, 용어 등). | `string` | 없음 | `'my custom app context'` | 규칙을 추가하는 데 사용할 수 있습니다 (예: `"URL은 번역하지 마세요"` ). |
1042
- | `baseURL` | AI API에 대한 기본 URL. | `string` | 없음 | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | 로컬 또는 맞춤형 AI API 엔드포인트를 가리킬 수 있습니다. |
1043
- | `dataSerialization` | AI 기능에 대한 데이터 직렬화 형식. | `'json'` &#124; <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: 기본값, 안정적임; 더 많은 토큰 소비.<br/>• `'toon'`: 더 적은 토큰 소모, 덜 안정적임.<br/>• 모델에 로직 실행을 위한 추가 파라미터(추론 노력(reasoning effort) 등)를 전달합니다. |
1035
+ | 필드 | 설명 | 타입 | 기본값 | 예시 | 참고 |
1036
+ | -------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
1037
+ | `provider` | Intlayer AI 기능에 사용할 프로바이더. | `'openai'` &#124; <br/> `'anthropic'` &#124; <br/> `'mistral'` &#124; <br/> `'deepseek'` &#124; <br/> `'gemini'` &#124; <br/> `'ollama'` &#124; <br/> `'openrouter'` &#124; <br/> `'alibaba'` &#124; <br/> `'fireworks'` &#124; <br/> `'groq'` &#124; <br/> `'huggingface'` &#124; <br/> `'bedrock'` &#124; <br/> `'googleaistudio'` &#124; <br/> `'googlevertex'` &#124; <br/> `'togetherai'` &#124; <br/> `'lmstudio'` &#124; <br/> `'moonshotai'` | `undefined` | `'anthropic'` | 여러 프로바이더는 서로 다른 API 키가 필요하며 가격 구조도 다릅니다. |
1038
+ | `model` | AI 기능에 사용할 AI 모델. | `string` | 없음 | `'gpt-4o-2024-11-20'` | 특정 모델은 프로바이더에 따라 다릅니다. |
1039
+ | `temperature` | AI 응답의 무작위성을 제어합니다. | `number` | 없음 | `0.1` | 온도가 높을수록 창의적이지만 신뢰성이 낮아집니다. |
1040
+ | `apiKey` | 선택한 프로바이더의 API 키. | `string` | 없음 | `process.env.OPENAI_API_KEY` | 비밀로 유지해야 하며 환경 변수를 사용하세요. |
1041
+ | `applicationContext` | AI가 더 정확한 번역을 생성할 수 있도록 돕는 애플리케이션에 대한 추가 컨텍스트(도메인, 대상 고객, 어조, 용어 등). | `string` | 없음 | `'my custom app context'` | 규칙을 추가하는 데 사용할 수 있습니다 (예: `"URL은 번역하지 마세요"` ). |
1042
+ | `baseURL` | AI API에 대한 기본 URL. | `string` | 없음 | `'https://api.openai.com/v1'` <br/> `'http://localhost:5000'` | 로컬 또는 맞춤형 AI API 엔드포인트를 가리킬 수 있습니다. |
1043
+ | `dataSerialization` | AI 기능에 대한 데이터 직렬화 형식. | `'json'` &#124; <br/> `'toon'` | `undefined` | `'toon'` | • `'json'`: 기본값, 안정적임; 더 많은 토큰 소비.<br/>• `'toon'`: 더 적은 토큰 소모, 덜 안정적임.<br/>• 모델에 로직 실행을 위한 추가 파라미터(추론 노력(reasoning effort) 등)를 전달합니다. |
1044
1044
 
1045
1045
  ---
1046
1046
 
@@ -207,7 +207,7 @@ export const ComponentExample = () => {
207
207
  이러한 방식을 적용하면 다음과 같은 혁신적인 효과를 얻을 수 있습니다:
208
208
 
209
209
  1. **개발 생산성의 대폭 향상**
210
- - `.content.{{ts|mjs|cjs|json}}` 파일 선언을 돕는 VSCode 공식 확장 프로그램 지원
210
+ - `.content.{ts|js|mjs|cjs|json|tsx|jsx|md|mdx|yaml|yml}` 파일 선언을 돕는 VSCode 공식 확장 프로그램 지원
211
211
  - IDE의 AI 자동완성 도구(예: GitHub Copilot)가 문맥을 정확히 파악하여 콘텐츠 선언을 도와 복사/붙여넣기 수작업이 극적으로 축소됨
212
212
 
213
213
  2. **청결한 코드베이스 유지**
@@ -231,27 +231,27 @@ export const ComponentExample = () => {
231
231
 
232
232
  ## Intlayer의 추가 기능
233
233
 
234
- | 기능 | 설명 |
235
- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
236
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **크로스 프레임워크 범용 지원**<br><br>Intlayer는 Next.js, React, Vite, Vue.js, Nuxt, Preact, Express 등 다양한 대중적인 프레임워크 및 라이브러리와 완벽하게 호환됩니다. |
237
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **JavaScript 구문 기반의 동적 콘텐츠 관리**<br><br>JavaScript/TypeScript의 높은 유연성을 활용하여 복잡하고 세련된 콘텐츠 구조를 효율적으로 구성할 수 있습니다. <br><br> - [콘텐츠 선언 가이드](https://intlayer.org/doc/concept/content) |
238
- | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **지능형 컴파일러**<br><br>Intlayer 컴파일러는 프로젝트 소스 코드에서 다국어 콘텐츠를 자동으로 분석 및 추출하여 최적화된 사전 파일을 빌드합니다.<br><br> - [컴파일러 기술 문서](https://intlayer.org/doc/compiler) |
239
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **언어별 독립 선언 파일 기능**<br><br>각 언어별 콘텐츠 선언을 분리함으로써 정밀하고 깔끔하게 파일 구조를 분할 및 확장할 수 있습니다.<br><br> - [언어별 파일 가이드](https://intlayer.org/doc/concept/per-locale-file) |
240
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **엄격한 타입 안전성 보장**<br><br>TypeScript의 강력한 타입 체크를 활용해 휴먼 에러를 완전 차단하고, IDE에서 제공하는 최적의 사전 키 자동완성 힌트를 활용해 보세요.<br><br> - [TypeScript 설정 가이드](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
241
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **직관적인 설정 및 시작**<br><br>최소한의 기본 구문 설정으로 앱을 신속히 배포해 보세요. 라우팅, 국제화, 빌드 및 콘텐츠 분석과 관련된 전반적인 제어가 편리합니다. <br><br> - [Next.js 통합 알아보기](https://intlayer.org/doc/environment/nextjs) |
242
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true) | **간편한 콘텐츠 조회**<br><br>자잘한 구문마다 매번 수동으로 `t` 번역 헬퍼를 결합하지 않아도 됩니다. 통합 훅(Hook)을 결합해 필요한 범위의 콘텐츠 딕셔너리를 단번에 인출할 수 있습니다.<br><br> - [React 통합 레퍼런스](https://intlayer.org/doc/environment/create-react-app) |
243
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true) | **일관된 서버 컴포넌트 설계**<br><br>Next.js 서버 컴포넌트(RSC)에 최적화된 아키텍처로, 클라이언트 사이드와 서버 사이드 모두 동일한 훅과 구문 형태를 적용할 수 있어 번거롭게 `t` 함수를 컴포넌트 트리에 수동 전달할 필요가 없습니다. <br><br> - [서버 컴포넌트 가이드](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
244
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **고도로 조직화된 코드베이스**<br><br>코드 설계를 간결하게 분리합니다: 1 기능 컴포넌트 폴더 내에 해당 사전 딕셔너리가 결합되어 높은 가독성을 유도합니다. <br><br> - [Intlayer 작동 개념](https://intlayer.org/doc/concept/how-works-intlayer) |
245
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **강력한 로컬라이즈 라우팅**<br><br>경로 다국어 처리를 기본 탑재하여 Next.js, React, Vite, Vue.js 등을 활용해 복잡하게 얽힌 하위 페이지 주소를 정교하게 분리해 줍니다.<br><br> - [Next.js 통합 가이드](https://intlayer.org/doc/environment/nextjs) |
246
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Markdown 기본 연동**<br><br>서비스 약관, 법적 공지, 테크니컬 가이드 등 텍스트 서식이 가미된 Markdown 파일 처리를 기본 제공하여, 프론트 코드 내에서 서식 및 메타데이터를 정밀히 매핑할 수 있습니다.<br><br> - [Markdown 활용 가이드](https://intlayer.org/doc/concept/content/file) |
247
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **무료 비주얼 에디터 & 헤드리스 CMS**<br><br>마케터, 기획자, 번역가 등 비개발 협업자가 직관적으로 텍스트를 고칠 수 있는 비주얼 편집 도구와 CMS를 무료 제공합니다. Git 동기화 또는 CMS 원격 결합 방식을 유연하게 설정할 수 있습니다.<br><br> - [비주얼 에디터 문서](https://intlayer.org/doc/concept/editor) <br> - [헤드리스 CMS 문서](https://intlayer.org/doc/concept/cms) |
248
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **Tree-shaking 지원을 통한 초경량 배포**<br><br>빌드 시점에 사용하지 않는 언어와 사전을 완벽히 배포 대상에서 쳐내어 최종 번들 용량을 획기적으로 낮춥니다. 모듈별 레이지 로딩을 원활하게 수행합니다. <br><br> - [빌드 최적화 알아보기](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
249
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **정적 정밀 렌더링(SSG) 최적화**<br><br>정적 생성(Static Rendering) 모듈 작동을 방해하지 않고 부드럽게 작동합니다. <br><br> - [Next.js 정적 빌드](https://intlayer.org/doc/environment/nextjs) |
250
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **원클릭 지능형 AI 번역**<br><br>개발자가 직접 등록한 AI 프로바이더 구성을 바탕으로, CLI 한 번으로 최대 231개 이상의 전 세계 로케일 번역을 자동으로 일괄 적용해 줍니다. <br><br> - [CI/CD 자동 번역](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI 연동](https://intlayer.org/doc/concept/cli) <br> - [자동 채우기](https://intlayer.org/doc/concept/auto-fill) |
251
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **MCP 서버 연동**<br><br>에디터 자동화 표준 프로토콜인 MCP(Model Context Protocol) 서버를 탑재하여, IDE 개발 보조 인공지능이 코드 번역 작업을 훨씬 능동적이고 정확하게 제어하도록 지원합니다. <br><br> - [MCP 서버 정보](https://github.com/aymericzip/intlayer/blob/main/docs/ko/mcp_server.md) |
252
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **VSCode 공식 확장 프로그램**<br><br>사전 딕셔너리 관리, 자동 번역 결합 및 사전 빌드 상태 확인 등을 돕는 전용 에디터 확장을 연동해 보세요. <br><br> - [에디터 확장 프로그램](https://intlayer.org/doc/vs-code-extension) |
253
- | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **높은 상호 운용성**<br><br>기존 react-i18next, next-i18next, next-intl, react-intl 등 기존 모듈 규격에서 손쉽게 마이그레이션하거나 공존할 수 있는 통합 API를 구축했습니다. <br><br> - [react-intl 연동](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [next-intl 연동](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [next-i18next 연동](https://intlayer.org/blog/intlayer-with-next-i18next) |
254
- | 번역 누락 테스트(CLI/CI) | ✅ CLI: npx intlayer content test (CI 친화적인 자동 진단) |
234
+ | 기능 | 설명 |
235
+ | ------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
236
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/frameworks.png?raw=true) | **크로스 프레임워크 범용 지원**<br><br>Intlayer는 Next.js, React, Vite, Vue.js, Nuxt, Preact, Express 등 다양한 대중적인 프레임워크 및 라이브러리와 완벽하게 호환됩니다. |
237
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/javascript_content_management.jpg?raw=true) | **JavaScript 구문 기반의 동적 콘텐츠 관리**<br><br>JavaScript/TypeScript의 높은 유연성을 활용하여 복잡하고 세련된 콘텐츠 구조를 효율적으로 구성할 수 있습니다. <br><br> - [콘텐츠 선언 가이드](https://intlayer.org/doc/concept/content) |
238
+ | <img src="https://github.com/aymericzip/intlayer/blob/main/docs/assets/compiler.jpg?raw=true" alt="Feature" width="700"> | **지능형 컴파일러**<br><br>Intlayer 컴파일러는 프로젝트 소스 코드에서 다국어 콘텐츠를 자동으로 분석 및 추출하여 최적화된 사전 파일을 빌드합니다.<br><br> - [컴파일러 기술 문서](https://intlayer.org/doc/compiler) |
239
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/per_locale_content_declaration_file.png?raw=true) | **언어별 독립 선언 파일 기능**<br><br>각 언어별 콘텐츠 선언을 분리함으로써 정밀하고 깔끔하게 파일 구조를 분할 및 확장할 수 있습니다.<br><br> - [언어별 파일 가이드](https://intlayer.org/doc/concept/per-locale-file) |
240
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/autocompletion.png?raw=true) | **엄격한 타입 안전성 보장**<br><br>TypeScript의 강력한 타입 체크를 활용해 휴먼 에러를 완전 차단하고, IDE에서 제공하는 최적의 사전 키 자동완성 힌트를 활용해 보세요.<br><br> - [TypeScript 설정 가이드](https://intlayer.org/doc/environment/vite-and-react#configure-typescript) |
241
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/config_file.png?raw=true) | **직관적인 설정 및 시작**<br><br>최소한의 기본 구문 설정으로 앱을 신속히 배포해 보세요. 라우팅, 국제화, 빌드 및 콘텐츠 분석과 관련된 전반적인 제어가 편리합니다. <br><br> - [Next.js 통합 알아보기](https://intlayer.org/doc/environment/nextjs) |
242
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/content_retrieval.png?raw=true) | **간편한 콘텐츠 조회**<br><br>자잘한 구문마다 매번 수동으로 `t` 번역 헬퍼를 결합하지 않아도 됩니다. 통합 훅(Hook)을 결합해 필요한 범위의 콘텐츠 딕셔너리를 단번에 인출할 수 있습니다.<br><br> - [React 통합 레퍼런스](https://intlayer.org/doc/environment/create-react-app) |
243
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/server_component.png?raw=true) | **일관된 서버 컴포넌트 설계**<br><br>Next.js 서버 컴포넌트(RSC)에 최적화된 아키텍처로, 클라이언트 사이드와 서버 사이드 모두 동일한 훅과 구문 형태를 적용할 수 있어 번거롭게 `t` 함수를 컴포넌트 트리에 수동 전달할 필요가 없습니다. <br><br> - [서버 컴포넌트 가이드](https://intlayer.org/doc/environment/nextjs#step-7-utilize-content-in-your-code) |
244
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/file_tree.png?raw=true) | **고도로 조직화된 코드베이스**<br><br>코드 설계를 간결하게 분리합니다: 1 기능 컴포넌트 폴더 내에 해당 사전 딕셔너리가 결합되어 높은 가독성을 유도합니다. <br><br> - [Intlayer 작동 개념](https://intlayer.org/doc/concept/how-works-intlayer) |
245
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/url_routing.png?raw=true) | **강력한 로컬라이즈 라우팅**<br><br>경로 다국어 처리를 기본 탑재하여 Next.js, React, Vite, Vue.js 등을 활용해 복잡하게 얽힌 하위 페이지 주소를 정교하게 분리해 줍니다.<br><br> - [Next.js 통합 가이드](https://intlayer.org/doc/environment/nextjs) |
246
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/markdown.png?raw=true) | **Markdown 기본 연동**<br><br>서비스 약관, 법적 공지, 테크니컬 가이드 등 텍스트 서식이 가미된 Markdown 파일 처리를 기본 제공하여, 프론트 코드 내에서 서식 및 메타데이터를 정밀히 매핑할 수 있습니다.<br><br> - [Markdown 활용 가이드](https://intlayer.org/doc/concept/content/file) |
247
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/visual_editor.png?raw=true) | **무료 비주얼 에디터 & 헤드리스 CMS**<br><br>마케터, 기획자, 번역가 등 비개발 협업자가 직관적으로 텍스트를 고칠 수 있는 비주얼 편집 도구와 CMS를 무료 제공합니다. Git 동기화 또는 CMS 원격 결합 방식을 유연하게 설정할 수 있습니다.<br><br> - [비주얼 에디터 문서](https://intlayer.org/doc/concept/editor) <br> - [헤드리스 CMS 문서](https://intlayer.org/doc/concept/cms) |
248
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/bundle.png?raw=true) | **Tree-shaking 지원을 통한 초경량 배포**<br><br>빌드 시점에 사용하지 않는 언어와 사전을 완벽히 배포 대상에서 쳐내어 최종 번들 용량을 획기적으로 낮춥니다. 모듈별 레이지 로딩을 원활하게 수행합니다. <br><br> - [빌드 최적화 알아보기](https://intlayer.org/doc/concept/how-works-intlayer#app-build-optimization) |
249
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/static_rendering.png?raw=true) | **정적 정밀 렌더링(SSG) 최적화**<br><br>정적 생성(Static Rendering) 모듈 작동을 방해하지 않고 부드럽게 작동합니다. <br><br> - [Next.js 정적 빌드](https://intlayer.org/doc/environment/nextjs) |
250
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/AI_translation.png?raw=true) | **원클릭 지능형 AI 번역**<br><br>개발자가 직접 등록한 AI 프로바이더 구성을 바탕으로, CLI 한 번으로 최대 231개 이상의 전 세계 로케일 번역을 자동으로 일괄 적용해 줍니다. <br><br> - [CI/CD 자동 번역](https://intlayer.org/doc/concept/ci-cd) <br> - [Intlayer CLI 연동](https://intlayer.org/doc/concept/cli) <br> - [자동 채우기](https://intlayer.org/doc/concept/auto-fill) |
251
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/mcp.png?raw=true) | **MCP 서버 연동**<br><br>에디터 자동화 표준 프로토콜인 MCP(Model Context Protocol) 서버를 탑재하여, IDE 개발 보조 인공지능이 코드 번역 작업을 훨씬 능동적이고 정확하게 제어하도록 지원합니다. <br><br> - [MCP 서버 정보](https://github.com/aymericzip/intlayer/blob/main/docs/ko/mcp_server.md) |
252
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/vscode_extension.png?raw=true) | **VSCode 공식 확장 프로그램**<br><br>사전 딕셔너리 관리, 자동 번역 결합 및 사전 빌드 상태 확인 등을 돕는 전용 에디터 확장을 연동해 보세요. <br><br> - [에디터 확장 프로그램](https://intlayer.org/doc/vs-code-extension) |
253
+ | ![Feature](https://github.com/aymericzip/intlayer/blob/main/docs/assets/interoperability.png?raw=true) | **높은 상호 운용성**<br><br>기존 react-i18next, next-i18next, next-intl, react-intl 등 기존 모듈 규격에서 손쉽게 마이그레이션하거나 공존할 수 있는 통합 API를 구축했습니다. <br><br> - [react-intl 연동](https://intlayer.org/blog/intlayer-with-react-intl) <br> - [next-intl 연동](https://intlayer.org/blog/intlayer-with-next-intl) <br> - [next-i18next 연동](https://intlayer.org/blog/intlayer-with-next-i18next) <br> - [Intlayer 호환 어댑터](https://intlayer.org/doc/compatibility) |
254
+ | 번역 누락 테스트(CLI/CI) | ✅ CLI: npx intlayer content test (CI 친화적인 자동 진단) |
255
255
 
256
256
  ## Intlayer와 다른 솔루션 비교
257
257
 
@@ -290,3 +290,5 @@ GitHub Star 수는 프로젝트의 인지도, 커뮤니티의 신뢰도 및 장
290
290
  `intlayer`는 기존의 `react-intl`, `react-i18next`, `next-intl`, `next-i18next` 및 `vue-i18n` 사전 네임스페이스들을 동시에 손쉽게 지배하고 가공하도록 지원합니다.
291
291
 
292
292
  `intlayer` 문법 형태로 다국어를 간편히 선언만 해두면, intlayer가 번거롭고 복잡한 기존 프레임워크 규격(예: `/messages/{{locale}}/{{namespace}}.json`)에 맞춰 빌드 타임에 자동으로 사전 파일을 추출 및 변환해 줍니다.
293
+
294
+ 현재 사용 중인 i18n 라이브러리의 API를 그대로 유지하고 싶다면, `intlayer`는 **호환 어댑터(compat adapters)** 도 제공합니다. `react-i18next`, `next-intl`, `react-intl`, `vue-i18n` 등과 완전히 동일한 API를 노출하지만, 실제 콘텐츠는 Intlayer 사전에서 제공되는 패키지입니다. 덕분에 코드를 다시 작성하지 않고 점진적으로 마이그레이션할 수 있습니다. [호환 어댑터 문서](https://github.com/aymericzip/intlayer/blob/main/docs/docs/en/compat/index.md)를 참고하세요.
@@ -404,7 +404,7 @@ export const getLocale = (event: RequestEvent): Locale => {
404
404
  };
405
405
  ```
406
406
 
407
- > `getLocaleFromStorage`는 구성에 따라 헤더 또는 쿠키에서 로케일을 확인합니다. 자세한 내용은 [Configuration](https://intlayer.org/doc/configuration) 문서를 참조하세요.
407
+ > `getLocaleFromStorage`는 구성에 따라 헤더 또는 쿠키에서 로케일을 확인합니다. 자세한 내용은 [Configuration](https://intlayer.org/doc/concept/configuration) 문서를 참조하세요.
408
408
 
409
409
  > `localeDetector` 함수는 `Accept-Language` 헤더를 처리하여 가장 적합한 로케일을 반환합니다.
410
410
 
@@ -254,19 +254,21 @@ import {
254
254
  HeadContent,
255
255
  Scripts,
256
256
  createRootRouteWithContext,
257
+ getRouteApi,
257
258
  } from "@tanstack/solid-router";
258
259
  import { HydrationScript } from "solid-js/web";
259
260
  import { Suspense, type ParentComponent } from "solid-js";
260
261
  import { IntlayerProvider } from "solid-intlayer";
261
262
  import { defaultLocale, getHTMLTextDir } from "intlayer";
262
- import { Route as LocaleRoute } from "./{-$locale}/route";
263
+
264
+ const localeRoute = getRouteApi("/{-$locale}");
263
265
 
264
266
  export const Route = createRootRouteWithContext()({
265
267
  shellComponent: RootComponent,
266
268
  });
267
269
 
268
270
  const RootComponent: ParentComponent = (props) => {
269
- const params = LocaleRoute.useParams();
271
+ const params = localeRoute.useParams();
270
272
  const locale = params()?.locale ?? defaultLocale;
271
273
 
272
274
  return (
@@ -551,7 +553,7 @@ export default LocaleSwitcher;
551
553
 
552
554
  ```tsx fileName="src/routes/__root.tsx"
553
555
  const RootComponent: ParentComponent = (props) => {
554
- const params = LocaleRoute.useParams();
556
+ const params = localeRoute.useParams();
555
557
  const locale = params()?.locale ?? defaultLocale;
556
558
 
557
559
  return (
@@ -271,13 +271,15 @@ export default config;
271
271
  ```tsx fileName="src/routes/__root.tsx"
272
272
  import {
273
273
  createRootRouteWithContext,
274
+ getRouteApi,
274
275
  HeadContent,
275
276
  Scripts,
276
277
  } from "@tanstack/react-router";
277
278
  import { defaultLocale, getHTMLTextDir } from "intlayer";
278
279
  import { type ReactNode } from "react";
279
280
  import { IntlayerProvider } from "react-intlayer";
280
- import { Route as LocaleRoute } from "./{-$locale}/route";
281
+
282
+ const localeRoute = getRouteApi("/{-$locale}");
281
283
 
282
284
  export const Route = createRootRouteWithContext<{}>()({
283
285
  head: () => ({
@@ -299,7 +301,7 @@ export const Route = createRootRouteWithContext<{}>()({
299
301
  });
300
302
 
301
303
  function RootDocument({ children }: { children: ReactNode }) {
302
- const params = LocaleRoute.useParams();
304
+ const params = localeRoute.useParams();
303
305
  const locale = params?.locale ?? defaultLocale;
304
306
 
305
307
  return (
@@ -632,7 +634,7 @@ export const LocaleSwitcher: FC = () => {
632
634
 
633
635
  ```tsx fileName="src/routes/__root.tsx"
634
636
  function RootDocument({ children }: { children: ReactNode }) {
635
- const params = LocaleRoute.useParams();
637
+ const params = localeRoute.useParams();
636
638
  const locale = params?.locale ?? defaultLocale;
637
639
 
638
640
  return (