Skip to content

Commit

Permalink
docs(i18n): translate i18n guide to korean (cataclysmbnteam#4215)
Browse files Browse the repository at this point in the history
* Ready to Translate

* docs: translations for korean
93% completed

* docs: translations for korean
almost completed

* style(autofix.ci): automated formatting

* fix: use lowercase `.png` extension

* docs(i18n): translate `transifex.md`

* docs: use new images

* docs: further tidy up translation

---------

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: scarf <[email protected]>
  • Loading branch information
3 people authored Feb 11, 2024
1 parent 06ac1c7 commit a2a5cd9
Show file tree
Hide file tree
Showing 14 changed files with 898 additions and 0 deletions.
186 changes: 186 additions & 0 deletions doc/src/content/docs/ko/i18n/explanation/file_format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
---
title: λ²ˆμ—­ 파일 포맷 (.po)
---

λ²ˆμ—­μ€ 각 μ–Έμ–΄ 및 ꡭ가별 μ–Έμ–΄ μ½”λ“œλ‘œ λͺ…λͺ…λœ [`".po"` 파일(Portable Object)][po]에 μ €μž₯λ©λ‹ˆλ‹€. 예λ₯Ό
λ“€μ–΄ μŠ€νŽ˜μΈμ—μ„œ μ‚¬μš©λ˜λŠ” μŠ€νŽ˜μΈμ–΄μ— λŒ€ν•œ λ²ˆμ—­μ€ `es_ES.po`에, λ©•μ‹œμ½”μ—μ„œ μ‚¬μš©λ˜λŠ” μŠ€νŽ˜μΈμ–΄μ— λŒ€ν•œ
λ²ˆμ—­μ€ `es_MX.po`에 μ €μž₯λ©λ‹ˆλ‹€.

[po]: https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html

ν‰λ²”ν•œ ν…μŠ€νŠΈ νŒŒμΌμ΄λ―€λ‘œ 아무 ν…μŠ€νŠΈ νŽΈμ§‘κΈ°λ₯Ό 써도 μƒκ΄€μ—†μœΌλ‚˜ 보톡은
[Poedit](https://poedit.net)같은 μ „μš© λ²ˆμ—­ νŽΈμ§‘κΈ°λ‚˜ <https://translations.launchpad.net> μ›Ή 기반
λ²ˆμ—­ 도ꡬλ₯Ό μ“Έ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

`".po"` 파일의 ν˜•μ‹μ€ λ²ˆμ—­ν•  μ˜μ–΄ 문ꡬ와 κ·Έ 뒀에 둜컬 λ²ˆμ—­μ΄ μžˆλŠ” ν•­λͺ© λͺ©λ‘μž…λ‹ˆλ‹€. μ˜μ–΄ λ¬Έκ΅¬λŠ”
`msgid`둜 μ‹œμž‘ν•˜λŠ” 쀄에 있고, λ²ˆμ—­λœ ꡬ문은 `msgstr`둜 μ‹œμž‘ν•˜λŠ” 쀄에 μžˆμŠ΅λ‹ˆλ‹€.

`msgid` 쀄 μ•žμ—λŠ” ν•΄λ‹Ή λ‹¨μ–΄λ‚˜ 문ꡬ가 μ†ŒμŠ€ μ½”λ“œμ—μ„œ μ–΄λ””μ—μ„œ μ™”λŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 주석 쀄이 μžˆμŠ΅λ‹ˆλ‹€.
μ›λ¬Έμ˜ μ˜λ―Έκ°€ λͺ…ν™•ν•˜μ§€ μ•Šμ„ λ•Œ λ§₯락을 νŒŒμ•…ν•˜λŠ”λ° 도움을 μ€λ‹ˆλ‹€. λ˜ν•œ λ²ˆμ—­μ„ 더 μ‰½κ²Œ ν•˜κΈ° μœ„ν•΄
κ°œλ°œμžκ°€ 남긴 주석이 μžˆμ„ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

λŒ€λΆ€λΆ„μ˜ ν•­λͺ©μ€ λ‹€μŒκ³Ό 같이 ν‘œμ‹œλ©λ‹ˆλ‹€:

```
#: action.cpp:421
msgid "Construct Terrain"
msgstr "niarreT tcurtsnoC"
```

μ—¬κΈ°μ„œ μ˜μ–΄ λ¬Έκ΅¬λŠ” "Construct Terrain" 이고, `action.cpp` 파일의 421 번째 쀄에 λ‚˜μ™€ μžˆμŠ΅λ‹ˆλ‹€. 이
μ˜ˆμ œλŠ” κ·Έμ € μ˜μ–΄ 문자λ₯Ό 뒀집은 κ²ƒμž…λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ "Construct Terrain" λŒ€μ‹  "niarreT tcurtsnoC"κ°€
ν‘œμ‹œλ©λ‹ˆλ‹€.

또 λ‹€λ₯Έ μ˜ˆμ œλ‘œλŠ”:

```
#: action.cpp:425 defense.cpp:635 defense.cpp:701 npcmove.cpp:2049
msgid "Sleep"
msgstr "pleeS"
```

방금의 μ˜ˆμ œμ™€ λΉ„μŠ·ν•˜μ§€λ§Œ, 더 λ§Žμ€ κ³³μ—μ„œ μ“°μ΄λŠ” 문ꡬλ₯Ό λ²ˆμ—­ν–ˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ `action.cpp`,
`defense.cpp`(두 번), `npcmove.cpp` 총 λ„€ κ³³μ—μ„œ 문ꡬ "Sleep"이 "pleeS"둜 ν‘œμ‹œλ©λ‹ˆλ‹€.

## 파일 헀더

".po"` 파일 μƒλ‹¨μ˜ ν—€λ”λŠ” 주석/msgid/msgstr ν˜•μ‹κ³Ό λ‹€λ₯Έ μœ μΌν•œ λΆ€λΆ„μž…λ‹ˆλ‹€.

이미 μ„€μ •λœ λ²ˆμ—­μ„ μž‘μ—…ν•˜λŠ” κ²½μš°μ—λŠ” μˆ˜μ •ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

μƒˆλ‘œ λ²ˆμ—­ν•  경우, μ‚¬μš© 쀑인 νŽΈμ§‘κΈ°, λ˜λŠ” λ²ˆμ—­μ„ μ΄ˆκΈ°ν™”ν•  λ•Œ ꢌμž₯λ˜λŠ” 방식인 `msginit` ν”„λ‘œκ·Έλž¨μ„
ν†΅ν•΄μ„œ λŒ€λΆ€λΆ„ 섀정이 μ™„λ£Œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€(TRANSLATING.md μ°Έμ‘°).

λ‹€λ₯Έ λ²ˆμ—­ νŒŒμΌμ—μ„œ μ‹œμž‘ν•˜λŠ” κ²½μš°μ—λ„ λͺ‡ 가지 사항을 λ³€κ²½ν•΄μ•Ό ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ°€λŠ₯ν•œ ν•œ μ΅œμ„ μ„ λ‹€ν•΄
μž…λ ₯ν•˜μ„Έμš”.

ν—€λ”λŠ” λ‹€μŒκ³Ό 같이 ν‘œμ‹œλ©λ‹ˆλ‹€:

```
# French translations for Cataclysm-DDA package.
# Copyright (C) 2013 CleverRaven and Cataclysm-DDA contributors.
# This file is distributed under the same license as the Cataclysm-DDA package.
# Administrator <EMAIL@ADDRESS>, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: 0.7-git\n"
"Report-Msgid-Bugs-To: http://github.com/CleverRaven/Cataclysm-DDA\n"
"POT-Creation-Date: 2013-08-01 13:44+0800\n"
"PO-Revision-Date: 2013-08-01 14:02+0800\n"
"Last-Translator: YOUR NAME <[email protected]>\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
```

μƒˆλ‘œ λ²ˆμ—­μ„ μ‹œμž‘ν•˜κ±°λ‚˜ κΈ°μ‘΄ λ²ˆμ—­μ„ λ‹΄λ‹Ήν•˜κ³  μžˆλŠ” 경우, λ²ˆμ—­κ³Ό κ΄€λ ¨λœ μ§ˆλ¬Έμ΄λ‚˜ λ¬Έμ œκ°€ μžˆμ„ λ•Œ 연락을
받을 수 μžˆλ„λ‘ 이름과 이메일 μ£Όμ†Œλ₯Ό κΈ°μž¬ν•˜λ©΄ 도움이 λ©λ‹ˆλ‹€.

μˆ˜λ™μœΌλ‘œ μ‰½κ²Œ μž‘μ„±ν•  수 μ—†λŠ” μœ μΌν•œ μ€‘μš”ν•œ 뢀뢄은 [`λ³΅μˆ˜ν˜• 양식`](#λ³΅μˆ˜ν˜•-양식) ν•­λͺ©μž…λ‹ˆλ‹€. 이
μ„Ήμ…˜μ€ κ·€ν•˜μ˜ μ–Έμ–΄μ—μ„œ λ‹€μ–‘ν•œ 수의 사물이 μ²˜λ¦¬λ˜λŠ” 방식을 κ²°μ •ν•©λ‹ˆλ‹€. 이에 λŒ€ν•΄μ„œλŠ” λ‚˜μ€‘μ— μžμ„Ένžˆ
μ„€λͺ…ν•˜κ² μŠ΅λ‹ˆλ‹€.

## λ¬Έμžμ—΄ 및 쀄 λ°”κΏˆ μ„œμ‹ 지정

일뢀 λ¬Έμžμ—΄μ—λŠ” `%s`, `%2$d` 및 `\n`κ³Ό 같은 특수 μš©μ–΄κ°€ μžˆμŠ΅λ‹ˆλ‹€.

`\n`은 쀄 λ°”κΏˆμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ½”λ“œμ—μ„œ 쀄 λ°”κΏˆμ΄ κ°€λŠ₯ν•œ 경우 쀄을 감싸기 λ•Œλ¬Έμ— λŒ€λΆ€λΆ„ λΆˆν•„μš”ν•˜μ§€λ§Œ,
λ•Œλ‘œλŠ” λ‹€λ₯Έ 쀄에 λ‚΄μš©μ„ λ°°μΉ˜ν•  λ•Œ μ‚¬μš©λ˜κΈ°λ„ ν•©λ‹ˆλ‹€. λ²ˆμ—­μ—μ„œ μƒˆ 쀄이 μžˆμ–΄μ•Ό ν•  곳에 `\n`을 μ‚¬μš©ν•˜λ©΄
λ©λ‹ˆλ‹€.

`%s` 및 기타 μœ μ‚¬ν•œ μš©μ–΄λŠ” κ²Œμž„μ΄ μ‹€ν–‰ 쀑일 λ•Œ λ‹€λ₯Έ μš©μ–΄λ‘œ λŒ€μ²΄λ©λ‹ˆλ‹€. λ²ˆμ—­μ— 따라 μ΄λŸ¬ν•œ μš©μ–΄λ₯Ό
이동해야 ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. λ²ˆμ—­μ—μ„œ `%`둜 μ‹œμž‘ν•˜λŠ” λͺ¨λ“  μš©μ–΄λŠ” κ·ΈλŒ€λ‘œ μœ μ§€ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.

λ‹€μŒμ€ `%d`λ₯Ό 숫자둜 λŒ€μ²΄ν•œ μ˜ˆμž…λ‹ˆλ‹€:

```
#: addiction.cpp:224
#, c-format
msgid ""
"Strength - %d; Perception - 1; Dexterity - 1;\n"
"Depression and physical pain to some degree. Frequent cravings. Vomiting."
msgstr ""
";1 - ytiretxeD ;1 - noitpecreP ;%d - htgnertS\n"
".gnitimoV .sgnivarc tneuqerF .eerged emos ot niap lacisyhp dna noisserpeD"
```

μ—¬κΈ°μ„œ `%d`κ°€ λ°˜μ „λ˜μ§€ μ•Šκ³  `\n`이 쀄 끝에 남아 μžˆλŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. 이 경우 λ©”μ‹œμ§€κ°€ ν‘œμ‹œλ  λ•Œ
`%d`λŠ” μΊλ¦­ν„°μ˜ 힘 ( STR ) μˆ˜μ •μžλ‘œ λŒ€μ²΄λ©λ‹ˆλ‹€.

κ²½μš°μ— 따라 μš©μ–΄μ˜ μˆœμ„œλ₯Ό λ³€κ²½ν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. κ²Œμž„μ— ν˜Όλž€μ„ 쀄 수 μžˆμœΌλ‹ˆκΉŒμš”. `%` μš©μ–΄μ˜
μˆœμ„œλ₯Ό λ³€κ²½λ˜λ©΄ λͺ¨λ“  μš©μ–΄μ— 숫자λ₯Ό μΆ”κ°€ν•΄μ•Ό κ²Œμž„μ—μ„œ μ–΄λ–€ 것이 μ–΄λ–€ 것인지 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 일뢀
λ¬Έμžμ—΄μ—λŠ” 이미 μ΄λŸ¬ν•œ μˆ«μžκ°€ μžˆμ§€λ§Œ 그렇지 μ•Šμ€ λ¬Έμžμ—΄λ„ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ `%sκ°€ %sλ₯Ό μˆλ‹€!`κ°€ λ“€μ–΄ μžˆλŠ” λ¬Έμžμ—΄μ΄ 있으면 λ²ˆμ—­ν•  λ•Œ λ°”λ€” 수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„
`%sκ°€ %sμ—κ²Œ μ˜μ˜€λ‹€!`와 같이 될 κ²ƒμž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ§€κΈˆμ€ 거꾸둜, μ˜λŠ” μ‚¬λžŒμ΄ λ§žλŠ” μ‚¬λžŒκ³Ό 바뀐
κ²ƒμž…λ‹ˆλ‹€.

이 경우 각 `%s`λŠ” 숫자(1~9)둜 번호λ₯Ό 맀긴 λ‹€μŒ `%`와 `s` 사이에 λ‹¬λŸ¬ 기호( `$` )λ₯Ό λ„£μ–΄μ•Ό ν•©λ‹ˆλ‹€.
예λ₯Ό λ“€μ–΄ `%1$sκ°€ %2$sλ₯Ό μˆλ‹€!`λŠ” `%sκ°€ %sλ₯Ό μˆλ‹€!`와 λ™μΌν•©λ‹ˆλ‹€. λ”°λΌμ„œ μœ„μ˜ λ²ˆμ—­ μ˜ˆμ œλŠ”
`%2$sκ°€ %1$sμ—κ²Œ μ˜μ˜€λ‹€!`κ°€ 될 수 있으며, 이 λ²ˆμ—­μ€ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•©λ‹ˆλ‹€.

κ²Œμž„μ—μ„œ μ΄λŸ¬ν•œ `%1$s` `%2$s` λ§€κ°œλ³€μˆ˜λ₯Ό μžλ™μœΌλ‘œ μ•Œμ•„λ‚Ό 수 μžˆμ§€λ§Œ, (A): λ²ˆμ—­μ˜ λͺ¨λ“  `%` μš©μ–΄μ—
λ²ˆν˜Έκ°€ 맀겨져 μžˆλŠ”μ§€, (B): μ˜μ–΄ ν…μŠ€νŠΈμ˜ μ›λž˜ μˆœμ„œμ— 따라 λ²ˆν˜Έκ°€ μ˜¬λ°”λ₯Έμ§€, κ·Έ 두 가지λ₯Ό 확인해야
ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μžλ©΄:

```
#: map.cpp:680
#, c-format
msgid "%s loses control of the %s."
msgstr "%2$s eht fo lortnoc sesol %1$s"
```

κ²Œμž„ λ‚΄μ—μ„œ `μ•„λΉ„κ²ŒμΌ`이 `트럭`을 μš΄μ „ν•˜κ³  μžˆλ‹€κ³  κ°€μ •ν•  λ•Œ `kcurt eht fo lortnoc sesol liagibA`둜
ν‘œμ‹œλ©λ‹ˆλ‹€.

## λ¬Έμžμ—΄μ— ν¬ν•¨λœ 특수 νƒœκ·Έ

λ²ˆμ—­ν•  λ•Œ 일뢀 λ¬Έμžμ—΄μ˜ μ•žμ΄λ‚˜ μ•ˆμͺ½μ— 특수 νƒœκ·Έκ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ νƒœκ·ΈλŠ” κ·ΈλŒ€λ‘œ 두고 λ‚˜λ¨Έμ§€
λ¬Έμžμ—΄λ§Œ λ²ˆμ—­ν•΄μ•Ό ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, "data/raw/names.json"의 NPC 및 λ„μ‹œ 이름 μ•žμ—λŠ” λ‹¨μ–΄μ™€μ˜ μΆ©λŒμ„ ν”Όν•˜κΈ° μœ„ν•΄ `<name>`이
λΆ™μŠ΅λ‹ˆλ‹€(예: 재료의 `Wood`, μ„±μ˜ `Wood`). μ΄λŸ¬ν•œ 경우 `<name>` 뢀뢄을 남겨 두어야 ν•©λ‹ˆλ‹€.

μ΄ν•˜λŠ” κ·Έ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

```
#. ~ proper name; gender=female; usage=given
#: lang/json/json_names.py:6
msgid "<name>Abigail"
msgstr "<name>liagibA"
```

λ˜ν•œ 이름 μœ„μ—λŠ” ν•΄λ‹Ή 이름이 κ²Œμž„ λ‚΄μ—μ„œ μ–΄λ–€ μš©λ„λ‘œ μ‚¬μš©λ˜λŠ”μ§€ μ•Œλ €μ£ΌλŠ” 주석이 ν‘œμ‹œλ©λ‹ˆλ‹€. μ˜ˆμ‹œμ˜
경우 'μ•„λΉ„κ²ŒμΌ'은 μ—¬μ„± NPC의 μ΄λ¦„μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλŠ” μ΄λ¦„μž…λ‹ˆλ‹€.

## λ³΅μˆ˜ν˜• 양식

λ§Žμ€ μ–Έμ–΄κ°€ μ‚¬λ¬Όμ˜ μˆ˜μ— 따라 λ‹€λ₯Έ μš©μ–΄λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μš©μ–΄λŠ” `".po"` 파일 ν—€λ”μ˜ `Plural-Form`
쀄에 μ •μ˜λœ λ³΅μˆ˜ν˜•μ„ μ‚¬μš©ν•˜μ—¬ μ§€μ›λ©λ‹ˆλ‹€.

이 경우 μˆ˜μ— 따라 λ‹€λ₯Έ ν˜•μ‹μ„ μœ„ν•œ μ—¬λŸ¬ 개의 `msgstr` 쀄이 μžˆμŠ΅λ‹ˆλ‹€. κ²Œμž„μ€ κ°œμˆ˜μ— 따라 μžλ™μœΌλ‘œ
μ˜¬λ°”λ₯Έ ν˜•νƒœλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

μ΄ν•˜λŠ” κ·Έ μ˜ˆμ‹œμž…λ‹ˆλ‹€:

```
#: melee.cpp:913
#, c-format
msgid "%d enemy hit!"
msgid_plural "%d enemies hit!"
msgstr[0] "!tih ymene %d"
msgstr[1] "!tih seimene %d"
```

μ—¬κΈ°μ„œ 첫 번째 ν•­λͺ©μ€ `enemy`κ°€ ν•˜λ‚˜λ§Œ μžˆμ„ λ•Œ, 두 번째 ν•­λͺ©μ€ `enemies`이 ν•˜λ‚˜λ³΄λ‹€ 더 μžˆμ„ λ•Œλ₯Ό
λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 이 κ·œμΉ™μ€ μ–Έμ–΄λ§ˆλ‹€ 크게 λ‹€λ¦…λ‹ˆλ‹€.

> μ—­μ£Ό:
>
> ν•œκ΅­μ–΄λŠ” 해당사항이 μ—†μŠ΅λ‹ˆλ‹€.
46 changes: 46 additions & 0 deletions doc/src/content/docs/ko/i18n/explanation/style.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: Language Specific Style Guide
---

:::note{title="This section is a template."}

As this page is for language-specific notes, it shouldn't be translated. Instead, it's used as a
template. [Check here for examples.](#writing-style-guide-for-your-language)

:::

## How to write one for your language

1. [Find your language code.](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
2. Create `doc/src/content/docs/{your-language-code}/i18n/explanation/style.md`.
3. If it doesn't, add your language to `doc/astro.config.ts` file, for example:

```diff
diff --git a/doc/astro.config.ts b/doc/astro.config.ts
index da91c2e0014..3dafa248a06 100644
--- a/doc/astro.config.ts
+++ b/doc/astro.config.ts
@@ -41,6 +41,7 @@ export default defineConfig({
locales: {
en: { label: "English" },
ko: { label: "ν•œκ΅­μ–΄", lang: "ko-KR" },
+ ru: { label: "Русский", lang: "ru-RU" },
},
logo: { src: "./src/assets/icon-round.svg" },
social: { github, discord },
```

In this example, it will allow russian language to be availble in language selector. Check
[starlight](https://starlight.astro.build/guides/i18n/) for details.

## Writing style guide for your language

There's no restrictions on how or what to write in this file. For example, you could:

- write language specific notes for other translaotrs to read
- link to external resources or tools

You could check out existing style guides for reference:

- [Deutsch](../../../de/i18n/explanation/style.md)
- [Russian](../../../ru/i18n/explanation/style.md)
37 changes: 37 additions & 0 deletions doc/src/content/docs/ko/i18n/explanation/style_all.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: 영문 μŠ€νƒ€μΌ κ°€μ΄λ“œ
---

κ²Œμž„ λ‚΄ ν…μŠ€νŠΈλ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ νŽΈμ§‘ν•  λ•ŒλŠ” μ΄ν•˜μ˜ κ·œμΉ™μ„ λ”°λΌμ£Όμ„Έμš”:

1. 미ꡭ식 μ˜μ–΄ 철자λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

2. λ§ˆμΉ¨ν‘œ 뒀에 두 λ¬Έμž₯ 띄어쓰기λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 즉, λ¬Έμž₯을 λλ‚΄λŠ” λ§ˆμΉ¨ν‘œ 뒀에 두 개의 곡백이 뒀에 두
개의 곡백이 와야 ν•©λ‹ˆλ‹€. λ¬Έμž₯이 ν…μŠ€νŠΈ λΈ”λ‘μ˜ λ§ˆμ§€λ§‰ λ¬Έμž₯인 경우 κ·Έ 뒀에 곡백이 μ—†μ–΄μ•Ό ν•©λ‹ˆλ‹€.

3. 2인칭 μ‹œμ μ„ μ‚¬μš©ν•©λ‹ˆλ‹€(예: "you").

4. νŠΉμ„±, 무술, μ†Œν˜• 생체곡학 λͺ¨λ“ˆ(Compact Bionic Modules, CBM)의 이름은 제λͺ©μ— λŒ€λ¬Έμžλ‘œ ν‘œκΈ°ν•΄μ•Ό
ν•©λ‹ˆλ‹€. 즉, 관사, μ „μΉ˜μ‚¬ λ˜λŠ” 접속사가 μ•„λ‹Œ ν•œ 각 λ‹¨μ–΄λŠ” λŒ€λ¬Έμžλ‘œ ν‘œκΈ°ν•΄μ•Ό ν•©λ‹ˆλ‹€.

5. 고유λͺ…사 μ΄λ¦„μ˜ ν•­λͺ©κ³Ό κ°œμ²΄λ„ 제λͺ©μ— λŒ€μ†Œλ¬Έμžλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

6. λ‹€λ₯Έ λͺ¨λ“  ν•­λͺ© 및 개체 이름은 λͺ¨λ‘ μ†Œλ¬Έμžλ‘œ ν‘œκΈ°ν•©λ‹ˆλ‹€.

7. 3개 μ΄μƒμ˜ λŒ€μƒμ„ λ‚˜μ—΄ν•  λ•ŒλŠ”
[연속 μ‰Όν‘œ(μ˜₯μŠ€ν¬λ“œ μ‰Όν‘œ)](https://en.wikipedia.org/wiki/Serial_comma)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

:::caution{title="연속 μ‰Όν‘œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ€ 예"}

A, B and C

:::

:::tip{title="연속 μ‰Όν‘œλ₯Ό μ‚¬μš©ν•œ 예"}

A, B, and C

:::

8. λ§ˆμΉ¨ν‘œ 3개(...) λŒ€μ‹  μ€„μž„ν‘œ 문자(…)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. λ§ˆμΉ¨ν‘œκ°€ μ„Έ 개 μžˆλŠ” 경우 μ€„μž„ν‘œ μ „μš© μœ λ‹ˆμ½”λ“œ
문자, 즉 U+2026으둜 λŒ€μ²΄ν•©λ‹ˆλ‹€.
33 changes: 33 additions & 0 deletions doc/src/content/docs/ko/i18n/guides/maintain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: κ΄€λ¦¬μžλ₯Ό μœ„ν•œ λ²ˆμ—­ 병합 및 κ΄€λ¦¬ν•˜κΈ°
---

λ²ˆμ—­ νŒŒμΌμ„ μ˜¬λ°”λ₯΄κ²Œ λ³‘ν•©ν•˜κ³  μœ μ§€ κ΄€λ¦¬ν•˜λ €λ©΄ λͺ‡ 가지 단계λ₯Ό μ˜¬λ°”λ₯Έ μˆœμ„œλ‘œ μˆ˜ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.

이λ₯Ό μœ„ν•΄ μ œκ³΅λ˜λŠ” μŠ€ν¬λ¦½νŠΈκ°€ μžˆμœΌλ―€λ‘œ λŒ€μ²΄λ‘œ λ‹€μŒκ³Ό 같은 과정을 거치게 λ©λ‹ˆλ‹€:

1. λ²ˆμ—­μ„ '.po' ν˜•μ‹μœΌλ‘œ λ‹€μš΄λ‘œλ“œν•©λ‹ˆλ‹€.
2. λ²ˆμ—­ νŒŒμΌμ„ `lang/incoming/`에 λ„£κ³  `lang/po/`에 μžˆλŠ” 파일과 이름이 μΌμΉ˜ν•˜λ„λ‘ ν•©λ‹ˆλ‹€.
3. `lang/update_pot.sh`λ₯Ό μ‹€ν–‰ν•˜μ—¬ `lang/po/cataclysm-BN.pot`을 μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€(`polib` 및
`luaparser` λͺ¨λ“ˆμ΄ μ„€μΉ˜λœ 파이썬이 ν•„μš”ν•¨).
4. `lang/merge_po.sh`λ₯Ό μ‹€ν–‰ν•˜μ—¬ `lang/po/*.po`λ₯Ό μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€. (λ‘œμ»¬μ—μ„œ λ²ˆμ—­μ„ ν…ŒμŠ€νŠΈν•  λ•Œλ§Œ
μ“°μž…λ‹ˆλ‹€. μ§€κΈˆμ€ Transifex둜 ν”„λ‘œμ νŠΈλ₯Ό λ²ˆμ—­ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.) μ΄λ ‡κ²Œ ν•˜λ©΄ `lang/incoming/`의
λ²ˆμ—­λ„ λ³‘ν•©λ©λ‹ˆλ‹€.

이 λ‹¨κ³„λ§Œ 거치면 λ²ˆμ—­ νŒŒμΌμ„ μ΅œμ‹  μƒνƒœλ‘œ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

.po νŒŒμΌμ„ `.mo` 파일둜 μ»΄νŒŒμΌν•˜μ—¬ μ‚¬μš©ν•˜λ €λ©΄ `lang/compile_mo.sh`λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. 이 λͺ…령은 발견된 각
언어에 λŒ€ν•΄ `lang/mo/`에 디렉터리λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

참고둜 `lang/merge_po.sh`와 `lang/compile_mo.sh` λͺ¨λ‘ 병합 λ˜λŠ” μ»΄νŒŒμΌν•  μ–Έμ–΄λ₯Ό μ§€μ •ν•˜λŠ” 인수λ₯Ό
μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ 쀑ꡭ어 번체(zh_TW)에 λŒ€ν•œ λ²ˆμ—­λ§Œ μ»΄νŒŒμΌν•˜λ €λ©΄
`lang/compile_mo.sh zh_TW`λ₯Ό μ‹€ν–‰ν•˜λ©΄ λ©λ‹ˆλ‹€.

μ μ ˆν•œ .mo νŒŒμΌμ„ μ»΄νŒŒμΌν•œ ν›„, κ²Œμž„ μ„€μ •μ—μ„œ ν•΄λ‹Ή μ–Έμ–΄λ₯Ό μ„ νƒν•˜λ©΄ μΉ΄νƒ€ν΄λ¦¬μ¦˜μ„ μ‹€ν–‰ν•  λ•Œ ν•΄λ‹Ή λ²ˆμ—­μ΄
μžλ™μœΌλ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.

μ„€μ •μ—μ„œ `System language`λ₯Ό μ„ νƒν•œ 경우, κ²Œμž„μ€ μ–Έμ–΄ μ •μ˜ 파일 `data/raw/languages.json`을 기반으둜
μ‹œμŠ€ν…œ 언어와 μΌμΉ˜ν•˜λŠ” μ–Έμ–΄λ₯Ό μ‚¬μš©ν•˜λ €κ³  μ‹œλ„ν•©λ‹ˆλ‹€.

μƒˆ 언어에 λŒ€ν•œ λ²ˆμ—­μ„ ν…ŒμŠ€νŠΈ μ€‘μ΄κ±°λ‚˜ 섀정에 ν•΄λ‹Ή μ–Έμ–΄κ°€ ν‘œμ‹œλ˜μ§€ μ•ŠλŠ” 경우, μ–Έμ–΄ μ •μ˜ νŒŒμΌμ— ν•΄λ‹Ή
언어에 λŒ€ν•œ ν•­λͺ©μ΄ μžˆλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.
Loading

0 comments on commit a2a5cd9

Please sign in to comment.