Skip to content

번역 모범 사례

ChenLei edited this page Jul 5, 2021 · 1 revision

개요

본 모범 사례는 자바스크립트 인포 공식 문서 번역 프로젝트의 wiki(https://github.com/javascript-tutorial/ko.javascript.info/wiki), KIGO 번역 스타일 가이드, 리액트 공식 문서 번역 프로젝트의 이슈, 위키 문서를 기반으로 작성하였습니다.

번역을 통해 오픈 소스에 기여하고자 하는 분이라면 한국어 공부는 필수라고 생각합니다. 코딩 컨벤션을 지키는 것과 같이 한국어 맞춤법을 지켜서 번역에 참여해 주시기 바랍니다.

쌍점은 거의 사용하지 않습니다.

한국어 맞춤법에서는 쌍점(colon, 콜론)을 사용하는 경우를 규정하고 있는데 항목의 열거나 희곡 대사 등에서만 제한적으로 사용합니다(참고). 특히 영어처럼 문장 끝에 쌍점을 붙이는 경우는 없으므로 주의하세요.

👍모범 사례
다음 예제를 보세요.
예시:

👎잘못된 사례
다음 예제를 보세요:
예를 들어:

'시'는 제한적으로 사용합니다.

존칭을 표현하는 '-시-'는 문장의 간결함을 해칠 수 있습니다. ~하세요처럼 제한적인 경우에만 사용하고 그 외에는 사용하지 않는 편이 좋습니다. 다만, 작업자들끼리 대화할 때는 존중의 의미에서 사용해도 상관없습니다.

👍모범 사례
살펴보면 좋습니다.

👍모범 사례
살펴보세요.

👎잘못된 사례
살펴보시면 좋습니다.

쉼표를 모두 옮길 필요는 없습니다.

영어와 우리말에서 쉼표를 사용하는 사례가 다릅니다. 우리말에서 쉼표를 사용하는 몇 가지 경우는 맞춤법에 규정되어 있습니다. 꼭 필요할 때만 사용하고 그 외에는 제한하는 편이 좋을 것 같습니다.

원문: For example, if `id` is the row ID, either of the following would work

👍모범 사례
예를 들어 `id`가 행의 ID일 경우 다음 코드가 모두 작동합니다.

👎잘못된 사례
예를 들어, `id`가 행의 ID일 경우 다음 코드가 모두 작동합니다.

render = 렌더링하다

renderbind처럼 우리말 번역이 없고 원문의 음만 따서 쓰는 동사는 명사형 + ~하다로 번역하는 게 좋습니다.

원문: React renders DOM elements.

👍모범 사례
React는 DOM 엘리먼트를 렌더링합니다.

👎잘못된 사례
React는 DOM 엘리먼트를 렌더합니다.

👍모범 사례
함수를 바인딩해야 합니다.

WE, YOU, SHE, HE등의 인칭대명사는 번역하지 않습니다.

아주 가끔 꼭 필요할 때가 있기는 하지만 영어 표현에 많은 당신이나 여러분, 우리같은 표현은 안 쓰는 게 훨씬 자연스럽습니다.

원문: Let's say you want to output "Hello, world" in an DOM element.

👍모범 사례
DOM 엘리먼트에 "Hello, World"를 표현한다고 생각해봅시다.

👎잘못된 사례
당신이 DOM 엘리먼트에 "Hello, World"를 표현하고 싶다고 생각해봅시다.

피동형 문장에 주의하세요.

사실 원칙대로라면 ~되다같은 수동태도 가능하면 억제하는 편이 좋지만 실제로 작업을 하다 보면 써야 문장이 자연스러울 때도 있습니다. 다만 보여지다, 생각되다와 같은 불필요한 피동형 문장은 자제하는 편이 좋습니다.

원문: Elements appeared on the screen

👍모범 사례
화면에 보이는 엘리먼트

👎잘못된 사례
화면에 보여지는 엘리먼트

똑같은 표현은 비슷한 표현으로 대체하면 문장이 더 유려해집니다.

번역문에서 흔히 나타나는 문제가 영어 단어를 1:1로 번역하다 보니 표현이 단조로워진다는 점입니다. 예를 들어 common일반적으로라고만 번역한다거나 call호출한다라고만 번역하는 사례가 많습니다. 가까운 위치에서 똑같은 표현이 여러 차례 등장할 때 조금씩 표현을 바꾸어주면 문장이 더 읽기 좋아집니다. common이나 commonly일반적으로, 널리, 흔히 등으로 바꿀 수 있고 call, invoke 등은 호출하다, 실행하다 등으로 바꿀 수 있습니다.

👍모범 사례
이때 흔히 사용되는 패턴은 일반 자바스크립트 객체를 전달하는 것이다.

👎잘못된 사례
이때 일반적으로 사용되는 패턴은 일반 자바스크립트 객체를 전달하는 것이다. 

어색하지 않다면 단수형을 사용합시다.

원래 우리말에서는 ~들이라는 복수형 표현을 그리 널리 사용하지 않습니다. 물론 문장의 의미에 따라 반드시 복수의 객체임을 명시해야 할 때가 있긴 하지만, 그 외의 경우라면 단수형으로 표현하는 편이 대체로 자연스럽습니다.

원문: The examples below demonstrate the differences.

👍모범 사례
아래 예시는 위에서 언급한 차이점을 보여줍니다.

👍모범 사례 - 복수형 표현이 필요한 경우
아래 예시는 위에서 언급한 여러 차이점을 보여줍니다.

👎잘못된 사례
아래 예시들은 위에서 언급한 차이점들을 보여줍니다.

If는 생략할 수도 있습니다.

If로 시작하는 문장의 번역이 항상 만약으로 시작할 필요는 없습니다. 틀린 번역은 아니지만 한국어에서는 ~한다면이라는 어미가 이미 조건 또는 상황의 가정을 의미하므로 때로는 만약이 없어도 충분히 말이 됩니다. 아래 예시는 인접한 두 문장이 모두 만약으로 시작하고 있었습니다. 한 문장 만이라도 만약을 생략하면 조금 더 읽기 수월해집니다.

원문:If you load React from a `<script>` tag, .... If you use ES6 with npm, ...

👍모범 사례
React를 <script> 태그로 불러온다면 ... ES6와 npm을 함께 사용한다면 ...

👎잘못된 사례
만약 React를 <script> 태그로 불러온다면 ... 만약 ES6와 npm을 함께 사용한다면 ...

괄호 안의 문장

괄호 삽입 형태의 구문은 아래와 같이 표현합니다.

원문: Please update this data (see the update guide).

👍모범 사례
이 데이터를 업데이트하세요(업데이트 안내서 참조).

👎잘못된 사례
이 데이터를 업데이트하세요.(업데이트 안내서 참조)

괄호 삽입 형태의 문장은 아래와 같이 표현합니다.

원문: Enter a serial number (symbols been removed in this table).

👍모범 사례
일련 번호를 입력합니다. 기호는 이 표에서 제거되었습니다.
일련 번호를 입력합니다(기호는 이 표에서 제거됨).
일련 번호를 입력합니다.(기호는 이 표에서 제거되었습니다.)

👎잘못된 사례
일련 번호를 입력합니다. (기호는 이 표에서 제거되었습니다.)
일련 번호를 입력합니다(기호는 이 표에서 제거되었습니다.).

약어/머리글자

별다른 지침이 없다면 약어와 영문 풀이가 함께 나올 경우 약어를 앞에 두고, 풀이에 대한 번역은 괄호로 묶어 뒤에 둡니다. 해당 풀이에 대한 한글 번역이 무의미하거나 가능하지 않다면 영문 풀이를 그대로 명시합니다.

원문: American Arbitration Association (AAA)

👍모범 사례
미국중재협회(AAA, American Arbitration Association)
미국중재협회(AAA)

함수

함수 이름을 번역할 때는 ‘함수’라는 용어를 해당 함수 앞에 붙일지, 뒤에 붙일지를 번역 전에 미리 정하는 것이 좋습니다. 본 튜토리얼에선 함수 앞에 붙이기로 결정하였습니다. 단, 특정 범주에 속하는 함수(ex. 내장함수, 매개변수로 넘겨지는 함수 등)를 지칭할 땐 ‘함수’라는 용어를 함수 뒤에 붙이도록 합니다.

원문: Exit function(이름이 Exit 함수), Function clear(이름이 clear인 함수)

👍모범 사례
함수 Exit
함수 Clear

👎잘못된 사례
Exit 함수
Clear 함수
특정 범주에 속하는 함수

👍허용 사례
async 함수 (async가 붙은 함수를 지칭함)
executor 함수 (프라미스에서 사용됨)
alert 함수 (내장 함수)

강조/인용시 사용되는 따옴표

큰 따옴표는 글 가운데서 직접 대화를 표시할 때, 남의 말을 인용할 때 사용합니다. 작은 따옴표는 따온 말 가운데 다시 따온 말이 들어 있을 때와 마음 속으로 한 말을 적을 때, 문장에서 중요한 부분을 두드러지게 할 때 사용합니다. 대화가 오고 가는 것이 아닌 강조의 의미로 문장을 적는 경우 큰 따옴표가 아니라 작은 따옴표를 사용합니다.

원문: The function execution “pauses” at the line `(*)` and resumes when the promise settles

👍모범 사례
함수 실행은 `(*)`로 표시한 줄에서 잠시 '중단'되었다가 프라미스가 처리되면 다시 시작됩니다.

👎잘못된 사례
함수 실행은 `(*)`로 표시한 줄에서 잠시 "중단"되었다가 프라미스가 처리되면 다시 시작됩니다.

대명사는 명확하게

it, that 등의 대명사는 되도록 명확하게 풀어써주는것이 좋습니다. 영어 원문에선 수, 태 등을 통해 대명사가 무엇을 의미하는지 파악할 수 있으나 번역후에는 불가능한 경우가 많습니다.

원문: Normally, such `.catch` doesn't trigger at all. But if any of the promises above rejects (a network problem or invalid json or whatever), then it would catch it.

👍모범 사례
정상적인 경우라면 `.catch`는 절대 트리거되지 않습니다. 그런데 네트워크 문제, 잘못된 형식의 JSON 등으로 인해 프라미스 중 하나라도 거부되면 `.catch`에서 거부된 프라미스를 처리합니다.

👎잘못된 사례
정상적인 경우라면 `.catch`는 절대 트리거되지 않습니다. 그런데 네트워크 문제, 잘못된 형식의 JSON 등으로 인해 프라미스 중 하나라도 거부되면 여기서 이것을 처리합니다.

제목에는 문장부호 넣지 않기

마크다운 문법에서 #, ##, ###로 시작하는 제목, 부제목 등의 경우 주술 구조가 있는 문장이더라도 마침표를 찍지 않습니다. 의문문도 동일한 원칙을 적용하여 물음표를 붙이지 않습니다. 국립 국어원의 글1, 글2를 참고해주시기 바랍니다.

단, smart header의 경우 예외입니다.

짝을 이루는 단어를 이을 때는 가운뎃점 사용하기

짝을 이루는 단어를 이을 때 튜토리얼 본문에선 /를 사용합니다. 한국어에선 이런 경우에 가운뎃점(·)을 사용하기 때문에, 본 튜토리얼에서도 맞춤법 관례에 따라 가운뎃점을 사용합니다. 가운뎃점이 어색한 경우가 종종 있는데, 이때는 / 대신 연결어를 넣어주거나 쉼표(,)를 사용합니다.


👍모범 사례
대·소문자
삽입·삭제 메서드
resolve, reject를 호출함
안팎으로
일치·동등 비교
현재 스크롤 읽어오기: `window.pageYOffset`과 `window.pageXOffset`

👎잘못된 사례
대/소문자
삽입/삭제 메서드
resolve/reject를 호출함
안/밖으로
일치/동등 비교
현재 스크롤 읽어오기: `window.pageYOffset/pageXOffset`

문장이 명사형으로 끝날 때는 마침표를 사용하지 않습니다.

명사로 문장이 끝날 때에는 마침표.를 사용하지 않는 게 훨씬 자연스럽습니다.

👍모범 사례
텍스트가 입력될 때마다 이벤트 발생
접근 허용

👎잘못된 사례
텍스트가 입력될 때마다 이벤트 발생.
접근 허용.