Skip to content

Instantly share code, notes, and snippets.

@neochief
Last active April 7, 2022 12:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save neochief/63971f7ee145c4a5bdf0bd49940817ca to your computer and use it in GitHub Desktop.
Save neochief/63971f7ee145c4a5bdf0bd49940817ca to your computer and use it in GitHub Desktop.
Korean translation guidelines

Above all, make sure that programming terms and the pattern name itself are translated in a way that is common to Korean programmers. This is very crucial. I tried to use a friendly casual voice in the book, avoiding academic jargon and complexities. It would be nice if the translated variant retains the same spirit for easy reading and understanding.

1. Consistency

I would like to point this right of the bet: keep things consistent.

  • If you translated the pattern name as A, do not refer to it as to B.

  • If you translated a role in the structure section as X, don't refer to it as Y later in the text. 90% of these links are established between things defined in the Structure and sections that go after it: "Applicability" & "How to Implement".

  • Translate subtitles (Problem, Solution, Structure, etc.) across all pattern chapters in the same way.


2. Pattern names

Please translate the pattern names to Korean. The name of the pattern is most likely already established. Please do a little research to find out what is the established name used by Korean developers. Korean Wikipedia, Korean GoF book and Korean Head First Into Design Patterns book can all be helpful with this.


3. "Role" names in the Structure section

Translate them all to Korean, but have the English name in parentheses near the definition. Later in text, when there's reference to this role, you can only use the Korean name without the English name. Here's the example (I used google translate to achive the translation, so please use it just as a way to see the desired translation structure).

Before:

## Structure

1. The **Product** declares the interface, which is common to all objects that can be produced by the creator and its subclasses.

After:

## 구조

**제품은** (Product) 생성자와 하위 클래스가 생성 할 수있는 모든 개체에 공통적 인 인터페이스를 선언합니다.


4. Class names in text

Please leave the class and method names untranslated, but add the translation in parentheses after the original name.

Before:

For example, both `Truck` and `Ship` classes should
implement the `Transport` interface, which declares
a method called `deliver`.

After:

예를 들어 `Truck` (트럭) 과 `Ship` (배) 클래스는 모두
다음을 선언하는 `Transport` (수송) 인터페이스를 구현합니다.
`deliver` (배달) 라는 메소드.

There are some exceptions though, the actual programming keywords such as the operators new or switch shouldn't be translated.


  1. Don't translate the keys in the meta section (aga, content_description), just their values.

Source:

---
content_description: Lets you produce families of related objects without specifying their concrete classes.
---
# Abstract Factory
...

Incorrect translation:

---
내용_설명: 구체적인 클래스를 지정하지 않고 관련 개체의 패밀리를 생성할 수 있습니다.
---
# 추상 팩토리
...

Correct translation:

---
content_description: 구체적인 클래스를 지정하지 않고 관련 개체의 패밀리를 생성할 수 있습니다.
---
# 추상 팩토리
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment