기본 내장된 다국어 기능

글로벌 서비스를 위해 다국어 지원을 구현해 본 개발자라면, 그 과정이 얼마나 고통스러운지 잘 알고 있을 것입니다.

웹사이트에 다국어를 지원하려 할 때, 가장 흔히 선택하는 방법은 기존의 페이지를 언어별로 복사하여 새로 만드는 것입니다.

영문 페이지(/en/about.html)를 통째로 복사해서 한글 페이지(/ko/about.html)를 만들고 텍스트만 교체하는 식입니다. 처음 만들 때는 직관적이고 쉬워 보입니다.

하지만 문제는 수정할 때 발생합니다. 버튼의 색상이나 디자인 레이아웃을 조금만 변경하려 해도, 만들어둔 모든 언어의 파일들을 일일이 열어 똑같은 수정 작업을 반복해야 합니다.

이러한 문제를 해결하기 위해 도입하는 다국어 라이브러리 역시 만만치 않습니다.

언어별로 수백 줄이 넘어가는 en.json, ko.json 같은 딕셔너리 파일을 만들어 관리해야 합니다. 정작 화면을 구성하는 HTML 코드에는 실제 텍스트 대신 text('header.greeting')와 같은 알 수 없는 키(Key) 값만 남게 되죠.

결국 문구를 하나 수정하려면 코드와 딕셔너리 파일을 계속해서 오가야 합니다. 언어가 늘어날수록 유지보수는 끔찍한 악몽으로 변하고, 실수로 특정 언어의 텍스트를 누락하는 일도 빈번하게 일어납니다.

Essepage는 이러한 비효율을 없애고자, 플랫폼 자체에 '다국어 지원' 기능을 기본으로 내장했습니다.

다국어 텍스트를 페이지 안에서

Essepage가 제시하는 다국어의 핵심 개념은 단순합니다. 텍스트가 필요한 바로 그 위치에 다국어를 직접 추가한다는 것입니다.

언어별로 페이지를 만들거나 번역 텍스트를 다른 파일로 분리할 필요가 없습니다. 설정에서 지원할 언어를 선언하기만 하면, 페이지를 작성하면서 텍스트가 들어갈 바로 그 위치에 다국어 블록({{# ... #}})을 지정하여 언어별 문구를 직관적으로 입력할 수 있습니다.

{{#
    Hello
    [@ko] 안녕하세요
    [@ja] こんにちは
#}}

이 독창적인 인라인 방식은 유지보수의 패러다임을 바꿉니다. 레이아웃이나 디자인을 변경해야 한다면 오직 해당 파일만 수정하면 됩니다. 그 파일의 다국어 블록이 자동으로 완벽한 다국어 페이지를 생성해 냅니다.

마크다운과 다국어의 완벽한 조화

이 기능의 진가는 마크다운과 결합될 때 더욱 빛을 발합니다.

마크다운 태그 안에서 다국어 블록을 사용하여 언어별로 문단을 나누거나, 문서 전체 텍스트를 다국어 블록으로 지정할 수도 있습니다. 마크다운으로 글을 써 내려가면서, 그 자리에서 바로 다른 언어를 추가할 수 있습니다.

원할 때 언제든 글로벌하게

서비스를 기획할 때 처음부터 다국어 지원을 완벽하게 고려하는 경우는 드뭅니다.

보통 서비스가 커진 후에야 부랴부랴 덧붙이게 되는데, 이미 페이지가 복잡해진 상태라 새로운 다국어 시스템을 뒤늦게 구축하거나 수많은 페이지를 그대로 복사하며 큰 고역을 치르기 마련입니다.

하지만 Essepage에서는 다국어 시스템을 미리 걱정할 필요가 없습니다. 서비스가 성장하여 슬슬 다국어가 필요해진 바로 그 순간, 원하는 위치에 다국어 텍스트만 추가하면 글로벌 페이지가 완성됩니다.

이제 번거로운 페이지 복사나 복잡한 시스템 구축 없이, 손쉽게 당신의 아이디어를 전 세계 사용자에게 전달해 보세요.

예제 코드

👉 다국어 페이지 예제

Last updated: