번역 팀 없이 20개 언어로 임시 메일 서비스 운영
Source: Dev.to
i18n 설정
사용자가 보는 모든 문자열은 언어별 JSON 파일에 저장됩니다—언어당 하나씩:
// translations/en.json
{
"welcome": "Welcome",
"login": "Log in",
...
}
// translations/pt-br.json
{
"welcome": "Bem‑vindo",
"login": "Entrar",
...
}
앱은 URL 접두사에 따라 적절한 파일을 읽습니다. 라우트는 다음과 같습니다:
/pt-br/blog
/ja/contact
/de/about
루트에서는 영어가 기본값입니다. Astro는 동적 [lang] 라우트 파라미터로 이를 처리하므로, 나는 20개의 출력을 생성하는 하나의 템플릿만 있으면 됩니다.
블로그 포스트가 어려운 이유
UI 문자열은 간단했지만, 블로그 콘텐츠는 그렇지 않았습니다. 나는 14개의 블로그 포스트를 가지고 있으며, 각각을 20개 언어로 번역했습니다 → 280개의 마크다운 파일. 이 파일들은 언어별 폴더에 정리되어 있습니다.
- 영어 버전은 진실된 원본(내가 직접 작성)입니다.
- 나머지 19개 언어는 AI를 사용해 초안을 만들었습니다.
- 상위 5개 언어(포르투갈어, 스페인어, 독일어, 프랑스어, 일본어)는 원어민이 검토했습니다.
- 나머지 언어는 부분적으로만 확인했으며, 대부분 AI 출력에 가벼운 편집만 가했습니다.
이게 이상적인가요? 아니요. 하지만 “What Is Temp Mail?”의 일본어 버전이 90 % 정확도라면, SEO 측면에서 전혀 없는 것보다 낫습니다. 구글은 올바른 언어 버전을 올바른 사용자에게 제공하므로, 영어만으로는 도달할 수 없던 국가에서도 트래픽을 얻을 수 있습니다.
다국어화로 얻은 SEO 효과
- 전: ~20개의 인덱싱 가능한 페이지.
- 후: 400 + 페이지. 각 언어 버전마다 고유한 URL, 메타 태그, 그리고 서로 다른 모든 버전을 가리키는
hreflang태그가 있습니다. 구글은 이를 각각 별개의 페이지로 취급합니다.
영어 키워드는 경쟁이 치열합니다(“temp mail”는 매우 경쟁이 심함). 스페인어에서는 “correo temporal”이 경쟁이 훨씬 적고, 월간 검색량이 수천 건이며 전용 콘텐츠가 거의 없습니다.
또한 PT‑BR과 스페인어에 대해서는 단순 번역이 아니라 현지화된 콘텐츠를 추가했습니다. “gerador de email temporario”를 검색하는 브라질 사용자를 위해 특별히 작성한 가이드는 번역된 영어 가이드보다 성과가 좋습니다. 검색 의도와 예시가 다르기 때문입니다.
귀찮은 부분들
- **우측에서 좌측으로 쓰는 언어(아랍어)**는 레이아웃을 깨뜨렸습니다. CSS 논리 속성이 도움이 되었지만, 이메일 뷰어와 사이드바에는 여전히 RTL 오버라이드가 필요했습니다.
- **CJK 언어(중국어, 일본어, 한국어)**는 단어 길이 분포가 달라서 타이틀‑태그 최적화에 문제가 생겼습니다. 영어에서 60자를 채우는 제목이 일본어에서는 20자에 불과할 수 있어, 메타‑타이틀 생성에 언어별 로직을 추가했습니다.
- 독일어는 단어가 길기로 악명 높습니다. 영어에서는 괜찮은 버튼이 독일어에서는 넘쳐서, 인터랙티브 요소에
min-width를 지정하고 필요에 따라 텍스트 래핑을 허용했습니다.
3개월 후 수치
- 현재 트래픽은 40 +개 국가에서 발생합니다. i18n 도입 전에는 90 %가 미국/영국이었습니다.
- 빌드 시간은 400페이지 전체에 대해 3 초 이하로 유지됩니다. Astro가 빠르고 페이지 대부분이 정적이기 때문입니다.
웹 도구를 만들고 국제 트래픽에 대한 유일한 장벽이 번역이라면, 완벽하지 않더라도 진행할 가치가 있습니다. 약 85 % 품질로 20개 언어를 출시하고, 시간이 지나면서 중요한 언어들을 개선해 나가세요.