--- createdAt: 2025-02-07 updatedAt: 2025-06-29 title: getTranslation 함수 - Intlayer 자바스크립트 문서 description: 특정 로케일에 대한 현지화된 콘텐츠를 기본 로케일로 대체하여 가져오는 Intlayer의 getTranslation 함수 문서입니다. keywords: - getTranslation - intlayer - 함수 - 현지화 - i18n - 자바스크립트 - 번역 - 로케일 slugs: - doc - package - intlayer - getTranslationContent history: - version: 5.5.10 date: 2025-06-29 changes: 초기 이력 --- # 문서: `intlayer`의 `getTranslation` 함수 ## 설명 `getTranslation` 함수는 사용자 정의 가능한 언어 콘텐츠 집합에서 특정 로케일에 해당하는 콘텐츠를 가져옵니다. 지정한 로케일이 없으면 프로젝트에 구성된 기본 로케일의 콘텐츠를 반환합니다. ## 매개변수 - `languageContent: CustomizableLanguageContent` - **설명**: 여러 로케일에 대한 번역을 포함하는 객체입니다. 각 키는 로케일을 나타내며, 값은 해당 로케일의 콘텐츠입니다. - **타입**: `CustomizableLanguageContent` - `Content`는 기본적으로 `string` 타입을 가지며, 어떤 타입도 될 수 있습니다. - `locale: Locales` - **설명**: 콘텐츠를 가져올 로케일입니다. - **타입**: `Locales` ## 반환값 - **타입**: `Content` - **설명**: 지정된 로케일에 해당하는 콘텐츠입니다. 만약 로케일을 찾을 수 없으면, 기본 로케일의 콘텐츠가 반환됩니다. ## 사용 예시 ### 기본 사용법 ```typescript codeFormat="typescript" import { getTranslation, Locales } from "intlayer"; const content = getTranslation( { en: "Hello", fr: "Bonjour", }, Locales.ENGLISH ); console.log(content); // 출력: "Bonjour" ``` ```javascript codeFormat="esm" import { getTranslation, Locales } from "intlayer"; const content = getTranslation( { en: "Hello", fr: "Bonjour", }, Locales.ENGLISH ); console.log(content); // 출력: "Bonjour" ``` ```javascript codeFormat="commonjs" const { getTranslation, Locales } = require("intlayer"); const content = getTranslation( { en: "Hello", fr: "Bonjour", }, Locales.ENGLISH ); console.log(content); // 출력: "Bonjour" ``` ### 누락된 로케일: ```typescript codeFormat="typescript" import { getTranslation, Locales } from "intlayer"; const content = getTranslation( { en: "Hello", fr: "Bonjour", }, Locales.SPANISH ); console.log(content); // 출력: "Hello" (기본 로케일 내용) ``` ```javascript codeFormat="esm" import { getTranslation, Locales } from "intlayer"; const content = getTranslation( { en: "Hello", fr: "Bonjour", }, Locales.SPANISH ); console.log(content); // 출력: "Hello" (기본 로케일 내용) ``` ```javascript codeFormat="commonjs" const { getTranslation, Locales } = require("intlayer"); const content = getTranslation( { en: "Hello", fr: "Bonjour", }, Locales.SPANISH ); console.log(content); // 출력: "Hello" (기본 로케일 내용) ``` ### 사용자 정의 콘텐츠 타입 사용: ```typescript codeFormat="typescript" import { getTranslation, Locales } from "intlayer"; const customContent = getTranslation>( { en: { greeting: "Hello" }, fr: { greeting: "Bonjour" }, }, Locales.FRENCH ); console.log(customContent.greeting); // 출력: "Bonjour" ``` ```javascript codeFormat="esm" import { getTranslation, Locales } from "intlayer"; const customContent = getTranslation>( { en: { greeting: "Hello" }, fr: { greeting: "Bonjour" }, }, Locales.FRENCH ); console.log(customContent.greeting); // 출력: "Bonjour" ``` ```javascript codeFormat="commonjs" const { getTranslation, Locales } = require("intlayer"); const customContent = getTranslation>( { en: { greeting: "Hello" }, fr: { greeting: "Bonjour" }, }, Locales.FRENCH ); console.log(customContent.greeting); // 출력: "Bonjour" ``` ## 예외 상황 - **로케일을 찾을 수 없음:** - `locale`이 `languageContent`에 없을 경우, 함수는 기본 로케일의 콘텐츠를 반환합니다. - **불완전한 언어 콘텐츠:** - 로케일이 부분적으로 정의된 경우, 함수는 콘텐츠를 병합하지 않습니다. 지정된 로케일의 값을 엄격히 가져오거나 기본값으로 대체합니다. - **TypeScript 강제 적용:** - `languageContent`의 로케일이 프로젝트 구성과 일치하지 않으면, TypeScript는 모든 필수 로케일이 정의되도록 강제하여 콘텐츠가 완전하고 타입 안전함을 보장합니다.