영어로 한 번 작성하고, 자동 번역하여 더 많은 독자에게 다가가세요
공개적인 글쓰기는 당신을 성장시키고 다른 사람들을 돕지만, 하나의 언어는 도달 범위를 제한합니다. 영어로 원본을 하나 작성하면, 파이프라인이 나머지를 번역하고 게시하도록 하세요.
공개적으로 글을 쓰는 것은 어떤 주제를 배우는 더 나은 방법 중 하나이지만, 그 도달 범위는 보통 하나의 언어라는 경계에 막힙니다. 저녁 시간을 들여 영어로 글을 쓰고 나면, 한국어나 일본어로 생각하는 독자는 그 글을 절대 찾지 못합니다. 해결책은 손으로 네 개의 글을 더 쓰는 것이 아닙니다. 하나의 원본을 작성하고 파이프라인이 나머지를 번역하고 게시하도록 하여, 단일 파일을 유지하면서 동일한 아이디어가 훨씬 더 많은 독자에게 도달하게 하는 것입니다. 이 글은 그 설정이 어떻게 작동하는지, 여러분의 글쓰기에 무엇을 요구하는지, 그리고 언제 그럴 만한 가치가 없는지에 관한 것입니다.
공개적으로 글을 쓰는 것이 노력할 만한 가치가 있는 이유
첫 번째 보상은 당신을 위한 것입니다. 설명을 게시하려면, 전체 내용을 한 번에 머릿속에 담고 정리해야 합니다. 아이디어가 노트에만 존재할 때 대충 넘어갔던 빈틈은 세 번째 단락을 쓰려고 하는 순간 명확해집니다. 가르치는 행위는 당신이 실제로 이해하지 못했던 부분을 드러냅니다. 결국 당신은 그 주제를 두 번 배우게 됩니다. 한 번은 혼자서 엉망으로, 또 한 번은 공개적으로 제대로 말입니다.
두 번째 보상은 당신이 방금 해결한 바로 그 문제를 가진 독자를 위한 것입니다. 대부분의 기술 관련 검색은 밤 11시에 막혀서 자신의 오류를 설명하는 단 하나의 페이지를 찾는 사람에 의해 이루어집니다. 당신이 적용한 실제 수정 사항에 대한 짧고 솔직한 게시물은 그 사람에게 잘 다듬어진 개요보다 더 가치가 있습니다. 왜냐하면 그것이 그 사람의 질문의 형태와 일치하기 때문입니다.
세 번째 보상은 수정입니다. 공개적으로 잘못된 내용을 쓰면, 더 잘 아는 누군가가 당신에게 알려주는 경향이 있습니다. 이는 불편하지만 가치 있는 일입니다. 개인적인 메모는 아무도 읽지 않기 때문에 절대 틀릴 일이 없습니다. 게시된 메모는 당신의 맹점을 공유하지 않는 사람들에 의해 압박 테스트를 받게 됩니다.
이 세 가지 보상은 모두 얼마나 많은 사람이 그 글을 읽을 수 있느냐에 따라 상한선이 정해집니다. 그 상한선이 바로 이 글의 나머지 부분에서 다룰 문제입니다.
하나의 소스, 수많은 독자
아이디어는 간단합니다. 하나의 언어, 여기서는 영어로 글을 쓰고, 그 파일을 유일한 소유물로 취급하는 것입니다. 파일을 저장한 후의 모든 것은 기계의 역할입니다. 마크다운을 파싱하고, 지원하는 다른 언어로 번역한 다음, 각 번역본을 고유한 URL을 가진 자체 페이지로 게시하는 것입니다. 번역본은 절대 건드리지 않습니다. 문장을 수정하고 싶을 때는 영어 원본에서 수정하면, 다음 실행 시 다시 번역되고 다시 게시됩니다.
이 블로그는 바로 그런 방식으로 운영됩니다. 하나의 게시물은 하나의 영어 마크다운 파일입니다. 푸시가 발생하면, 수집 단계에서 이를 한국어, 일본어, 중국어 간체, 중국어 번체로 번역한 다음 각각을 별도의 페이지로 제공합니다. 제가 작성한 파일 하나에서 5개 언어의 페이지가 나옵니다. 그 배수 효과는 결코 작지 않습니다. 만약 당신의 영어 게시물이 특정 규모의 독자에게 도달한다면, 추가적인 4개 언어판은 거의 추가적인 작성 시간 없이 각각 비슷한 규모의 독자에게 도달할 수 있습니다.
이 작업을 수동으로 하는 대신 자동화할 가치가 있는 이유는 수동 번역은 편집 과정을 거치면서 유지되지 않기 때문입니다. 영어 버전에서 오타를 한 번이라도 수정하면, 수작업으로 만든 4개의 번역본은 동기화가 어긋나게 되며, 살아있는 문서의 5개 버전을 계속 일치시키는 것은 아무도 계속하지 않는 일입니다. 단일 소스에서 모든 번역을 재생성하는 파이프라인은 구조적으로 그러한 불일치를 제거합니다. 하나의 진실 공급원(source of truth)이 있고, 번역은 컴파일된 결과물과 같은 파생된 결과물입니다.
기계가 번역하기 좋도록 글쓰기
자동 번역의 품질은 입력되는 문장에 따라 결정됩니다. 모델은 평이하고 직설적인 문장은 깔끔하게 번역하지만, 교묘한 문장은 망가뜨립니다. 따라서 번역 파이프라인을 고려한 글쓰기는 결국 좋은 글쓰기 방식이기도 합니다.
원칙은 독자가 이미 영어로 생각하고 있다는 점에 의존하는 모든 것을 제거하는 것입니다. 관용구, 말장난, 문화적 농담, 긴 대명사 연쇄는 모두 번역이 잘 되지 않습니다. 모델이 문자 그대로의 단어 밖에 존재하는 의미를 추측해야 하기 때문입니다. 구체적인 명사를 사용한 명확하고 두괄식 문장은 추측할 여지가 적기 때문에 번역이 잘 됩니다.
| 이렇게 작성하세요 | 번역기가 잘 처리하는 이유 |
|---|---|
| 짧은 평서문 | 문법이 다른 언어 간에 재정렬할 절이 더 적음 |
| 문장당 하나의 아이디어 | 모델이 어느 절이 핵심인지 추측할 필요가 없음 |
| 관용구 대신 평이한 동사 사용 | "reduced"는 번역 후에도 살아남지만 "moved the needle"은 그렇지 않음 |
| 용어를 한 번 정의한 후 동일한 단어 재사용 | 대상 언어에 세 개의 동의어가 아닌 일관된 하나의 용어가 사용됨 |
| 대명사 연쇄 대신 구체적인 명사 사용 | "the query"는 명확하지만, 세 문장 뒤에 나오는 "it"은 그렇지 않음 |
관용구 문제의 구체적인 예시는 다음과 같습니다.
Before: We finally moved the needle on cold starts.
After: We reduced cold start time.
"이전" 문장은 모델이 의미를 표현하기 전에 은유를 해독하도록 강요하며, 네 가지 번역 결과는 그 은유가 무엇을 의미했는지에 대해 서로 다를 것입니다. "이후" 문장은 하나의 의미를 가지며 매번 같은 방식으로 번역됩니다. 약간의 개성을 잃는 대신 한 번에 네 가지 언어에서 정확성을 얻게 됩니다. 기술적인 게시물에서는 좋은 거래입니다.
코드와 기술 용어는 별도의 관리가 필요합니다. 제품 이름, API 식별자, 예약어는 현지화된 근사치로 번역되지 않고 그대로 유지되기를 원할 것입니다. 좋은 파이프라인은 울타리 친 코드 블록과 인라인 코드를 번역으로부터 보호하고, 영어로 유지되어야 할 용어들의 작은 용어집을 유지합니다. 만약 goroutine을 작성하고 모든 언어에서 goroutine으로 유지되기를 기대한다면, 용어집이 이를 강제합니다. 용어집이 없으면, 선의의 모델이 키워드를 즐겁게 현지화하여 의미를 깨뜨릴 것입니다.
기계가 번역했음을 독자에게 알리세요
기계 번역은 훌륭하지만 완벽하지는 않습니다. 그렇지 않은 척하면 독자가 어색한 문장을 처음 마주했을 때 신뢰를 잃게 됩니다. 정직한 방법은 페이지에 그렇게 명시하는 것입니다.
모든 번역본에는 자동으로 번역되었다는 짧고 눈에 잘 띄는 메모와 함께 원본 영어 버전으로 다시 연결되는 링크가 포함되어야 합니다. 이는 두 가지 역할을 합니다. 이는 올바른 기대치를 설정하여 어색한 표현이 부주의함이 아닌 알려진 한계로 읽히게 합니다. 그리고 이중 언어 구사자에게 탈출구를 제공합니다. 즉, 번역된 문장이 불분명할 때 원본을 열어 실제 의도를 확인할 수 있습니다. 원본이 기준이며, 여러분은 독자에게 그 기준이 어디에 있는지 알려주는 것입니다.
이러한 투명성은 여러분 자신을 보호하기도 합니다. 만약 번역이 기술적인 세부 사항을 미묘하게 잘못 전달하더라도, 라벨이 붙은 원본은 여러분이 말한 내용의 기록이 됩니다. 여러분은 기계가 여러분을 대신해 한마디 한마디 그대로 말한다고 주장하는 것이 아닙니다. 여러분은 영문판이 여러분의 것이며 번역본은 그에 대한 최선의 노력으로 만든 다리 역할을 한다고 주장하는 것입니다.
다국어 지원의 비용
이 중 어느 것도 무료는 아니며, 솔직한 제안에는 비용이 포함됩니다.
첫 번째 비용은 번역 품질 관리입니다. 산문은 번역이 잘 됩니다. 코드, 표, 정확한 용어가 많은 게시물은 모델이 의도에서 벗어날 가능성이 가장 높은 부분입니다. 예를 들어 제목을 바꾸거나, 키워드를 현지화하거나, 조용히 한 줄을 누락하는 식입니다. 이를 방지하기 위한 안전장치가 필요합니다. 즉, 코드를 보호하고, 용어집을 유지하며, 잘못된 번역을 게시하는 대신 거부하거나 롤백할 수 있는 검증 단계를 두는 것을 의미합니다. 그러한 장치를 구축하고 유지하는 데는 실질적인 노력이 필요합니다.
두 번째 비용은 다국어 SEO입니다. 하나의 게시물에 대한 5개 언어 버전은 검색 엔진이 중복 콘텐츠나 내용이 빈약한 페이지가 아니라 다른 언어로 된 동일한 콘텐츠임을 이해해야 하는 5개의 URL을 의미합니다. 이는 hreflang 어노테이션, 올바른 canonical 처리, 그리고 카테고리 페이지가 색인될 가치가 있을 만큼 언어별로 충분한 실제 콘텐츠를 확보하는 것을 의미합니다. 이를 잘못 처리하면 결국 자신과 경쟁하게 되거나 전체 세트의 가치가 떨어질 수 있습니다. 이러한 복잡성은 언어 수에 따라 확장되며, 사라지지 않습니다.
세 번째 비용은 파이프라인 자체입니다. 정적 파일의 단순함을 파싱, 번역, 검증, 게시하는 시스템과 맞바꾸는 것입니다. 누군가는 그 시스템을 책임져야 합니다. 새벽 2시에 번역 실행이 실패하면, 그것도 이제 블로그의 일부가 됩니다. 단일 소스 원칙은 실질적인 이득이지만, 소스를 페이지로 변환하는 모든 것의 운영 부담이라는 대가를 치러야 합니다.
종합해 보면, 이러한 비용은 다국어 설정이 제 역할을 하는 경우는 여러 언어에 걸친 도달 범위가 실제로 그만큼의 가치가 있을 때뿐이라는 것을 의미합니다.
하나의 언어로 충분할 때
독자들이 이미 하나의 언어를 공유하고 있다면 이 모든 과정을 건너뛰세요. 팀, 지역 커뮤니티 또는 영어를 잘 읽는 시장을 위해 글을 쓴다면, 4개 언어로 추가 번역하는 것은 비용만 추가하고 새로운 독자는 거의 얻지 못합니다. 파이프라인의 다른 쪽 끝에는 독자가 없으므로 이는 오버헤드일 뿐입니다.
게시물의 수명이 짧을 때도 건너뛰세요. 릴리스 노트, 상태 업데이트, 시급한 공지 등은 한 번 읽히고 나면 낡은 정보가 됩니다. 번역의 효과는 수년간 검색에서 계속 발견되는 에버그린 게시물의 수명 동안 복리로 증가합니다. 다음 주면 무관해질 내용에 대해서는 거의 효과가 없습니다.
그리고 초반에는 건너뛰세요. 만약 게시물을 세 개 올렸고 아직 자신만의 스타일을 찾아가는 중이라면, 아직 번역 파이프라인을 구축하지 마세요. 사람들이 실제로 읽는 결과물이 쌓일 때까지 하나의 언어로 글을 쓰고, 도달 범위가 가상적인 제약이 아닌 실제적인 제약이 될 때 언어를 추가하세요. 효과적인 순서는 첫째가 글쓰기, 둘째가 독자, 셋째가 번역입니다. 독자가 생기기도 전에 시스템을 구축하는 것은 아직 0인 숫자를 최적화하는 것과 같습니다.
간단한 테스트 방법: 게시물의 평생 독자 수에 대한 최선의 추정치에 소스 언어를 읽지 못하는 독자 수를 곱해보세요. 그 수가 크고 게시물이 오랫동안 유의미하다면 파이프라인은 가치가 있습니다. 그 수가 작다면, 하나의 언어로 글을 쓰고 아낀 노력으로 더 많은 글을 쓰는 데 집중하세요.
지킬 만한 가치가 있는 습관
도구의 이면에서 중요한 것은 변하지 않았습니다. 어떤 주제를 설명함으로써 배우고, 그 설명을 개인 파일에 보관하는 대신 게시하여 사람들을 돕습니다. 자동 번역이 그 습관을 대체하지는 않습니다. 그저 문을 더 넓혀줄 뿐이어서, 하나의 언어로 작성하려던 바로 그 게시물이 조용히 네 개의 언어에 더 도달하게 됩니다.
그것이 요구하는 원칙, 즉 평이한 문장, 한 번에 하나의 아이디어, 구체적인 단어, 정의된 용어는 당신과 같은 언어를 사용하는 독자들에게 글을 명확하게 만들어주는 바로 그 원칙과 같습니다. 원래부터 그렇게 글을 썼어야 했습니다. 번역 파이프라인은 그렇게 하지 않을 경우의 대가를 높일 뿐이며, 그렇게 할 경우에는 더 많은 사람들이 혜택을 볼 수 있게 해줍니다.
관련 글
AI 페어 프로그래밍을 위한 작동하는 결정적 파이프라인
AI 코더는 강력하지만 게이트가 없으면 표류합니다. 여기에 상태 파일과 계획 고정(plan freeze) 기능을 갖추고 AI 코더를 감싸는 계획, 빌드, 검증, 배포 파이프라인이 있습니다.
다국어 SSR SEO: hreflang, canonical, noindex 예산
하나의 아티클을 여러 언어로 제공하는 것은 hreflang, 캐노니컬 URL, noindex 예산이 일치하지 않는 한 검색 순위를 분산시킵니다. 그 방법은 다음과 같습니다.
별칭을 더 만드는 대신, AI 에이전트를 셸 프런트엔드로 사용하세요
잊혀진 셸 스크립트의 무덤에는 대안이 있습니다. 작업을 평이한 말로 설명하면 AI가 여러분을 위해 grep, awk, jq를 조합해 줍니다.