Intlayer의 향후 출시 예정에 대한 알림을 받으세요
    생성:2025-11-16마지막 업데이트:2025-11-16

    문서: intlayergetPrefix 함수

    설명

    getPrefix 함수는 라우팅 모드 설정에 따라 주어진 로케일의 URL 접두사를 결정합니다. 로케일을 기본 로케일과 비교하고, 유연한 URL 구성을 위해 세 가지 다른 접두사 형식을 포함하는 객체를 반환합니다.

    주요 기능:

    • 첫 번째 매개변수로 로케일을 받음 (필수)
    • defaultLocalemode를 포함하는 선택적 options 객체
    • prefixlocalePrefix 속성을 가진 객체를 반환
    • 모든 라우팅 모드 지원: prefix-no-default, prefix-all, no-prefix, search-params
    • 로케일 접두사를 추가할 시점을 결정하는 가벼운 유틸리티

    함수 시그니처

    getPrefix(  locale: Locales,               // 필수  options?: {                    // 선택적    defaultLocale?: Locales;    mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params';  }): GetPrefixResulttype GetPrefixResult = {  prefix: string;   // 예: 'fr/' 또는 ''  localePrefix?: Locale; // 예: 'fr' 또는 undefined}

    매개변수

    • locale: Locales

      • 설명: 접두사를 생성할 로케일입니다. 값이 falsy(정의되지 않음, null, 빈 문자열)인 경우 함수는 빈 문자열을 반환합니다.
      • 타입: Locales
      • 필수: 예
    • options?: object

      • 설명: 접두사 결정에 대한 구성 객체입니다.
      • 타입: object
      • 필수: 아니요 (선택 사항)

      • options.defaultLocale?: Locales

        • 설명: 애플리케이션의 기본 로케일입니다. 제공되지 않으면 프로젝트 구성에서 설정된 기본 로케일을 사용합니다.
        • 타입: Locales
        • 기본값: 프로젝트 구성
      • options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'

    • 설명: 로케일 처리를 위한 URL 라우팅 모드입니다. 제공되지 않으면 프로젝트 구성에서 설정된 모드를 사용합니다.
    • 타입: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
    • 기본값: 프로젝트 구성
    • 모드:
      • prefix-no-default: 로케일이 기본 로케일과 일치할 때 빈 문자열을 반환합니다.
      • prefix-all: 기본 로케일을 포함한 모든 로케일에 대해 접두사를 반환합니다.
      • no-prefix: 빈 문자열을 반환합니다 (URL에 접두사가 없음).
      • search-params: 빈 문자열을 반환합니다 (로케일이 쿼리 매개변수에 있음).

    반환값

    • 타입: GetPrefixResult
    • 설명: 세 가지 다른 접두사 형식을 포함하는 객체:
      • prefix: 후행 슬래시가 포함된 경로 접두사 (예: 'fr/', '')
      • localePrefix: 슬래시가 없는 로케일 식별자 (예: 'fr', undefined)

    사용 예제

    기본 사용법

    import { getPrefix, Locales } from "intlayer";// 영어 로케일에 대한 접두사 확인getPrefix(Locales.ENGLISH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-all",});// 반환: { prefix: 'en/', localePrefix: 'en' }// 프랑스어 로케일에 대한 접두사 확인getPrefix(Locales.FRENCH, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});// 반환: { prefix: 'fr/', localePrefix: 'fr' }

    다양한 라우팅 모드

    import { getPrefix, Locales } from "intlayer";// prefix-all: 항상 prefix를 반환getPrefix(Locales.ENGLISH, {  mode: "prefix-all",  defaultLocale: Locales.ENGLISH,});// 반환: { prefix: '/en', localePrefix: 'en' }// prefix-no-default: 로케일이 기본값과 일치할 때는 prefix 없음getPrefix(Locales.ENGLISH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// 반환: { prefix: '', localePrefix: undefined }javascript;// prefix-no-default: 기본 로케일과 다를 경우 접두사를 반환합니다.getPrefix(Locales.FRENCH, {  mode: "prefix-no-default",  defaultLocale: Locales.ENGLISH,});// 반환값: { prefix: 'fr/', localePrefix: 'fr' }// no-prefix & search-params: 절대 접두사를 반환하지 않습니다.getPrefix(Locales.ENGLISH, { mode: "no-prefix" });// 반환값: { prefix: '', localePrefix: undefined }getPrefix(Locales.ENGLISH, { mode: "search-params" });// 반환값: { prefix: '', localePrefix: undefined }

    실용적인 예제

    import { getPrefix, Locales } from "intlayer";// 특정 로케일에 적합한 접두사를 사용하여 URL을 생성합니다.const locale = Locales.FRENCH;const { prefix, localePrefix } = getPrefix(locale, {  defaultLocale: Locales.ENGLISH,  mode: "prefix-no-default",});typescript;// 경로 구성을 위한 prefix 사용const url1 = `/${prefix}about`.replace(/\/+/g, "/");// 결과: "/fr/about"// locale 식별을 위한 localePrefix 사용console.log(`현재 로케일: ${localePrefix}`);// 출력: "현재 로케일: fr"

    관련 함수


    TypeScript

    type GetPrefixResult = {  prefix: string; // 슬래시가 포함된 경로 접두사 (예: 'fr/' 또는 '')  localePrefix?: Locale; // 슬래시 없이 로케일 식별자 (예: 'fr' 또는 undefined)};function getPrefix(  locale: Locales,  options?: {    defaultLocale?: Locales;    mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params";  }): GetPrefixResult;
    Intlayer의 향후 출시 예정에 대한 알림을 받으세요