홈샌드박스쇼케이스앱문서블로그
    • English영어
      EN
    • русский러시아어
      RU
    • 日本語일본어
      JA
    • français프랑스어
      FR
    • 한국어한국어
      KO
    • 中文중국어
      ZH
    • español스페인어
      ES
    • Deutsch독일어
      DE
    • العربية아랍어
      AR
    • italiano이탈리아어
      IT
    • British English영어(영국)
      EN-GB
    • português포르투갈어
      PT
    • हिन्दी힌디어
      HI
    • Türkçe튀르키예어
      TR
    • polski폴란드어
      PL
    • Indonesia인도네시아어
      ID
    • Tiếng Việt베트남어
      VI
    • українська우크라이나어
      UK
    /
    프레임워크로 문서 필터링
    Alt+←
    Intlayer의 이점
    시작하기
    개념
    • Intlayer 작동 방식
    • 구성
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • 비주얼 편집기
    • CMS
    • CI/CD 통합
    • 번역복수형열거조건성별삽입파일중첩MarkdownHTML함수 가져오기
    • 로케일별 파일
    • 컴파일러
    • 자동 채우기
    • 테스트
    • 번들 최적화
    환경
    • Next.js 14 및 앱 라우터
      Next.js 15
      Next.js 로케일 없는 URL
      Next.js 및 페이지 라우터
      컴파일러
    • Tanstack Start Solid
    • Astro 및 React
      Astro 및 Svelte
      Astro 및 Vue
      Astro 및 Solid
      Astro 및 Preact
      Astro 및 Lit
      Astro 및 Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt 및 Vue
    • Vite 및 Solid
    • SvelteKit
    • Vite 및 Preact
    • Vite 및 Vanilla JS
    • Vite 및 Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native 및 Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx 및 React
    Plugins
    • JSON
    • gettext (.po)
    VS Code 확장 기능
    에이전트
    • MCP 서버
    • 에이전트 기술
    릴리스
    • v8
    • v7
    • v6
    벤치마크
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    블로그
    질문 발표
    1. Documentation
    2. 개념
    3. 자동 채우기
    생성:2025-03-13마지막 업데이트:2025-09-20
    이 문서를 원하는 AI 어시스턴트에 참조하세요
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    이 페이지와 원하는 AI 어시스턴트를 사용하여 문서를 요약합니다

    버전 기록

    1. "전역 구성 추가"
      v6.0.02025. 9. 20.
    2. "`{{fileName}}` 변수 추가"
      v6.0.02025. 9. 17.
    3. "이력 초기화"
      v5.5.102025. 6. 29.

    이 페이지의 콘텐츠는 AI를 사용하여 번역되었습니다.

    영어 원본 내용의 최신 버전을 보기
    문서 수정

    이 문서를 개선할 아이디어가 있으시면 GitHub에 풀 리퀘스트를 제출하여 자유롭게 기여해 주세요.

    문서에 대한 GitHub 링크
    복사

    문서의 Markdown을 클립보드에 복사

    자동 채우기 콘텐츠 선언 파일 번역

    자동 채우기 콘텐츠 선언 파일은 개발 워크플로우를 가속화하는 방법입니다.

    자동 채우기 메커니즘은 콘텐츠 선언 파일 간의 마스터-슬레이브 관계를 통해 작동합니다. 메인(마스터) 파일이 업데이트되면 Intlayer가 파생(자동 채우기된) 선언 파일에 해당 변경 사항을 자동으로 적용합니다.

    src/components/example/example.content.ts
    코드 복사

    코드를 클립보드에 복사

    import { Locales, type Dictionary } from "intlayer";const exampleContent = {  key: "example",  locale: Locales.ENGLISH,  autoFill: "./example.content.json",  content: {    contentExample: "이것은 콘텐츠의 예시입니다",  },} satisfies Dictionary;export default exampleContent;

    다음은 autoFill 지시어를 사용한 로케일별 콘텐츠 선언 파일입니다.

    그런 다음, 다음 명령어를 실행하면:

    bash
    코드 복사

    코드를 클립보드에 복사

    npx intlayer fill --file 'src/components/example/example.content.ts'

    Intlayer는 메인 파일에 아직 선언되지 않은 모든 로케일을 채워 src/components/example/example.content.json에 파생 선언 파일을 자동으로 생성합니다.

    src/components/example/example.content.json
    코드 복사

    코드를 클립보드에 복사

    {  "key": "example",  "content": {    "contentExample": {      "nodeType": "translation",      "translation": {        "fr": "Ceci est un exemple de contenu",        "es": "Este es un ejemplo de contenido",      },    },  },}

    그 후, 두 선언 파일은 단일 사전으로 병합되어 표준 useIntlayer("example") 훅(react) / 컴포저블(vue)을 통해 접근할 수 있습니다.

    자동 채워진 파일 형식

    자동 채워진 선언 파일에 권장되는 형식은 JSON으로, 형식 제약을 피하는 데 도움이 됩니다. 그러나 Intlayer는 .ts, .js, .mjs, .cjs 및 기타 형식도 지원합니다.

    src/components/example/example.content.ts
    코드 복사

    코드를 클립보드에 복사

    const exampleContent = {  key: "example",  autoFill: "./example.filled.content.ts",  content: {    // 여기에 내용을 작성하세요  },};

    이렇게 하면 다음 위치에 파일이 생성됩니다:

    plaintext
    코드 복사

    코드를 클립보드에 복사

    src/components/example/example.filled.content.ts

    .js, .ts 및 유사한 파일 생성은 다음과 같이 작동합니다:

    • 파일이 이미 존재하는 경우, Intlayer는 AST(추상 구문 트리)를 사용하여 각 필드를 찾아 누락된 번역을 삽입합니다.
    • 파일이 존재하지 않는 경우, Intlayer는 기본 콘텐츠 선언 파일 템플릿을 사용하여 파일을 생성합니다.

    절대 경로

    autoFill 필드는 절대 경로도 지원합니다.

    src/components/example/example.content.ts
    코드 복사

    코드를 클립보드에 복사

    const exampleContent = {  key: "example",  autoFill: "/messages/example.content.json",  content: {    // 여기에 콘텐츠 작성  },};

    이렇게 하면 다음 위치에 파일이 생성됩니다:

    plaintext
    코드 복사

    코드를 클립보드에 복사

    /messages/example.content.json

    로케일별 콘텐츠 선언 파일 자동 생성

    autoFill 필드는 로케일별 콘텐츠 선언 파일 생성을 지원합니다.

    src/components/example/example.content.ts
    코드 복사

    코드를 클립보드에 복사

    const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",    es: "./example.es.content.json",  },  content: {    // 귀하의 콘텐츠  },};

    이렇게 하면 두 개의 별도 파일이 생성됩니다:

    • src/components/example/example.fr.content.json
    • src/components/example/example.es.content.json
    이 경우, 객체에 모든 로케일이 포함되어 있지 않으면 Intlayer는 나머지 로케일의 생성을 건너뜁니다.

    특정 로케일 자동 채우기 필터링

    autoFill 필드에 객체를 사용하면 필터를 적용하여 특정 로케일 파일만 생성할 수 있습니다.

    src/components/example/example.content.ts
    코드 복사

    코드를 클립보드에 복사

    const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",  },  content: {    // 귀하의 콘텐츠  },};

    이렇게 하면 프랑스어 번역 파일만 생성됩니다.

    경로 변수

    autoFill 경로 내에서 변수를 사용하여 생성된 파일의 대상 경로를 동적으로 해결할 수 있습니다.

    사용 가능한 변수:

    • {{locale}} – 로케일 코드 (예: fr, es)
    • {{fileName}} – 파일 이름 (예: index)
    • {{key}} – 사전 키 (예: example)
    src/components/example/index.content.ts
    코드 복사

    코드를 클립보드에 복사

    const exampleContent = {  key: "example",  autoFill: "/messages/{{locale}}/{{key}}.content.json",  content: {    // 여기에 내용을 작성하세요  },};

    이 코드는 다음 파일들을 생성합니다:

    • /messages/fr/example.content.json
    • /messages/es/example.content.json
    src/components/example/index.content.ts
    코드 복사

    코드를 클립보드에 복사

    const exampleContent = {  key: "example",  autoFill: "./{{fileName}}.content.json",  content: {    // 여기에 내용을 작성하세요  },};

    이 코드는 다음 파일들을 생성합니다:

    • ./index.content.json
    • ./index.content.json
    컴파일러
    테스트
    Alt+→

    이 페이지에서

      토론은 익명이며 일반적인 문제를 해결하기 위해 정기적으로 검토됩니다. 기능 아이디어, 문서에 대한 피드백 또는 Intlayer와 관련된 모든 것을 자유롭게 공유하세요, 이 의견을 로드맵 구성과 제품 개선에 활용합니다.

      import { Locales, type Dictionary } from "intlayer";const exampleContent = {  key: "example",  locale: Locales.ENGLISH,  autoFill: "./example.content.json",  content: {    contentExample: "이것은 콘텐츠의 예시입니다",  },} satisfies Dictionary;export default exampleContent;
      npx intlayer fill --file 'src/components/example/example.content.ts'
      {  "key": "example",  "content": {    "contentExample": {      "nodeType": "translation",      "translation": {        "fr": "Ceci est un exemple de contenu",        "es": "Este es un ejemplo de contenido",      },    },  },}
      const exampleContent = {  key: "example",  autoFill: "./example.filled.content.ts",  content: {    // 여기에 내용을 작성하세요  },};
      src/components/example/example.filled.content.ts
      const exampleContent = {  key: "example",  autoFill: "/messages/example.content.json",  content: {    // 여기에 콘텐츠 작성  },};
      /messages/example.content.json
      const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",    es: "./example.es.content.json",  },  content: {    // 귀하의 콘텐츠  },};
      const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",  },  content: {    // 귀하의 콘텐츠  },};
      const exampleContent = {  key: "example",  autoFill: "/messages/{{locale}}/{{key}}.content.json",  content: {    // 여기에 내용을 작성하세요  },};
      const exampleContent = {  key: "example",  autoFill: "./{{fileName}}.content.json",  content: {    // 여기에 내용을 작성하세요  },};