무신사 글로벌 다국어 시스템 구축 과정

이번 글에서는 무신사 글로벌 Frontend 팀의 다국어 시스템 구축 과정과 그 과정에서 겪은 문제점 및 해결 방법을 다룹니다. 다국어 지원을 위한 i18next와 Lokalise를 연동하며 최신 기술 스택을 활용하여 효율성을 높인 사례를 공유할 것입니다. 또한, 향후 계획을 통해 더욱 발전할 무신사의 번역 시스템에 대해 알아보겠습니다.

무신사 글로벌 다국어 시스템 구축의 기술 스택

무신사는 글로벌 이커머스 플랫폼으로서 다양한 언어를 지원해야 하는 상황에 직면해 있습니다. 이와 관련하여 프론트엔드 개발 팀은 i18next라는 JavaScript 라이브러리를 선택했습니다. i18next는 React와의 통합을 지원하며, 번역 파일을 기능이나 애플리케이션별로 네임스페이스로 나눌 수 있는 유연성을 제공합니다. 이러한 다양한 장점 덕분에 무신사는 초기 단계에서 모든 번역을 단일 파일에 통합해 사용하던 것을 개선하여, 각 앱별로 번역 파일을 동적으로 로드하는 방법으로 전환하게 되었습니다. 동적 import를 통해 애플리케이션 별로 필요한 번역만 로드하고, 그 결과 사용하지 않는 번역 리소스를 최소화하여 번들 크기를 줄일 수 있었습니다. 또한, 프론트엔드 팀은 불필요한 한국어 번역 파일을 제거하여 글로벌 시장에 더 적합한 서비스를 제공할 수 있었습니다. 이 과정에서 무신사는 기술 스택을 지속적으로 개선하고 리팩토링하여 최적의 성능을 이끌어내는 데 집중했습니다. 이렇게 구축된 다국어 시스템은 향후 달라질 수 있는 다양한 요구사항에 유연하게 대응할 수 있습니다.

Lokalise와의 효율적인 연동 과정

다국어 지원 시스템의 성공적인 구축에는 번역 관리 도구가 필수적입니다. 무신사는 Lokalise라는 번역 관리 시스템(TMS)을 선택하여 팀 간의 원활한 협업을 이끌어냈습니다. Lokalise는 API와 CLI를 통해 간편하게 번역 파일을 관리할 수 있도록 돕고, 실시간으로 번역 변경 사항을 확인할 수 있는 기능을 제공합니다. 이를 통해 무신사 팀은 번역 작업이 이루어질 때마다 Slack 알림을 통해 변화를 즉각적으로 공유하고 있어 신속한 피드백이 가능합니다. 또한, GitHub와 연동되어 PR(Pull Request) 자동 생성 워크플로우를 통해 중앙 리포지토리에 번역 업데이트를 손쉽게 반영할 수 있게 되었습니다. 이러한 연동 방식은 무신사가 글로벌 무신사 프론트엔드 레포지토리를 유지하는 데 큰 도움이 되었으며, 작업의 일관성을 높이고 관리의 복잡성을 줄였습니다. 특히, 다양한 언어를 동시에 지원해야 하는 이커머스 플랫폼의 특성상, Lokalise와의 연동은 그 중요성이 더욱 강조됩니다. 이는 번역의 효율성을 크게 향상시키며 다양한 언어에 관한 변경을 신속하게 처리할 수 있는 기초를 마련해 줍니다.

무신사의 실질적인 i18n 시스템 진화 과정

무신사의 다국어 시스템은 초기 단계에서 모든 번역기를 단일 파일로 로드하는 방식에서 시작되었습니다. 하지만, 이로 인해 발생한 번들 크기 비효율이 문제로 지적되면서 여러 단계에 걸쳐 리팩토링이 이루어졌습니다. i18next의 동적 import를 통해 필요한 번역만 로드하는 방식으로 개선하고, 이후 한국어 번역을 제거함으로써 불필요한 리소스를 줄였습니다. 이러한 과정에서 무신사는 코드의 가독성을 높이고 성능을 개선하기 위한 다양한 노력을 아끼지 않았습니다. 현재의 시스템에서는 static import와 VITE_LANG 환경 변수를 통해 빌드 시점에 다국어 번역 리소스를 결정하는 방식으로 발전하였습니다. 이 방식을 통해 불필요한 번역 파일을 제거하고, Tree-shaking 최적화를 달성할 수 있었습니다. 이러한 진화 과정의 핵심은 개발자들이 실시간으로 요구하는 변화를 반영하면서, 최적의 사용자 경험을 제공하는 것입니다. 무신사는 다국어 지원을 위한 i18n 시스템을 더욱 견고하게 만들며 사용자들에게 한층 향상된 서비스를 제공하고 있습니다.

무신사는 글로벌 프론트엔드 다국어 시스템 구축의 과정을 통해 많은 교훈을 얻었습니다. 간단하게 시작하여 점진적으로 문제를 해결해나가는 접근 방식이 중요하며, 또한 동적 import보다는 정적 import를 통한 성능 개선이 더욱 시급함을 깨달았습니다. 이제 무신사는 이 경험을 바탕으로 미래에도 더 많은 국가와 언어 지원을 계획하고 있습니다. 향후 계획에는 TypeScript 타입 안전성 강화, 복수형 처리의 개선, S3 기반 동적 로딩 시스템 도입 등이 포함되어 있습니다. 이는 무신사가 목표하는 서비스의 고도화에 더욱 가까워지는 길임을 자각하며, 지속적인 기술적 발전을 이뤄 나갈 것입니다.

이 블로그의 인기 게시물

매크로 코딩으로 시니어 성장의 벽 넘기

무신사머니 결제 시스템 연동의 안정성 및 혁신

AI와 사람의 협업을 위한 VLMOps 어드민 구축기