생성:2026-09-19마지막 업데이트:2026-09-19
이 문서를 원하는 AI 어시스턴트에 참조하세요ChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
이 페이지와 원하는 AI 어시스턴트를 사용하여 문서를 요약합니다
버전 기록
- "초기 문서"v9.5.52026. 9. 19.
이 페이지의 콘텐츠는 AI를 사용하여 번역되었습니다.
영어 원본 내용의 최신 버전을 보기문서 수정
이 문서를 개선할 아이디어가 있으시면 GitHub에 풀 리퀘스트를 제출하여 자유롭게 기여해 주세요.
문서에 대한 GitHub 링크복사
문서의 Markdown을 클립보드에 복사
useLocale 훅 문서
astro-intlayer의 useLocale 훅은 Astro 애플리케이션에서 현재 요청 로케일, 구성된 기본 로케일 및 사용 가능한 모든 로케일에 대한 액세스를 제공합니다.
서버 렌더링된 .astro 프론트매터와 클라이언트 측 <script> 블록 전반에서 일관되게 동작합니다.
사용법
컴포넌트 프론트매터에서 (서버 렌더링)
src/layouts/Layout.astro
코드 복사
코드를 클립보드에 복사
클라이언트 <script>에서 (인터랙티브)
src/components/LocaleSwitcher.astro
코드 복사
코드를 클립보드에 복사
반환값
이 훅은 UseLocaleResult 타입의 객체를 반환합니다:
테이블의 모든 내용 표시
테이블을 모달로 열어 모든 데이터를 명확하게 확인
| 속성 | 타입 | 설명 |
|---|---|---|
locale | DeclaredLocales | 활성 로케일. |
defaultLocale | DeclaredLocales | intlayer.config.ts에 구성된 기본 대체 로케일. |
availableLocales | DeclaredLocales[] | 프로젝트에 구성된 지원되는 모든 로케일의 배열. |
setLocale | (locale: LocalesValues) => void | 로케일을 업데이트하는 함수. (클라이언트 <script>에서 대화형으로 작동하며, SSR 중에는 경고). |
subscribe | (callback: () => void) => () => void | 클라이언트 측 로케일 변경을 구독합니다. |
서버 vs 클라이언트 동작
- SSR / 서버 렌더링 중: 요청은 고정된 매개변수로 한 번 렌더링됩니다. 서버 렌더링 중에
setLocale()을 호출해도 효과가 없으며 경고가 발생합니다. 로케일 전환은 클라이언트에서 수행하거나 대상 로케일 URL로 이동하여 수행해야 합니다. - 클라이언트 스크립트에서:
setLocale은 클라이언트 스토어를 업데이트하고 Intlayer 구성에 따라 유지된 쿠키 또는 로컬 스토리지를 업데이트합니다.
