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

    영어 원본 내용의 최신 버전을 보기

    Intlayer 구성 문서

    개요

    Intlayer 구성 파일은 국제화, 미들웨어 및 콘텐츠 처리와 같은 플러그인의 다양한 측면을 사용자 정의할 수 있도록 합니다. 이 문서는 구성의 각 속성에 대한 자세한 설명을 제공합니다.


    구성 파일 지원

    Intlayer는 JSON, JS, MJS 및 TS 구성 파일 형식을 지원합니다:

    • intlayer.config.ts
    • intlayer.config.js
    • intlayer.config.json
    • intlayer.config.cjs
    • intlayer.config.mjs
    • .intlayerrc

    구성 파일 예제

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH],  },  content: {    typesDir: "content/types",  },  middleware: {    noPrefix: false,  },};export default config;

    구성 참조

    다음 섹션에서는 Intlayer에 사용할 수 있는 다양한 구성 설정을 설명합니다.


    국제화 구성

    애플리케이션의 사용 가능한 로케일 및 기본 로케일을 포함한 국제화와 관련된 설정을 정의합니다.

    속성

    • locales:

      • 유형: string[]
      • 기본값: ['en']
      • 설명: 애플리케이션에서 지원되는 로케일 목록입니다.
      • 예제: ['en', 'fr', 'es']
    • requiredLocales:
      • 유형: string[]
      • 기본값: []
      • 설명: 애플리케이션에서 필수 로케일 목록입니다.
      • 예제: []
      • 참고: 비어 있으면 strict 모드에서 모든 로케일이 필수로 간주됩니다.
      • 참고: 필수 로케일은 locales 필드에도 정의되어야 합니다.
    • strictMode:

      • 유형: string
      • 기본값: inclusive
      • 설명: 타입스크립트를 사용하여 국제화된 콘텐츠의 강력한 구현을 보장합니다.
      • 참고: "strict"로 설정하면 번역 t 함수는 선언된 각 로케일이 정의되어야 합니다. 로케일이 누락되었거나 구성에 선언되지 않은 경우 오류가 발생합니다.
      • 참고: "inclusive"로 설정하면 번역 t 함수는 선언된 각 로케일이 정의되어야 합니다. 로케일이 누락된 경우 경고가 표시됩니다. 그러나 구성에 선언되지 않은 로케일이 존재하더라도 허용됩니다.
      • 참고: "loose"로 설정하면 번역 t 함수는 모든 기존 로케일을 허용합니다.
    • defaultLocale:

      • 유형: string
      • 기본값: 'en'
      • 설명: 요청된 로케일을 찾을 수 없는 경우 대체로 사용되는 기본 로케일입니다.
      • 예제: 'en'
      • 참고: URL, 쿠키 또는 헤더에 로케일이 지정되지 않은 경우 로케일을 결정하는 데 사용됩니다.

    에디터 구성

    서버 포트 및 활성 상태를 포함한 통합 에디터와 관련된 설정을 정의합니다.

    속성

    • applicationURL:

      • 유형: string
      • 기본값: http://localhost:3000
      • 설명: 애플리케이션의 URL입니다. 보안상의 이유로 에디터의 출처를 제한하는 데 사용됩니다.
      • 예제:
        • 'http://localhost:3000'
        • 'https://example.com'
        • process.env.INTLAYER_EDITOR_URL
      • 참고: 애플리케이션의 URL입니다. 보안상의 이유로 에디터의 출처를 제한하는 데 사용됩니다. '*'로 설정하면 에디터는 모든 출처에서 접근할 수 있습니다.
    • port:

      • 유형: number
      • 기본값: 8000
      • 설명: 시각적 에디터 서버에서 사용하는 포트입니다.
    • editorURL:

      • 유형: string
      • 기본값: 'http://localhost:8000'
      • 설명: 에디터 서버의 URL입니다. 보안상의 이유로 에디터의 출처를 제한하는 데 사용됩니다.
        • 'http://localhost:3000'
        • 'https://example.com'
        • process.env.INTLAYER_EDITOR_URL
      • 참고: 애플리케이션에서 접근할 수 있는 에디터 서버의 URL입니다. 애플리케이션과 상호작용할 수 있는 출처를 제한하는 데 사용됩니다. '*'로 설정하면 에디터는 모든 출처에서 접근할 수 있습니다. 포트가 변경되었거나 에디터가 다른 도메인에 호스팅된 경우 설정해야 합니다.
    • cmsURL:

      • 유형: string
      • 기본값: 'https://intlayer.org'
      • 설명: Intlayer CMS의 URL입니다.
      • 예제: 'https://intlayer.org'
      • 참고: Intlayer CMS의 URL입니다.
    • backendURL:

      • 유형: string
      • 기본값: https://back.intlayer.org
      • 설명: 백엔드 서버의 URL입니다.
      • 예제: http://localhost:4000
    • enabled:

      • 유형: boolean
      • 기본값: true
      • 설명: 애플리케이션이 시각적 에디터와 상호작용할 수 있는지 여부를 나타냅니다.
      • 예제: process.env.NODE_ENV !== 'production'
      • 참고: true로 설정하면 에디터가 애플리케이션과 상호작용할 수 있습니다. false로 설정하면 에디터는 애플리케이션과 상호작용할 수 없습니다. 어떤 경우에도 에디터는 시각적 에디터에 의해 활성화될 수 있습니다. 특정 환경에서 에디터를 비활성화하는 것은 보안을 강화하는 방법입니다.
    • clientId:

      • 유형: string | undefined
      • 기본값: undefined
      • 설명: clientId 및 clientSecret은 Intlayer 패키지가 oAuth2 인증을 사용하여 백엔드와 인증할 수 있도록 합니다. 액세스 토큰은 프로젝트와 관련된 사용자를 인증하는 데 사용됩니다. 액세스 토큰을 얻으려면 /dashboard/project 에서 계정을 생성하십시오.
      • 예제: true
      • 참고: 중요: clientId 및 clientSecret은 비공개로 유지되어야 하며 공개적으로 공유되지 않아야 합니다. 환경 변수와 같은 안전한 위치에 보관하십시오.
    • clientSecret:

      • 유형: string | undefined
      • 기본값: undefined
      • 설명: clientId 및 clientSecret은 Intlayer 패키지가 oAuth2 인증을 사용하여 백엔드와 인증할 수 있도록 합니다. 액세스 토큰은 프로젝트와 관련된 사용자를 인증하는 데 사용됩니다. 액세스 토큰을 얻으려면 /dashboard/project 에서 계정을 생성하십시오.
      • 예제: true
      • 참고: 중요: clientId 및 clientSecret은 비공개로 유지되어야 하며 공개적으로 공유되지 않아야 합니다. 환경 변수와 같은 안전한 위치에 보관하십시오.
    • hotReload:

      • 유형: boolean
      • 기본값: false
      • 설명: 애플리케이션이 변경 사항을 감지할 때 로케일 구성을 핫 리로드해야 하는지 여부를 나타냅니다.
      • 예제: true
      • 참고: 예를 들어, 새 사전이 추가되거나 업데이트될 때 애플리케이션은 페이지에 표시할 콘텐츠를 업데이트합니다.
      • 참고: 핫 리로딩은 서버와의 지속적인 연결이 필요하기 때문에 enterprise 플랜의 클라이언트만 사용할 수 있습니다.
    • dictionaryPriorityStrategy:

      • 유형: string
      • 기본값: 'local_first'
      • 설명: 로컬 및 원격 사전이 모두 존재하는 경우 사전의 우선 순위를 결정하는 전략입니다. 'distant_first'로 설정하면 애플리케이션은 로컬 사전보다 원격 사전을 우선시합니다. 'local_first'로 설정하면 애플리케이션은 원격 사전보다 로컬 사전을 우선시합니다.
      • 예제: 'distant_first'

    미들웨어 구성

    애플리케이션이 쿠키, 헤더 및 로케일 관리를 위한 URL 접두사를 처리하는 방식을 제어하는 미들웨어 동작 설정입니다.

    속성

    • headerName:

      • 유형: string
      • 기본값: 'x-intlayer-locale'
      • 설명: 로케일을 결정하는 데 사용되는 HTTP 헤더의 이름입니다.
      • 예제: 'x-custom-locale'
      • 참고: API 기반 로케일 결정에 유용합니다.

    • cookieName:

      • 유형: string
      • 기본값: 'intlayer-locale'
      • 설명: 로케일을 저장하는 데 사용되는 쿠키의 이름입니다.
      • 예시: 'custom-locale'
      • 참고: 세션 간 로케일을 유지하는 데 사용됩니다.
    • prefixDefault:

      • 유형: boolean
      • 기본값: true
      • 설명: URL에 기본 로케일을 포함할지 여부를 나타냅니다.
      • 예시: false
      • 참고: false로 설정하면 기본 로케일의 URL에는 로케일 접두사가 포함되지 않습니다.
    • basePath:

      • 유형: string
      • 기본값: ''
      • 설명: 애플리케이션 URL의 기본 경로입니다.
      • 예시: '/my-app'
      • 참고: 이 설정은 애플리케이션의 URL 구성 방식에 영향을 미칩니다.
    • serverSetCookie:

      • 유형: string
      • 기본값: 'always'
      • 설명: 서버에서 로케일 쿠키를 설정하는 규칙입니다.
      • 옵션: 'always', 'never'
      • 예시: 'never'
      • 참고: 로케일 쿠키를 모든 요청에서 설정할지 또는 설정하지 않을지를 제어합니다.
    • noPrefix:

      • 유형: boolean
      • 기본값: false
      • 설명: URL에서 로케일 접두사를 생략할지 여부를 나타냅니다.
      • 예시: true
      • 참고: true로 설정하면 URL에 로케일 정보가 포함되지 않습니다.

    콘텐츠 설정

    애플리케이션 내 콘텐츠 처리와 관련된 설정으로, 디렉토리 이름, 파일 확장자 및 파생된 구성을 포함합니다.

    속성

    • watch:

      • 유형: boolean
      • 기본값: process.env.NODE_ENV === 'development'
      • 설명: Intlayer가 앱 내 콘텐츠 선언 파일의 변경 사항을 감지하여 관련 사전을 다시 빌드할지 여부를 나타냅니다.
    • fileExtensions:

      • 유형: string[]
      • 기본값: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']
      • 설명: 사전을 빌드할 때 검색할 파일 확장자입니다.
      • 예시: ['.data.ts', '.data.js', '.data.json']
      • 참고: 파일 확장자를 사용자 정의하면 충돌을 방지할 수 있습니다.
    • baseDir:

      • 유형: string
      • 기본값: process.cwd()
      • 설명: 프로젝트의 기본 디렉토리입니다.
      • 예시: '/path/to/project'
      • 참고: Intlayer 관련 모든 디렉토리를 해결하는 데 사용됩니다.
    • dictionaryOutput:

      • 유형: string[]
      • 기본값: ['intlayer']
      • 설명: 사용할 사전 출력 유형입니다. 예: 'intlayer' 또는 'i18next'.
    • contentDir:

      • 유형: string[]
      • 기본값: ['src']
      • 설명: 콘텐츠가 저장된 디렉토리 경로입니다.
    • dictionariesDir:

      • 유형: string
      • 기본값: '.intlayer/dictionaries'
      • 설명: 중간 또는 출력 결과를 저장하는 디렉토리 경로입니다.
    • moduleAugmentationDir:

      • 유형: string
      • 기본값: '.intlayer/types'
      • 설명: 모듈 보강을 위한 디렉토리로, IDE 제안 및 타입 검사를 개선합니다.
      • 예시: 'intlayer-types'
      • 참고: 이 디렉토리를 tsconfig.json에 포함해야 합니다.
    • unmergedDictionariesDir:

      • 유형: string
      • 기본값: '.intlayer/unmerged_dictionary'
      • 설명: 병합되지 않은 사전을 저장하는 디렉토리입니다.
      • 예시: 'translations'
    • dictionariesDir:

      • 유형: string
      • 기본값: '.intlayer/dictionary'
      • 설명: 로컬라이제이션 사전을 저장하는 디렉토리입니다.
      • 예시: 'translations'
    • i18nextResourcesDir:

      • 유형: string
      • 기본값: 'i18next_dictionary'
      • 설명: i18n 사전을 저장하는 디렉토리입니다.
      • 예시: 'translations'
      • 참고: 이 디렉토리가 i18next 출력 유형에 대해 구성되었는지 확인하십시오.
    • typesDir:

      • 유형: string
      • 기본값: 'types'
      • 설명: 사전 유형을 저장하는 디렉토리입니다.
      • 예시: 'intlayer-types'
    • mainDir:

      • 유형: string
      • 기본값: 'main'
      • 설명: 주요 애플리케이션 파일이 저장된 디렉토리입니다.
      • 예시: 'intlayer-main'
    • excludedPath:

      • 유형: string[]
      • 기본값: ['node_modules']
      • 설명: 콘텐츠 검색에서 제외된 디렉토리입니다.
      • 참고: 이 설정은 아직 사용되지 않지만, 향후 구현될 예정입니다.

    로거 설정

    로거를 제어하는 설정으로, 사용할 접두사를 포함합니다.

    속성

    • mode:

      • 유형: string
      • 기본값: default
      • 설명: 로거의 모드를 나타냅니다.
      • 옵션: default, verbose, disabled
      • 예시: default
      • 참고: 로거의 모드입니다. 자세한 모드는 더 많은 정보를 기록하지만 디버깅 목적으로 사용할 수 있습니다. 비활성화 모드는 로거를 비활성화합니다.
    • prefix:

      • 유형: string
      • 기본값: '[intlayer] '
      • 설명: 로거의 접두사입니다.
      • 예시: '[my custom prefix] '
      • 참고: 로거의 접두사입니다.

    AI 설정

    Intlayer의 AI 기능을 제어하는 설정으로, 제공자, 모델 및 API 키를 포함합니다.

    이 설정은 Intlayer 대시보드에서 액세스 키를 사용하여 등록된 경우 선택 사항입니다. Intlayer는 귀하의 요구에 가장 효율적이고 비용 효율적인 AI 솔루션을 자동으로 관리합니다. 기본 옵션을 사용하면 Intlayer가 가장 관련성 높은 모델을 지속적으로 업데이트하므로 장기적인 유지 관리가 더 용이합니다.

    자체 API 키 또는 특정 모델을 사용하려면 사용자 정의 AI 구성을 정의할 수 있습니다. 이 AI 구성은 Intlayer 환경 전반에서 전역적으로 사용됩니다. CLI 명령은 이 설정을 명령의 기본값으로 사용하며(e.g. fill), SDK, 시각적 편집기 및 CMS에서도 사용됩니다. 특정 사용 사례에 대해 명령 매개변수를 사용하여 이러한 기본값을 재정의할 수 있습니다.

    Intlayer는 유연성과 선택을 강화하기 위해 여러 AI 제공자를 지원합니다. 현재 지원되는 제공자는 다음과 같습니다:

    • OpenAI (기본값)
    • Anthropic Claude
    • Mistral AI
    • DeepSeek
    • Google Gemini
    • Meta Llama

    속성

    • provider:

      • 유형: string
      • 기본값: 'openai'
      • 설명: Intlayer의 AI 기능에 사용할 제공자입니다.
      • 옵션: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini'
      • 예시: 'anthropic'
      • 참고: 제공자마다 다른 API 키가 필요하며, 가격 모델도 다를 수 있습니다.
    • model:

      • 유형: string
      • 기본값: 없음
      • 설명: Intlayer의 AI 기능에 사용할 모델입니다.
      • 예시: 'gpt-4o-2024-11-20'
      • 참고: 제공자에 따라 사용할 특정 모델이 다릅니다.
    • temperature:

      • 유형: number
      • 기본값: 없음
      • 설명: 온도는 AI 응답의 무작위성을 제어합니다.
      • 예시: 0.1
      • 참고: 높은 온도는 AI를 더 창의적이고 예측 불가능하게 만듭니다.
    • apiKey:

      • 유형: string
      • 기본값: 없음
      • 설명: 선택한 제공자의 API 키입니다.
      • 예시: process.env.OPENAI_API_KEY
      • 참고: 중요: API 키는 비공개로 유지되어야 하며, 공개적으로 공유되지 않아야 합니다. 환경 변수와 같은 안전한 위치에 보관하십시오.
    • applicationContext:

      • 유형: string
      • 기본값: 없음
      • 설명: AI 모델에 애플리케이션에 대한 추가 컨텍스트를 제공하여 더 정확하고 상황에 맞는 번역을 생성하는 데 도움을 줍니다. 여기에는 앱의 도메인, 대상 사용자, 톤 또는 특정 용어에 대한 정보가 포함될 수 있습니다.

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

    문서에 대한 GitHub 링크