생성:2024-08-11마지막 업데이트:2025-06-29
이 문서를 원하는 AI 어시스턴트에 참조하세요ChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
이 페이지와 원하는 AI 어시스턴트를 사용하여 문서를 요약합니다
MCP Server를 AI 어시스턴트에 추가
Intlayer MCP 서버를 통해 ChatGPT, DeepSeek, Cursor, VSCode 등에서 직접 문서를 검색할 수 있습니다.
MCP 서버 문서 보기이 페이지의 콘텐츠는 AI를 사용하여 번역되었습니다.
영어 원본 내용의 최신 버전을 보기문서 수정
이 문서를 개선할 아이디어가 있으시면 GitHub에 풀 리퀘스트를 제출하여 자유롭게 기여해 주세요.
문서에 대한 GitHub 링크복사
문서의 Markdown을 클립보드에 복사
React 통합: useI18n 훅 문서
이 섹션에서는 React 애플리케이션 내에서 useI18n 훅을 사용하는 방법에 대해 자세히 안내하며, 효율적인 콘텐츠 현지화를 가능하게 합니다.
React에서 useI18n 가져오기
useI18n 훅은 다음과 같이 상황에 맞게 React 애플리케이션에 가져와 통합할 수 있습니다:
클라이언트 컴포넌트:
typescript코드 복사코드를 클립보드에 복사
import { useI18n } from "react-intlayer"; // 클라이언트 측 React 컴포넌트에서 사용
서버 컴포넌트:
매개변수
이 훅은 두 개의 매개변수를 받습니다:
- namespace: 번역 키의 범위를 지정하는 사전 네임스페이스입니다.
- locale (선택 사항): 원하는 로케일입니다. 지정하지 않으면 컨텍스트의 로케일이 기본값으로 사용됩니다.
사전
모든 사전 키는 타입 안전성을 높이고 오류를 방지하기 위해 콘텐츠 선언 파일 내에 선언되어야 합니다. 설정 지침은 여기에서 확인할 수 있습니다.
React에서의 사용 예시
React 컴포넌트 내에서 useI18n 훅을 사용하는 예시:
src/App.tsx
코드 복사
코드를 클립보드에 복사
import type { FC } from "react";import { ClientComponentExample, ServerComponentExample } from "@components";import { IntlayerProvider } from "react-intlayer";import { useI18n, IntlayerServerProvider } from "react.intlayer/server";import { Locales } from "intlayer";const App: FC<{ locale: Locales }> = ({ locale }) => { const t = useI18n("home-page", locale); return ( <> <p>{t("introduction")}</p> <IntlayerProvider locale={locale}> <ClientComponentExample /> </IntlayerProvider> <IntlayerServerProvider locale={locale}> <ServerComponentExample /> </IntlayerServerProvider> </> );};
src/components/ComponentExample.tsx
코드 복사
코드를 클립보드에 복사
import type { FC } from "react";import { useI18n } from "react-intlayer";const ComponentExample: FC = () => { const t = useI18n("component-example"); return ( <div> <h1>{t("title")}</h1> {/* 제목을 표시합니다 */} <p>{t("description")}</p> {/* 설명을 표시합니다 */} </div> );};
src/components/ServerComponentExample.tsx
코드 복사
코드를 클립보드에 복사
import { useI18n } from "react-intlayer/server";const ServerComponentExample = () => { const t = useI18n("server-component"); return ( <div> <h1>{t("title")}</h1> {/* 제목을 표시합니다 */} <p>{t("description")}</p> {/* 설명을 표시합니다 */} </div> );};
속성 처리
속성을 현지화할 때는 번역 값을 적절히 접근해야 합니다:
jsx
코드 복사
코드를 클립보드에 복사
<!-- 접근성 속성(예: aria-label)의 경우, 순수 문자열이 필요하므로 .value를 사용하세요 --><button aria-label={t("button.ariaLabel").value}>{t("button.text")}</button>
추가 자료
- Intlayer 비주얼 에디터: 보다 직관적인 콘텐츠 관리 경험을 위해 비주얼 에디터 문서를 여기에서 참고하세요.
이 섹션은 React 애플리케이션에서 useI18n 훅의 통합을 구체적으로 다루며, 현지화 과정을 단순화하고 다양한 로케일 간 콘텐츠 일관성을 보장합니다.
문서 기록
- 6.0.0 - 2025-06-29: useI18n 훅 문서 초안 작성