Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그
GatsbyJS에서 l10n(지역화) 지원하기 (간단한 함수형을 곁들인) 섬네일

GatsbyJS에서 l10n(지역화) 지원하기 (간단한 함수형을 곁들인)

데브시스터즈 favicon데브시스터즈·Frontend·
GatsbyTypeScriptReactGraphQLLocalization
2022년 04월 19일2

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

데브시스터즈는 GatsbyJS를 활용해 다국어(l10n) 페이지를 자동 생성하고, 브라우저 언어에 따라 루트 경로를 각 언어 페이지로 자동 리다이렉트하는 구현을 완성했습니다.

구현 방법

  • TranslationData 타입과 ko/en/ja 데이터 파일로 번역 데이터를 구성하고 Gatsby Node API로 TranslationData 노드를 생성합니다.
  • createSchemaCustomization, sourceNodes를 사용해 TranslationData 스키마를 정의하고 GraphQL 노드로 노출합니다.
  • createPages에서 TranslationData를 조회해 language별 페이지(/ko, /en, /ja)를 생성하고 템플릿과 context를 연결합니다.
  • 루트 경로 방문 시 브라우저 언어를 감지해 useLanguageNavigateEffect로 대상 페이지로 이동합니다.
  • 페이지 템플릿과 페이지 쿼리를 통해 language를 표시하고 번역 데이터를 활용합니다.

주요 결과

  • /ko, /en, /ja 경로의 페이지가 생성되고 정상적으로 렌더링됩니다.
  • 루트(/) 접근 시 브라우저 설정에 맞는 언어 페이지로 자동 리다이렉트됩니다.
  • allTranslationData 노드를 이용한 GraphQL 조회로 번역 데이터의 접근성이 보장됩니다.

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
ChatGPT는 FE개발자를 대체할 수 있을까? (AI로 개발하기) 섬네일
71%

ChatGPT는 FE개발자를 대체할 수 있을까? (AI로 개발하기)

카카오엔터테인먼트 favicon카카오엔터테인먼트·2023년 03월 23일
사내 AI 챗봇 서비스 구축하기 섬네일
67%

사내 AI 챗봇 서비스 구축하기

크리에이트립 favicon크리에이트립·2025년 02월 19일
No Image
67%

기존 서비스 국제화(i18n) 작업 쉽게 덜어내기: t 함수 자동 래핑 스크립트 만들기

인프랩 favicon인프랩·2025년 02월 06일