작가:
    생성:2026-06-12마지막 업데이트:2026-06-12

    변형

    변형(Variant)은 동일한 사전 키(key)를 공유하지만 서로 다른 variant 이름을 선언하는 콘텐츠 파일의 집합입니다. Intlayer는 useIntlayer에 전달된 선택기에 따라 적절한 파일을 서비스합니다.

    변형 선언

    각 파일은 하나의 이름이 지정된 대체 콘텐츠를 나타냅니다. variant 필드를 생략하거나 "default"로 설정하면 기본(fallback) 변형으로 표시됩니다.

    hero-banner.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const dictionary = {
      key: "hero-banner",
      variant: "default",
      content: {
        headline: t({
          en: "Build faster with Intlayer",
          fr: "Développez plus vite avec Intlayer",
        }),
        cta: t({ en: "Get started", fr: "Commencer" }),
      },
    } satisfies Dictionary;
    
    export default dictionary;
    hero-banner.black-friday.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const dictionary = {
      key: "hero-banner",
      variant: "black_friday",
      content: {
        headline: t({
          en: "50 % off — today only",
          fr: "−50 % — aujourd'hui seulement",
        }),
        cta: t({ en: "Shop now", fr: "Acheter maintenant" }),
      },
    } satisfies Dictionary;
    
    export default dictionary;

    변형 소비하기

    기본 변형

    Hero.tsx
    import { useIntlayer } from "react-intlayer";
    
    export const Hero = () => {
      const { headline, cta } = useIntlayer("hero-banner");
      // → 기본 변형
    
      return (
        <section>
          <h1>{headline}</h1>
          <a>{cta}</a>
        </section>
      );
    };

    이름이 지정된 변형

    tsx
    const { headline, cta } = useIntlayer("hero-banner", {  variant: "black_friday",});

    명시적 로케일로 이름이 지정된 변형

    tsx
    const content = useIntlayer("hero-banner", {  variant: "black_friday",  locale: "ko",});

    일반적인 사용 사례

    • 실험 키(experiment key)에 따른 A/B 카피 테스트
    • 시즌별 또는 프로모션 배너
    • 기능 플래그(feature flags)로 제어되는 문구
    • 특정 로케일 타겟 마케팅 캠페인