AI개발시작다국어 기능
[AI 개발시작_003] 다국어 기능 만들기
March 28, 20261 min read
다국어 기능 만들기
-
이 블로그를 만드는데, 한국어랑 영어를 같이 있으면 좋을거 같아서,
KO/EN 버튼으로 바꿀수 있게 만들었는데..
내가 쓴 게시글은 내가 쓴 글로만 저장되니, 한국어로 쓴거는 영어로 볼 수 없다는거다. -
그래서 아에 저장할때 한국어, 영어로 작성해서 저장할 수 있게 2개 버전으로 저장하게 만드는거다.
-
근데, 난 DB가 없다. 그래서, .md파일을 .ko.md 와 .en.md로 2개로 파일을 저장하게 만들었다.
-
저장할때 API 사용해서 자동 번역하게 하였으나, 그럴경우, 트래픽에 따라서 지속적으로 API 트래픽과 요금이 부과 될수 있어서 아에 저장하는 방법으로 우회헀다. 그리고, 내가 번역 내용 확인후에 저장할 수 있게 만들었다.
작성 프롬프트
어제 내가 번역 하는거 물어 봤을떄, 너가 포스트 파일을 .md 앞에 ko.md 또는 en.md 이렇게 해서 관리하는게 나을거 같다고 이야기 해줬거든. 글을 쓸때, 내가 언어를 선택해서 2가지 버전으로 작성 할수 있게 하는 방법은 어때? 그러면 지속적으로 API 로 번역안해도 되고, 글쓸때만 자동번역하고 내가 확인해서 작성하는거지.
결과
⏺ 좋은 접근법이에요. 현재 어드민 에디터 먼저 확인할게요.
Read 1 file (ctrl+o to expand)
⏺ API 라우트도 확인할게요.
Searched for 1 pattern, read 2 files (ctrl+o to expand)
⏺ 코드 구조를 다 파악했습니다. 이 방법 좋아요. 구체적으로 어떻게 바뀌는지
정리해드릴게요.
---
파일 구조 변경
content/posts/
hello-world.ko.md ← 한국어 버전
hello-world.en.md ← 영어 버전 (없으면 번역 배지 표시)
---
변경이 필요한 부분
1. lib/posts.ts
- slug.ko.md → slug=hello-world, lang=ko 파싱
- getPost(slug, locale) — locale에 맞는 파일 로드, 없으면 다른 언어 fallback
2. 어드민 에디터
- 언어 탭 (한국어 | 영어) 추가
- 탭마다 별도 내용 입력
- 자동번역 버튼 → 한 탭 내용을 번역해서 다른 탭에 초안으로 채워줌
- 저장 시 작성된 언어 파일로 저장
3. API 라우트
- 저장: slug.md → slug.{lang}.md
- 삭제: 해당 언어 파일만 삭제
4. 기존 파일 마이그레이션
- 현재 5개 파일 → 언어 표기 추가 필요
---
장단점
장점
- 번역 API 실시간 호출 없음 → 빠르고 안정적
- 번역 품질 직접 검수 가능
- SEO에 유리 (실제 콘텐츠 존재)
단점
- 변경 범위가 꽤 큼 (lib, admin, API 모두)
- 글 하나당 파일 2개 관리
- 영어 버전 없는 글은 어떻게 처리할지 정책 필요
---
구현할까요? 한다면 기존 파일 마이그레이션도 같이 할지, 영어 버전 없을 때 fallback
처리는 어떻게 할지 먼저 확인하고 싶어요.
이런식으로 답변을 해주었다. 진짜 애는 일잘하는 비서 같다. 이렇게 했을때 장점과 단점도 같이 알려주고, 내가 정해줘야할 것까지 포인트만 물어보고..대단하다.


프롬프트
❯ 영어 버전이 없을때는 기존 한글파일로 보여주는걸로 하고, 지금 커밋 안된 파일 있는데, 확인하고 커밋하고 배포까지 먼저해줘.
⏺ 배포 완료됐습니다. 변경 사항 요약:
---
어떻게 바뀌었나
┌────────────────────────────┬───────────────────────────┐
│ 전 │ 후 │
├────────────────────────────┼───────────────────────────┤
│ slug.md + frontmatter lang │ slug.ko.md / slug.en.md │
├────────────────────────────┼───────────────────────────┤
│ 실시간 API 번역 │ 저장된 파일 직접 로드 │
├────────────────────────────┼───────────────────────────┤
│ 번역 버튼 (독자용) │ 번역 초안 생성 (작성자용) │
└────────────────────────────┴───────────────────────────┘
어드민에서 글 쓰는 방법
1. 새 글 작성 → 한국어 탭에서 내용 작성
2. ↔ 영어로 번역 초안 버튼 클릭 → 영어 탭으로 자동 이동 + 초안 생성
3. 영어 내용 검토/수정 후 저장 & 배포 (EN) 클릭
4. 한국어 탭으로 돌아가 저장 & 배포 (KO) 클릭
fallback 처리: 영어 버전 없으면 한국어 파일로 보여주고, 메타 행에 "Only Korean
available" 배지 표시
❯ [Image #3] 어드민 페이지에서 영어 번역 눌렀더니 번역이 안돼. 확인해줘
⎿ [Image #3]
⏺ MyMemory API 호출 문제일 가능성이 높습니다. 현재 코드 확인합니다.
Read 1 file (ctrl+o to expand)
⏺ 문제를 찾았습니다. MyMemory API는 요청당 500자 제한이 있는데, 현재 코드는 단어
수(400단어)로 청크를 나누고 있어서 한국어 긴 글은 500자를 훨씬 초과합니다. 문자 수
기반으로 변경합니다.
⏺ 배포됩니다. 원인과 수정 내용 요약:
원인: MyMemory API는 요청당 500자 제한인데, 기존 코드는 400단어 기준으로 청크를
나눴습니다. 한국어는 단어당 문자 수가 많아 한 청크가 500자를 훨씬 초과해서 API 오류가
났습니다.
수정: 400자 기준 문자 수로 청크 분리, 단락이 길면 문장 단위로 추가 분리, 오류 메시지도
실제 원인을 표시하도록 개선.
Vercel 배포 후 (1~2분) 다시 시도해보세요!
- AI 코딩시, 로그에 뜨는 AI가 추천해주는 방법 및 일하는 방식을 보면,
선임 개발자에게 배우는 느낌이다.
PM
backtodev
40대 PM의 코딩 복귀 여정. AI와 함께 다시 개발자로.