번역
번역 정의
intlayer의 t 함수는 여러 언어로 콘텐츠를 선언할 수 있게 해줍니다. 이 함수는 타입 안전성을 보장하며, 번역이 누락된 경우 오류가 발생하여 TypeScript 환경에서 특히 유용합니다.
TypeScript 사용하기
다음은 번역이 포함된 콘텐츠를 선언하는 방법의 예입니다.
**/*.content.ts
import { t, type DeclarationContent } from "intlayer";interface Content { welcomeMessage: string;}export default { key: "multi_lang", content: { welcomeMessage: t({ en: "Welcome to our application", fr: "Bienvenue dans notre application", es: "Bienvenido a nuestra aplicación", }), },} satisfies DeclarationContent<Content>;
로케일 구성
정확한 번역 처리를 위해 intlayer.config.ts에서 수용할 로케일을 구성할 수 있습니다. 이 구성은 애플리케이션이 지원하는 언어를 정의할 수 있게 해줍니다:
intlayer.config.ts
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], },};export default config;
React 컴포넌트에서 번역 사용하기
react-intlayer를 사용하여 React 컴포넌트에서 번역을 사용할 수 있습니다. 다음은 예시입니다:
**/*.tsx
import type { FC } from "react";import { useIntlayer } from "react-intlayer";const MyComponent: FC = () => { const content = useIntlayer("multi_lang"); return ( <div> <p>{content.welcomeMessage}</p> </div> );};export default MyComponent;
이 컴포넌트는 애플리케이션에서 설정된 현재 로케일에 따라 해당 번역을 가져옵니다.
사용자 정의 콘텐츠 객체
intlayer는 번역을 위한 사용자 정의 콘텐츠 객체를 지원하여, 타입 안전성을 보장하며 더 복잡한 구조를 정의할 수 있게 해줍니다. 다음은 사용자 정의 객체의 예입니다:
**/*.content.ts
import { t, type DeclarationContent } from "intlayer";interface ICustomContent { title: string; content: string;}const customContent = { key: "custom_content", content: { profileText: t<ICustomContent>({ en: { title: "Page Title", content: "Page Content", }, fr: { title: "Titre de la Page", content: "Contenu de la Page", }, es: { title: "Título de la Página", content: "Contenido de la Página", }, }), },} satisfies DeclarationContent;export default customContent;
이 문서를 개선할 아이디어가 있으시면 GitHub에 풀 리퀘스트를 제출하여 자유롭게 기여해 주세요.
문서에 대한 GitHub 링크