다국어 웹사이트는 어렵다 — AI가 드디어 실용적으로 만든다

발행: (2026년 1월 5일 오후 11:34 GMT+9)
6 min read
원문: Dev.to

Source: Dev.to

서로 다른 아키텍처, 서로 다른 트레이드오프

Flat‑file CMS는 다국어 웹사이트를 매우 다른 방식으로 해결합니다. Grav와 같은 시스템은 언어 변형을 동일한 페이지 폴더 안에 직접 저장합니다. 이렇게 하면 언어 전환이 직관적이며 페이지가 자연스럽게 연결됩니다.

하지만 Typemill은 다른 접근 방식을 취합니다. 페이지 탐색, 깊게 중첩된 콘텐츠 구조, 드래그‑앤‑드롭 순서를 관리하기 위해 모든 페이지의 전체 인덱스를 구축합니다. 이는 콘텐츠 구조화를 매우 유연하게 만들지만, 서로 다른 언어가 같은 폴더에 나란히 존재할 수 없다는 의미이기도 합니다.

폴더 대신 프로젝트

제가 최종적으로 선택한 해결책은 프로젝트를 도입하는 것이었습니다. 각 프로젝트는:

  • 자체 콘텐츠 공간
  • 자체 내비게이션
  • 자체 로직 및 인덱스

프로젝트는 원래 다국어 웹사이트를 위해 설계된 것이 아니라, 계획되지 않은 첫 번째 단계였습니다. 하지만 곧 일반적인 상황에서도 유용하다는 것이 드러났습니다. Typemill은 웹사이트를 PDF 책이나 EPUB 파일로도 발행할 수 있기 때문에, 하나의 설치에서 여러 출판물을 관리하는 데에도 프로젝트를 활용할 수 있습니다.

다국어 웹사이트의 경우, 프로젝트는 자연스러운 해결책이 되었습니다. 각 언어가 독립적인 프로젝트가 되어 격리되고 깔끔하며 개별적으로 관리될 수 있지만, 여전히 같은 시스템의 일부로 존재합니다. 필요한 것은 언어 변형 간의 연결 관계를 추적하는 전역 인덱스뿐입니다.

빠진 조각: AI 번역

탄탄한 구조가 있더라도 남는 큰 문제는 번역 워크플로우였습니다.

페이지를 복사하고, 글을 번역하고, 메타데이터를 수동으로 업데이트하는 방식은 작은 웹사이트에서는 가능하지만, 시간이 많이 소요되고 프로젝트가 커질수록 금방 무너지게 됩니다.

Flat‑file CMS가 데이터베이스 기반 시스템에 비해 갖는 큰 장점 중 하나는 간단한 Markdown 파일을 사용한다는 점입니다. Markdown은 거의 모든 LLM 서비스와 API의 기본 출력 형식이기도 합니다. 따라서 AI 서비스를 Flat‑file CMS에 통합하는 것이 놀라울 정도로 간단합니다. 이 장점을 활용해 번역을 자동화하는 것은 솔직히 말해 고민할 필요가 없습니다.

Typemill은 이미 Kixote라는 별도 인터페이스를 통해 AI 서비스를 통합하고 있었습니다. 번역을 완전 자동화하려면 체크박스 하나만 활성화하면 됩니다. 새 언어 페이지를 만들면 Typemill은 원본 콘텐츠를 대상 언어 프로젝트에 복사하고, 추가 단계로 해당 콘텐츠를 AI 서비스에 보내 번역된 결과를 저장합니다.

그게 전부입니다.

현재 자동 번역은 번역 페이지가 생성될 때만 실행됩니다. 원본 콘텐츠가 나중에 변경되면 번역을 수동으로 업데이트해야 합니다. 하지만 이는 비교적 작은 다음 단계에 해당합니다.

마무리 생각

Flat‑file CMS에서 다국어 지원은 구조적, 개념적, 운영적 측면에서 항상 어려운 문제였습니다. AI가 모든 문제를 해결해 주지는 않지만, 가장 큰 고통 포인트인 반복적인 수작업을 없애줍니다. 제 생각에 오늘날 콘텐츠 제작자를 위한 도구를 만든다면, 다국어 지원에는 최소한 번역 자동화 옵션을 포함시켜야 합니다.

워크스루 영상 보기

이 접근법으로 Typemill을 사용해 다국어 웹사이트를 설정하는 것이 얼마나 쉬운지 보여주는 5분짜리 데모 영상을 만들었습니다:

Watch the video walkthrough

Back to Blog

관련 글

더 보기 »

RGB LED 사이드퀘스트 💡

markdown !Jennifer Davis https://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%...

Mendex: 내가 만드는 이유

소개 안녕하세요 여러분. 오늘은 제가 누구인지, 무엇을 만들고 있는지, 그리고 그 이유를 공유하고 싶습니다. 초기 경력과 번아웃 저는 개발자로서 17년 동안 경력을 시작했습니다.