This message was deleted.
# 질문
s
This message was deleted.
h
지역화/국제화 서비스 엄청 타거든요,, 좀더 설명 자세히 해주셔야 프랙티스 추천이 가능할 것 같네요
어떤 서비스이고 어떤 구성이고 어떤 도구를 사용하시는지
j
gatsby-theme-i18n
gatsby-theme-i18n-react-i18next
을 설정해서 예를 들어 아래와 같이 라우팅이 되게 설정 했습니다. (gatsby-theme-i18n 이 onCreatePage 를 이용해서
ko
prefix 를 붙여서 페이지를 자동으로 만들어주더군요) 문제는
fruits
데이터가 rest api 인데 i18n 이 없을때는
sourceNodes
life cycle 에서 rest api 를 fetch 해서
createNode
안에 넣어줬는데,
ko
의 경우에는 어떻게 처리해야하는지 궁금하네요. Runtime 으로 Fetch 하면 간단하겠지만, 가능하다면 build time 에 처리 하고 싶습니다. 특정 페이지만 자동으로
ko
prefix 를 주소에 추가해서 페이지를 생성하는 걸 skip 하게 할 수 있을까요?
Copy code
/ : en 홈
/fruits
/fruits/:type
/fruits/detail/:id

/ko : ko 홈
/ko/fruits
/ko/fruits/:type
/ko/fruits/detail/:id
https://github.com/gatsbyjs/themes/blob/1ddd07c4248239e6323833c6d6d572ac0a0d57a1/packages/gatsby-theme-i18n/gatsby-node.js#L132-L172 여길 보니까 아마
page.context.originalPath
에 어떤 값을 주면 자동으로 locale 별로 페이지를 추가 해주는게 실행되지 않을것 같은데 이렇게 하면 될까요?
h
사용하신 플러그인 디테일은 잘 모르겠습니다. locale 이 여러개인데 이걸 path context 에 넣지 않고 싶다는 말씀이신가요? 그렇게 하고자하는 이유가 있나요?
정적으로 볼 수 있는 page context 가 없으면 (여기선 URL) 당연히 런타임에 모든 로케일에 대한 정보를 들고 계셔야합니다
j
GraphQL 레벨에서 다 처리가 되는 문제였네요. 언어 별로 node 만들어 놓고, pageContext 로 넘어온 locale 에 맞는 node 를 출력해주면 되는거 였군요 ^^;