생성:2025-11-16마지막 업데이트:2025-11-16
이 문서를 원하는 AI 어시스턴트에 참조하세요ChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
이 페이지와 원하는 AI 어시스턴트를 사용하여 문서를 요약합니다
MCP Server를 AI 어시스턴트에 추가
Intlayer MCP 서버를 통해 ChatGPT, DeepSeek, Cursor, VSCode 등에서 직접 문서를 검색할 수 있습니다.
MCP 서버 문서 보기버전 기록
- 초기 문서화v7.1.02025. 11. 16.
이 페이지의 콘텐츠는 AI를 사용하여 번역되었습니다.
영어 원본 내용의 최신 버전을 보기문서 수정
이 문서를 개선할 아이디어가 있으시면 GitHub에 풀 리퀘스트를 제출하여 자유롭게 기여해 주세요.
문서에 대한 GitHub 링크복사
문서의 Markdown을 클립보드에 복사
문서: intlayer의 getPrefix 함수
설명
getPrefix 함수는 라우팅 모드 설정에 따라 주어진 로케일의 URL 접두사를 결정합니다. 로케일을 기본 로케일과 비교하고, 유연한 URL 구성을 위해 세 가지 다른 접두사 형식을 포함하는 객체를 반환합니다.
주요 기능:
- 첫 번째 매개변수로 로케일을 받음 (필수)
- defaultLocale과 mode를 포함하는 선택적 options 객체
- prefix와 localePrefix 속성을 가진 객체를 반환
- 모든 라우팅 모드 지원: 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"관련 함수
- getLocalizedUrl: 특정 로케일에 대한 현지화된 URL 생성
- getMultilingualUrls: 구성된 모든 로케일에 대한 URL 생성
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;