diff --git a/.gitignore b/.gitignore index 76ac0529..3693d288 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ docs/_build # Ignore files generated during build build/ -venv/ +.venv/ \ No newline at end of file diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 00000000..4a760f96 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,20 @@ +# Read the Docs configuration file for Sphinx projects +# Docs: https://docs.readthedocs.io/en/stable/config-file/v2.html + +version: 2 + +build: + os: ubuntu-22.04 + tools: + python: "3.11" + +sphinx: + configuration: docs/conf.py + builder: html + fail_on_warning: false + +python: + install: + - requirements: docs/requirements.txt + +formats: [] diff --git a/docs/conf.py b/docs/conf.py index d732ac29..e58a94d3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -64,7 +64,7 @@ # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. -#language = None +language = 'ko' # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: @@ -286,3 +286,17 @@ intersphinx_mapping = { 'python': ('https://docs.python.org/3', None), } + + +locale_dirs = ['locale/'] # path is example but recommended. +gettext_compact = False # optional. + +latex_elements = { + # Additional stuff for the LaTeX preamble. + 'preamble': "".join(( + '\DeclareUnicodeCharacter{00A0}{ }', # NO-BREAK SPACE + '\DeclareUnicodeCharacter{251C}{+}', # BOX DRAWINGS LIGHT VERTICAL AND RIGHT + '\DeclareUnicodeCharacter{2514}{+}', # BOX DRAWINGS LIGHT UP AND RIGHT + )), +} + diff --git a/docs/locale/ko/LC_MESSAGES/404.mo b/docs/locale/ko/LC_MESSAGES/404.mo new file mode 100644 index 00000000..f5bb7078 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/404.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/404.po b/docs/locale/ko/LC_MESSAGES/404.po new file mode 100644 index 00000000..8bd23e29 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/404.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Ahn Young Seon \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../404.rst:5 +msgid "404 — Not Found" +msgstr "404 — Not Found" + +#: ../../404.rst:7 +msgid "**Sorry, but we couldn't find the page you requested.**" +msgstr "**죄송하지만 요청하신 페이지를 찾을 수 없어요.**" + +#: ../../404.rst:9 +msgid "It looks like this was the result of either:" +msgstr "원인은 이 중 하나일 거에요." + +#: ../../404.rst:11 +msgid "a mistyped address" +msgstr "주소 오타" + +#: ../../404.rst:12 +msgid "an out-of-date link" +msgstr "사용하지 않는 링크" + +#: ../../404.rst:14 +msgid "`Click here to go back to the homepage. `_" +msgstr "`홈페이지로 가시려면 클릭하세요. `_" + +#: ../../404.rst:16 +msgid "Or, try `searching `_." +msgstr "아니면`찾기 `_ 기능을 이용해보세요." + diff --git a/docs/locale/ko/LC_MESSAGES/_themes/README.mo b/docs/locale/ko/LC_MESSAGES/_themes/README.mo new file mode 100644 index 00000000..5a2aecfe Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/_themes/README.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/_themes/README.po b/docs/locale/ko/LC_MESSAGES/_themes/README.po new file mode 100644 index 00000000..23277b34 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/_themes/README.po @@ -0,0 +1,60 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-11-30 22:28\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../_themes/README.rst:2 +msgid "krTheme Sphinx Style" +msgstr "krTheme Sphinx Style" + +#: ../../_themes/README.rst:4 +msgid "" +"This repository contains sphinx styles Kenneth Reitz uses in most of his " +"projects. It is a derivative of Mitsuhiko's themes for Flask and Flask " +"related projects. To use this style in your Sphinx documentation, follow " +"this guide:" +msgstr "" +"이 저장소에는 Kenneth Reitz가 자신의 프로젝트 대부분에서 사용하는 sphinx 스타일이 들어 있습니다. Mitsuhiko가 " +"Flask와 Flask 관련 프로젝트를 위해 만든 테마에서 파생된 것입니다. 여러분의 Sphinx 문서에서 이 스타일을 사용하려면 다음 " +"안내를 따르세요:" + +#: ../../_themes/README.rst:9 +msgid "" +"put this folder as _themes into your docs folder. Alternatively you can " +"also use git submodules to check out the contents there." +msgstr "" +"이 폴더를 _themes 라는 이름으로 여러분의 docs 폴더 안에 넣으세요. 또는 git 서브모듈을 사용하여 내용을 그곳에 체크아웃할 " +"수도 있습니다." + +#: ../../_themes/README.rst:12 +msgid "add this to your :file:`conf.py`: ::" +msgstr "여러분의 :file:`conf.py` 에 다음을 추가하세요: ::" + +#: ../../_themes/README.rst:18 +msgid "The following themes exist:" +msgstr "다음과 같은 테마가 있습니다:" + +#: ../../_themes/README.rst:21 +msgid "the standard flask documentation theme for large projects" +msgstr "대규모 프로젝트를 위한 표준 flask 문서 테마" + +#: ../../_themes/README.rst:24 +msgid "" +"small one-page theme. Intended to be used by very small addon libraries." +msgstr "작은 단일 페이지 테마. 아주 작은 애드온 라이브러리에서 사용하기 위해 만들어졌습니다." + +#: ../../_themes/README.rst:21 +msgid "**kr**" +msgstr "**kr**" + +#: ../../_themes/README.rst:24 +msgid "**kr_small**" +msgstr "**kr_small**" diff --git a/docs/locale/ko/LC_MESSAGES/dev/env.mo b/docs/locale/ko/LC_MESSAGES/dev/env.mo new file mode 100644 index 00000000..a0c3b8e3 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/dev/env.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/dev/env.po b/docs/locale/ko/LC_MESSAGES/dev/env.po new file mode 100644 index 00000000..169e5d23 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/dev/env.po @@ -0,0 +1,933 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../dev/env.rst:2 +msgid "Your Development Environment" +msgstr "너의 개발 환경" + +#: ../../dev/env.rst:8 +msgid "Text Editors" +msgstr "텍스트 에디터" + +#: ../../dev/env.rst:10 +msgid "" +"Just about anything that can edit plain text will work for writing Python " +"code; however, using a more powerful editor may make your life a bit easier." +msgstr "" +"일반적인 텍스트를 편집할 수 있다면 뭐든 파이썬 코드를 작성할 수 있습니다. 하지만 더 강력한 에디터를 사용하는 편이 당신의 인생에 " +"도움이 될 것입니다. " + +#: ../../dev/env.rst:15 +msgid "Vim" +msgstr "Vim" + +#: ../../dev/env.rst:17 +msgid "" +"Vim is a text editor which uses keyboard shortcuts for editing instead of " +"menus or icons. There are a couple of plugins and settings for the Vim " +"editor to aid Python development. If you only develop in Python, a good " +"start is to set the default settings for indentation and line-wrapping to " +"values compliant with :pep:`8`. In your home directory, open a file called " +":file:`.vimrc` and add the following lines::" +msgstr "" +"Vim은 메뉴나 아이콘 대신 키보드 단축키를 사용하여 편집하는 텍스트 편집기입니다. Vim 편집기가 Python 개발을 돕기 위한 몇 " +"가지 플러그인과 설정이 있습니다. Python에서만 개발할 경우, 시작은 들여쓰기 및 줄 바꿈의 기본 설정을 :pep:`8` 을 준수하는" +" 값으로 설정하는 것입니다. 홈 디렉토리에서 :file:`.vimrc` 라는 파일을 열고 다음 줄을 추가합니다." + +#: ../../dev/env.rst:32 +msgid "" +"With these settings, newlines are inserted after 79 characters and " +"indentation is set to 4 spaces per tab. If you also use Vim for other " +"languages, there is a handy plugin called indent_, which handles indentation" +" settings for Python source files." +msgstr "" +"이 설정을 사용하면 79자 뒤에 새 줄을 삽입하고 들여쓰기를 탭당 4칸으로 설정합니다. 다른 언어에도 Vim을 사용하는 경우 Python" +" 소스 파일에 대한 들여쓰기 설정을 처리하는 들여쓰기 플러그인이 있습니다." + +#: ../../dev/env.rst:37 +msgid "" +"There is also a handy syntax plugin called syntax_ featuring some " +"improvements over the syntax file included in Vim 6.1." +msgstr "" +"또한 Vim 6.1에 포함된 구문 파일에 비해 향상된 몇 가지 기능을 제공하는 syntax_ 라는 편리한 구문 플러그인도 있습니다." + +#: ../../dev/env.rst:40 +msgid "" +"These plugins supply you with a basic environment for developing in Python. " +"To get the most out of Vim, you should continually check your code for " +"syntax errors and PEP8 compliance. Luckily pycodestyle_ and Pyflakes_ will " +"do this for you. If your Vim is compiled with ``+python`` you can also " +"utilize some very handy plugins to do these checks from within the editor." +msgstr "" +"이러한 플러그인은 파이썬에서 개발할 수 있는 기본 환경을 제공합니다. Vim을 최대한 활용하려면 코드에서 구문 오류 및 PEP8 규정 " +"준수를 지속적으로 확인해야 합니다. 다행히 pycodestyle_ 과 Pyflakes_ 가 여러분을 위해 이러한 작업을 지속적으로 " +"해줍니다. Vim이 ``+python`` 으로 컴파일된 경우 아주 유용한 플러그인을 사용하여 편집기에서 이러한 검사를 수행할 수도 " +"있습니다." + +#: ../../dev/env.rst:46 +msgid "" +"For PEP8 checking and pyflakes, you can install vim-flake8_. Now you can map" +" the function ``Flake8`` to any hotkey or action you want in Vim. The plugin" +" will display errors at the bottom of the screen, and provide an easy way to" +" jump to the corresponding line. It's very handy to call this function " +"whenever you save a file. In order to do this, add the following line to " +"your :file:`.vimrc`::" +msgstr "" +"PEP8를 확인하거나 Pyflake를 하기 위해서 vim-flake8_ 을 설치할 수 있습니다. 이걸로 Vim에서 원하는 모든 핫키나 " +"동작에 ``Flake8`` 기능을 매핑할 수 있습니다. 플러그인은 화면 하단에 오류를 표시하고 해당 라인으로 쉽게 이동할 수 있는 기능을" +" 제공합니다. 파일을 저장할 때마다 이 기능을 호출하는 것이 매우 편리합니다. 이렇게 하려면 다음 줄을 :file:`.vimrc`:: 에" +" 추가하십시오." + +#: ../../dev/env.rst:55 +msgid "" +"If you are already using syntastic_, you can set it to run Pyflakes on write" +" and show errors and warnings in the quickfix window. An example " +"configuration to do that which also shows status and warning messages in the" +" statusbar would be::" +msgstr "" +"syntastic_ 을 이미 사용하고 있는 경우, 개발과 에러 및 경고 확인을 할 때 빠른 수정 창에서 파이플레이크가 돌아가도록 설정할 " +"수 있습니다. 상태 표시줄의 상태 및 경고 메시지도 표시하는 예제 구성은 다음과 같습니다:: " + +#: ../../dev/env.rst:68 +msgid "Python-mode" +msgstr "Python-mode" + +#: ../../dev/env.rst:70 +msgid "" +"Python-mode_ is a complex solution for working with Python code in Vim. It " +"has:" +msgstr "Python-mode_ 는 Vim에서 Python 코드로 작업하기 위한 복잡한 솔루션입니다. 그 기능은: " + +#: ../../dev/env.rst:73 +msgid "" +"Asynchronous Python code checking (``pylint``, ``pyflakes``, " +"``pycodestyle``, ``mccabe``) in any combination" +msgstr "" +"비동기 파이썬 코드 체크. ``pylint``, ``pyflakes``, ``pycodestyle``, ``mccabe`` 중 무엇을 " +"사용하든 된다." + +#: ../../dev/env.rst:74 +msgid "Code refactoring and autocompletion with Rope" +msgstr "Rope(https://github.com/python-rope/rope)를 사용하여 코드 리팩토링과 자동 완성 기능" + +#: ../../dev/env.rst:75 +msgid "Fast Python folding" +msgstr "빠른 파이썬 폴딩" + +#: ../../dev/env.rst:76 +msgid "Virtualenv support" +msgstr "Virtualenv 지원" + +#: ../../dev/env.rst:77 +msgid "Search through Python documentation and run Python code" +msgstr "파이썬 문서 검색과 파이썬 코드 실행" + +#: ../../dev/env.rst:78 +msgid "Auto pycodestyle_ error fixes" +msgstr "pycodestyle_ 자동 에러 수정" + +#: ../../dev/env.rst:80 +msgid "And more." +msgstr "그리고 더..." + +#: ../../dev/env.rst:83 +msgid "SuperTab" +msgstr "SuperTab" + +#: ../../dev/env.rst:85 +msgid "" +"SuperTab_ is a small Vim plugin that makes code completion more convenient " +"by using ```` key or any other customized keys." +msgstr "" +"SuperTab_ 은 작은 Vim 플러그인입니다. ```` 키나 다른 커스터마이징 된 키로 코드 자동 완성을 편리하게 해줍니다." +" " + +#: ../../dev/env.rst:98 +msgid "Emacs" +msgstr "Emacs" + +#: ../../dev/env.rst:100 +msgid "" +"Emacs is another powerful text editor. It is fully programmable (Lisp), but " +"it can be some work to wire up correctly. A good start if you're already an " +"Emacs user is `Python Programming in Emacs`_ at EmacsWiki." +msgstr "" +"Emacs도 다른 강력한 텍스트 편집기이다. 완전히 프로그래밍할 수 있지만(Lisp) 올바르게 연결하는 것은 몇 가지 작업이 될 수 " +"있습니다. 이미 Emacs 사용자라면 Emacs Wiki에서 `Python Programming in Emacs`_ 를 보세요." + +#: ../../dev/env.rst:104 +msgid "Emacs itself comes with a Python mode." +msgstr "Emacs는 기본적으로 파이썬 모드가 있습니다." + +#: ../../dev/env.rst:109 +msgid "TextMate" +msgstr "TextMate" + +#: ../../dev/env.rst:111 +msgid "" +"`TextMate `_ brings Apple's approach to operating " +"systems into the world of text editors. By bridging Unix underpinnings and " +"GUI, TextMate cherry-picks the best of both worlds to the benefit of expert " +"scripters and novice users alike." +msgstr "" +"`TextMate `_ 는 Apple의 접근 방식을 텍스트 편집기의 세계로 가져옵니다. " +"Unix의 기초와 GUI를 연결함으로써 TextMate는 전문 스크립터와 초보 사용자 모두에게 이익이 되는 두 세계의 장점을 모두 " +"가져왔습니다." + +#: ../../dev/env.rst:117 +msgid "Sublime Text" +msgstr "Sublime Text" + +#: ../../dev/env.rst:119 +msgid "" +"`Sublime Text `_ is a sophisticated text editor" +" for code, markup, and prose. You'll love the slick user interface, " +"extraordinary features, and amazing performance." +msgstr "" +"`Sublime Text `_ 는 코드, 마크업 그리고 작문을 위한 정교한 텍스트 " +"에디터입니다.매끄러운 사용자 인터페이스, 뛰어난 기능 및 놀라운 성능을 즐기실 수 있습니다." + +#: ../../dev/env.rst:123 +msgid "" +"Sublime Text has excellent support for editing Python code and uses Python " +"for its plugin API. It also has a diverse variety of plugins, `some of which" +" `_ allow for in-editor PEP8" +" checking and code \"linting\"." +msgstr "" +"Sublime Text는 훌륭한 Python 코드 편집기이며, 플러그인 API에 Python을 사용합니다. 또한 다양한 플러그인을 가지고" +" 있으며, `그 중 일부는 `_ 편집기 PEP8 " +"검사 및 코드 \"린트\"를 가능하게 해줍니다." + +#: ../../dev/env.rst:129 +msgid "Atom" +msgstr "Atom" + +#: ../../dev/env.rst:131 +msgid "" +"`Atom `_ is a hackable text editor for the 21st century, " +"built on atom-shell, and based on everything we love about our favorite " +"editors." +msgstr "" +"`Atom `_ 은 21세기의 해킹 가능한 텍스트 에디터입니다. atom-shell 위에 구축되었으며, " +"우리가 좋아하는 에디터의 기능은 다 가지고 있습니다." + +#: ../../dev/env.rst:135 +msgid "" +"Atom is web native (HTML, CSS, JS), focusing on modular design and easy " +"plugin development. It comes with native package control and a plethora of " +"packages. Recommended for Python development is `Linter " +"`_ combined with `linter-flake8 " +"`_." +msgstr "" +"아톰은 웹 네이티브(HTML, CSS, JS)로 모듈식 설계와 쉬운 플러그인 개발에 초점을 맞추고 있다. 기본 패키지 제어와 수많은 " +"패키지가 함께 제공됩니다. Python을 개발하려면 `Linter " +"`_와 " +"`_ 을 함께 사용하기를 권장한다." + +#: ../../dev/env.rst:142 +msgid "Python (on Visual Studio Code)" +msgstr "파이썬 (비주얼 스튜디오 코드에서)" + +#: ../../dev/env.rst:144 +msgid "" +"`Python for Visual Studio " +"`_ is " +"an extension for the `Visual Studio Code `_. " +"This is a free, lightweight, open source code editor, with support for Mac, " +"Windows, and Linux. Built using open source technologies such as Node.js and" +" Python, with compelling features such as Intellisense (autocompletion), " +"local and remote debugging, linting, and the like." +msgstr "" +"`Python for Visual Studio " +"`_ 는 " +"비주얼 스튜디오 코드의 확장자이다. 이것은 Mac, Windows 및 Linux를 지원하는 무료이고 가볍고 오픈 소스인 코드 " +"편집기입니다. Node.js 및 Python과 같은 오픈 소스 기술을 사용하여 구축되었으며, Intelisense(자동 완성), 로컬 및" +" 원격 디버깅, 린트 등과 같은 강력한 기능을 갖추고 있습니다." + +#: ../../dev/env.rst:148 +msgid "MIT licensed." +msgstr "MIT 라이선스입니다." + +#: ../../dev/env.rst:151 +msgid "IDEs" +msgstr "여러 IDE" + +#: ../../dev/env.rst:154 +msgid "PyCharm / IntelliJ IDEA" +msgstr "PyCharm / IntelliJ IDEA" + +#: ../../dev/env.rst:156 +msgid "" +"`PyCharm `_ is developed by JetBrains, " +"also known for IntelliJ IDEA. Both share the same code base and most of " +"PyCharm's features can be brought to IntelliJ with the free `Python Plug-In " +"`_. There are two " +"versions of PyCharm: Professional Edition (Free 30-day trial) and Community " +"Edition (Apache 2.0 License) with fewer features." +msgstr "" +"`PyCharm `_ 은 IntelliJ IDEA로 잘 알려진 " +"제트브레인에서 만들었습니다. 두 IDE는 같은 코드 베이스를 공유하고 있는지라 파이참의 많은 기능은 인텔리제이의 무료 " +"플러그인`Python Plug-In " +"`_ 에서 왔습니다. 파이참의 " +"버전은 2개가 있습니다. 하나는 프로페셔널 에디션(30일 무료 체험)이고 하나는 커뮤니티 에디션(Apache 2.0 " +"License)입니다. 커뮤니티 에디션은 기능이 더 적습니다." + +#: ../../dev/env.rst:165 +msgid "Enthought Canopy" +msgstr "Enthought Canopy" + +#: ../../dev/env.rst:166 +msgid "" +"`Enthought Canopy `_ is a Python " +"IDE which is focused towards Scientists and Engineers as it provides pre " +"installed libraries for data analysis." +msgstr "" +"`Enthought Canopy `_ 는 과학자와 엔지니어를" +" 주 사용자로 하는 파이썬 IDE입니다. 데이터 분석을 위한 라이브러리들이 미리 설치되어 있습니다. " + +#: ../../dev/env.rst:171 +msgid "Eclipse" +msgstr "Eclipse" + +#: ../../dev/env.rst:173 +msgid "" +"The most popular Eclipse plugin for Python development is Aptana's `PyDev " +"`_." +msgstr "파이썬 개발을 위한 가장 유명한 플러그인은 Aptana의 `PyDev `_ 입니다." + +#: ../../dev/env.rst:178 +msgid "Komodo IDE" +msgstr "Komodo IDE" + +#: ../../dev/env.rst:180 +msgid "" +"`Komodo IDE `_ is " +"developed by ActiveState and is a commercial IDE for Windows, Mac, and " +"Linux. `KomodoEdit `_ is the open " +"source alternative." +msgstr "" +"`Komodo IDE `_ 는 " +"ActiveState에서 개발한 Windows, Mac, Linux에서 다 돌아가는 상용 IDE 입니다. `KomodoEdit " +"`_ 는 이를 대체할 수 있는오픈소스입니다. " + +#: ../../dev/env.rst:187 +msgid "Spyder" +msgstr "Spyder" + +#: ../../dev/env.rst:189 +msgid "" +"`Spyder `_ is an IDE specifically " +"geared toward working with scientific Python libraries (namely `SciPy " +"`_). It includes integration with pyflakes_, `pylint" +" `_ and `rope `_." +msgstr "" +"`Spyder `_ 는 과학용 파이썬 라이브러리(이른바 `SciPy " +"`_) 를 돌리고자 특별히 만들어진 IDE입니다. pyflakes_, `pylint " +"`_ 와 `rope `_ 와 통합환경을 제공합니다. " + +#: ../../dev/env.rst:195 +msgid "" +"Spyder is open source (free), offers code completion, syntax highlighting, a" +" class and function browser, and object inspection." +msgstr "Spyder는 오픈소스(공짜)이고 코드자동완성, 신택스 하이라이팅, 클래스와 함수 브라우져, 객체 분석 기능이 있습니다." + +#: ../../dev/env.rst:200 +msgid "WingIDE" +msgstr "WingIDE" + +#: ../../dev/env.rst:202 +msgid "" +"`WingIDE `_ is a Python specific IDE. It runs on " +"Linux, Windows, and Mac (as an X11 application, which frustrates some Mac " +"users)." +msgstr "" +"`WingIDE `_ 는 파이썬 전용 IDE입니다. 리눅스, 윈도우즈, 맥(아쉽게도 X11 " +"애플리케이션이라 맥 사용자를 환장하게 함)에서 돌아갑니다. " + +#: ../../dev/env.rst:205 +msgid "" +"WingIDE offers code completion, syntax highlighting, source browser, " +"graphical debugger and support for version control systems." +msgstr "" +"WingIDE의 기능에는 코드자동완성, 신택스 하이라이팅, 소스 브라우저, Graphical Debugging, 버전제어시스템 지원" + +#: ../../dev/env.rst:210 +msgid "NINJA-IDE" +msgstr "NINJA-IDE" + +#: ../../dev/env.rst:212 +msgid "" +"`NINJA-IDE `_ (from the recursive acronym: " +"\"Ninja-IDE Is Not Just Another IDE\") is a cross-platform IDE, specially " +"designed to build Python applications, and runs on Linux/X11, Mac OS X, and " +"Windows desktop operating systems. Installers for these platforms can be " +"downloaded from the website." +msgstr "" +"`NINJA-IDE `_ (재귀약어: \"Ninja-IDE Is Not Just " +"Another IDE\" 에서 따왔다) 는 크로스 플랫폼 IDE이고, 파이썬 어플리케이션 개발을 위해 특별히 디자인되었으며 " +"리눅스/X11과 Mac OS X 그리고 윈도우즈 데스크탑 OS에서 돌아갑니다. 웹사이트에서 각 플랫폼을 위한 인스톨러를 다운로드 " +"받으세요.(역주: 20210409 현재 접속이 안되는데...) " + +#: ../../dev/env.rst:218 +msgid "" +"NINJA-IDE is open source software (GPLv3 licence) and is developed in Python" +" and Qt. The source files can be downloaded from `GitHub " +"`_." +msgstr "" +"NINJA-IDE 는 오픈소스(GPLv3 licence)이고 파이썬과 Qt로 개발되었습니다. 소스파일은 `GitHub " +"`_ 에서 다운로드 받을 수 있습니다." + +#: ../../dev/env.rst:224 +msgid "Eric (The Eric Python IDE)" +msgstr "Eric (The Eric Python IDE)" + +#: ../../dev/env.rst:226 +msgid "" +"`Eric `_ is a full featured Python IDE" +" offering source code autocompletion, syntax highlighting, support for " +"version control systems, Python 3 support, integrated web browser, python " +"shell, integrated debugger, and a flexible plug-in system. Written in " +"Python, it is based on the Qt GUI toolkit, integrating the Scintilla editor " +"control. Eric is an open source software project (GPLv3 licence) with more " +"than ten years of active development." +msgstr "" +"`Eric `_ 은 모든 걸 갖춘 파이썬 IDE입니다. 소스코드 " +"자동완성, 신택스 하이라이팅, 버전컨트롤시스템 지원, 파이썬3 지원, 웹브라우저와 연동, 파이썬 쉘, 통합 디버거, 유연한 플러그인 " +"시스템 기능이 있습니다. Qt GUI 툴킷 위에서 파이선으로 개발되었으며 Scintilla 에디터를 사용합니다. Eric은 오픈소스 " +"소프트웨어 프로젝트((GPLv3 licence)이고 10년 넘게 활발히 개발 중입니다. " + +#: ../../dev/env.rst:235 +msgid "Mu" +msgstr "Mu" + +#: ../../dev/env.rst:237 +msgid "" +"`Mu `_ is a minimalist Python IDE which can run Python" +" 3 code locally and can also deploy code to the BBC micro:bit and to " +"Adafruit boards running CircuitPython." +msgstr "" +"`Mu `_ 는 파이썬 IDE의 미니멀리스트입니다. 파이썬3 코드를 로컬에서 돌릴 수 있고 BBC" +" micro:bit(역주: https://microbit.org/)에 코드를 배포할 수 있으며 Adafruit 기판에 " +"CircuitPython을 돌릴 수 있습니다. (역주: 모두 임베디드 환경이다)" + +#: ../../dev/env.rst:241 +msgid "" +"Intended for beginners, mu includes a Python 3 interpreter, and is easy to " +"install on Windows, OS/X and Linux. It runs well on the Raspberry Pi." +msgstr "" +"파이썬 초보자를 위해 만들어졌기 때문에 mu는 기본적으로 파이썬3를 포함하고 있고 Windows, OS/X 그리고 Linux 중 어디에도" +" 쉽게 설치할 수 있습니다. 라즈베리파이에서도 잘 돌아갑니다. " + +#: ../../dev/env.rst:244 +msgid "There's an active support community on gitter." +msgstr "현재 지원 커뮤니티가 활동하고 있습니다." + +#: ../../dev/env.rst:248 +msgid "Interpreter Tools" +msgstr "인터프리터 도구" + +#: ../../dev/env.rst:252 +msgid "Virtual Environments" +msgstr "가상 환경" + +#: ../../dev/env.rst:254 +msgid "" +"Virtual Environments provide a powerful way to isolate project package " +"dependencies. This means that you can use packages particular to a Python " +"project without installing them system wide and thus avoiding potential " +"version conflicts." +msgstr "" +"가상 환경은 프로젝트의 패키지 디펜던시를 격리할 수 있는 강력한 방법을 제공합니다. 특정 파이썬 프로젝트을 시스템 전역에 설치하지 않고 " +"잠재적인 버전 오류를 피할 수 있다는 얘기입니다. " + +#: ../../dev/env.rst:256 +msgid "" +"To start using and see more information: `Virtual Environments " +"`_ docs." +msgstr "" +"가상 환경에 대한 더 많은 정보와 사용을 위해서는: `Virtual Environments " +"`_ 문서를 참조하세요." + +#: ../../dev/env.rst:261 +msgid "pyenv" +msgstr "pyenv" + +#: ../../dev/env.rst:263 +msgid "" +"`pyenv `_ is a tool to allow multiple " +"versions of the Python interpreter to be installed at the same time. This " +"solves the problem of having different projects requiring different versions" +" of Python. For example, it becomes very easy to install Python 2.7 for " +"compatibility in one project, while still using Python 3.4 as the default " +"interpreter. pyenv isn't just limited to the CPython versions – it will also" +" install PyPy, Anaconda, miniconda, stackless, Jython, and IronPython " +"interpreters." +msgstr "" +"`pyenv `_ 는 여러 버전의 파이썬 인터프리터를 동시에 설치할 수 있게 " +"해주는 도구입니다. 덕분에 다른 버전의 파이썬을 사용하는 각각의 프로젝트를 관리할 경우 발생하는 문제를 해결할 수 있습니다. 예를 들어 " +"Python 3.4를 기본 인터프리터로 사용하면서 다른 한 프로젝트에서는 호환성을 위해 Python 2.7을 쉽게 설치할 수 " +"있습니다.pyenv는 CPython 버전 뿐만 아니라 PyPy, Anaconda, miniconda, stackless, Jython 및" +" IronPython 인터프리터도 설치합니다." + +#: ../../dev/env.rst:271 +msgid "" +"pyenv works by filling a ``shims`` directory with fake versions of the " +"Python interpreter (plus other tools like ``pip`` and ``2to3``). When the " +"system looks for a program named ``python``, it looks inside the ``shims`` " +"directory first, and uses the fake version, which in turn passes the command" +" on to pyenv. pyenv then works out which version of Python should be run " +"based on environment variables, ``.python-version`` files, and the global " +"default." +msgstr "" +"pyenv는 ``shims`` 디렉토리를 파이썬 인터프리터의 fake 버전 (``pip`` 및 ``2to3`` 와 같은 다른 도구 " +"포함)으로 채우는 방식으로 작동합니다. 이로서 다른 버전의 Python이 필요한 다른 프로젝트를 다루는 경우 발생하는 문제를 " +"해결합니다.시스템이 ``python`` 이라는 프로그램을 찾을 때 먼저 ``shims`` 디렉토리 내부를 살펴보고 이 디렉토리에 들어있는" +" fake 버전을 사용하여 명령을 pyenv에 전달합니다.그런 다음 pyenv는 환경 변수, ``.python-version`` 파일 및" +" 전역 기본값을 기반으로 실행해야하는 Python 버전을 결정합니다." + +#: ../../dev/env.rst:278 +msgid "" +"pyenv isn't a tool for managing virtual environments, but there is the " +"plugin `pyenv-virtualenv `_ which" +" automates the creation of different environments, and also makes it " +"possible to use the existing pyenv tools to switch to different environments" +" based on environment variables or ``.python-version`` files." +msgstr "" +"pyenv는 가상 환경을 관리하는 도구가 아닙니다. gkwlaks `pyenv-virtualenv " +"`_ 플러그인이 다른 환경의 생성을 자동화해주고, pyenv" +" 도구를 사용하여 환경변수와 ``.python-version`` 파일에 따라 다른 환경으로 전환할 수 있도록 해줍니다." + +#: ../../dev/env.rst:285 +msgid "Other Tools" +msgstr "다른 도구들" + +#: ../../dev/env.rst:288 +msgid "IDLE" +msgstr "IDLE" + +#: ../../dev/env.rst:290 +msgid "" +":ref:`IDLE ` is an integrated development environment that is " +"part of the Python standard distribution. It is completely written in Python" +" and uses the Tkinter GUI toolkit. Though IDLE is not suited for full-blown " +"development using Python, it is quite helpful to try out small Python " +"snippets and experiment with different features in Python." +msgstr "" +":ref:`IDLE ` 통합개발환경은 는 파이썬 표준 배포판의 일부입니다. 완전히 Python으로 작성되었으며 " +"Tkinter GUI 툴킷을 사용합니다. IDLE은 Python을 사용한 본격적인 개발에는 적합하지 않지만 작은 Python 스니펫을 " +"사용해보고 Python의 다양한 기능을 실험하는 데에 아주 유용합니다." + +#: ../../dev/env.rst:296 +msgid "It provides the following features:" +msgstr "IDLE의 기능은 다음과 같습니다:" + +#: ../../dev/env.rst:298 +msgid "Python Shell Window (interpreter)" +msgstr "파이썬 쉘 윈도우(인터프리터)" + +#: ../../dev/env.rst:299 +msgid "Multi window text editor that colorizes Python code" +msgstr "파이썬 코드의 색깔이 표시되는 멀티 윈도우 텍스트 에디터" + +#: ../../dev/env.rst:300 +msgid "Minimal debugging facility" +msgstr "최소한의 디버깅 기능" + +#: ../../dev/env.rst:304 +msgid "IPython" +msgstr "IPython" + +#: ../../dev/env.rst:306 +msgid "" +"`IPython `_ provides a rich toolkit to help you make " +"the most out of using Python interactively. Its main components are:" +msgstr "" +"`IPython `_ 은 파이썬을 대화식으로 사용할 수 있도록 도와주는 다양한 도구를 제공합니다. " +"주요 구성요소는 다음과 같습니다: " + +#: ../../dev/env.rst:309 +msgid "Powerful Python shells (terminal- and Qt-based)" +msgstr "강력한 파이썬 쉘(터미널 혹은 Qt 기반이야)" + +#: ../../dev/env.rst:310 +msgid "" +"A web-based notebook with the same core features but support for rich media," +" text, code, mathematical expressions and inline plots" +msgstr "" +"웹 기반 노트북. 기능은 (역주: 쉘과) 동일하지만 rich 미디어, 텍스트, 코드, 수학 표현식, 인라인 플롯을 지원합니다." + +#: ../../dev/env.rst:312 +msgid "Support for interactive data visualization and use of GUI toolkits" +msgstr "대화 형 데이터 시각화 및 GUI 툴킷 사용 지원" + +#: ../../dev/env.rst:313 +msgid "Flexible, embeddable interpreters to load into your own projects" +msgstr "자작 프로젝트에 로드 할 수있는 유연하고 임베디드 가능한 인터프리터" + +#: ../../dev/env.rst:314 +msgid "Tools for high level and interactive parallel computing" +msgstr "high 레벨의 대화형 병렬 컴퓨팅을 위한 도구" + +#: ../../dev/env.rst:320 +msgid "" +"To download and install IPython with all its optional dependencies for the " +"notebook, qtconsole, tests, and other functionalities:" +msgstr "" +"노트북, qtconsole, 테스트 및 기타 기능에 대한 모든 선택적 디펜던시와 함께 IPython을 다운로드하고 설치하려면:" + +#: ../../dev/env.rst:327 +msgid "BPython" +msgstr "BPython" + +#: ../../dev/env.rst:329 +msgid "" +"`bpython `_ is an alternative interface to" +" the Python interpreter for Unix-like operating systems. It has the " +"following features:" +msgstr "" +"`bpython `_ 은 유사 유닉스 운영체제를 위한 파이썬 인터프리터 대체" +" 인터페이스입니다. 다음 기능이 있습니다: " + +#: ../../dev/env.rst:333 +msgid "In-line syntax highlighting" +msgstr "인라인 구문 강조" + +#: ../../dev/env.rst:334 +msgid "Readline-like autocomplete with suggestions displayed as you type" +msgstr "Readline 처럼 입력할 때 제안이 표시되는 자동 완성" + +#: ../../dev/env.rst:335 +msgid "Expected parameter list for any Python function" +msgstr "파이썬 함수에 필요한 파라미터 목록 표시" + +#: ../../dev/env.rst:336 +msgid "" +"\"Rewind\" function to pop the last line of code from memory and re-evaluate" +msgstr "\"Rewind\" 기능으로 메모리에서 코드의 마지막 라인을 읽어 재실행" + +#: ../../dev/env.rst:337 +msgid "Send entered code off to a pastebin" +msgstr "pastebin(역주: 클립보드)에 입력한 코드를 보내기" + +#: ../../dev/env.rst:338 +msgid "Save entered code to a file" +msgstr "입력한 코드를 파일로 저장" + +#: ../../dev/env.rst:339 +msgid "Auto-indentation" +msgstr "자동 인덴트" + +#: ../../dev/env.rst:340 +msgid "Python 3 support" +msgstr "파이썬3 지원" + +#: ../../dev/env.rst:347 +msgid "ptpython" +msgstr "ptpython" + +#: ../../dev/env.rst:349 +msgid "" +"`ptpython `_ is a REPL build on " +"top of the `prompt_toolkit `_ library. It is considered to be an alternative to BPython_. " +"Features include:" +msgstr "" +"`ptpython `_ 은 `prompt_toolkit " +"`_ 라이브러리 위의 REPL " +"빌드입니다. BPython_ 의 대안이 될 수 있습니다. 다음 기능이 있습니다. " + +#: ../../dev/env.rst:353 +msgid "Syntax highlighting" +msgstr "구문 강조" + +#: ../../dev/env.rst:354 +msgid "Autocompletion" +msgstr "자동 완성" + +#: ../../dev/env.rst:355 +msgid "Multiline editing" +msgstr "여러 줄 동시 수정" + +#: ../../dev/env.rst:356 +msgid "Emacs and Vim Modes" +msgstr "Emacs와 Vim 모드" + +#: ../../dev/env.rst:357 +msgid "Embedding REPL inside of your code" +msgstr "REPL을 코드에 임베딩 할 수 있다" + +#: ../../dev/env.rst:358 +msgid "Syntax validation" +msgstr "신택스 유효성 검증" + +#: ../../dev/env.rst:359 +msgid "Tab pages" +msgstr "탭으로 페이지 나누기" + +#: ../../dev/env.rst:360 +msgid "" +"Support for integrating with IPython_'s shell, by installing IPython (``pip " +"install ipython``) and running ``ptipython``." +msgstr "" +"IPython_ 의 쉘을 통합하여 사용할 수 있다. IPython을 설치(``pip install ipython``)하고 " +"``ptipython`` 을 실행하면 된다." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "Just about anything that can edit plain text will work for writing Python " +#~ "code, however, using a more powerful editor may make your life a bit easier." +#~ msgstr "" + +#~ msgid "" +#~ "These plugins supply you with a basic environment for developing in Python. " +#~ "To get the most out of Vim, you should continually check your code for " +#~ "syntax errors and PEP8 compliance. Luckily PEP8_ and Pyflakes_ will do this " +#~ "for you. If your Vim is compiled with :option:`+python` you can also utilize" +#~ " some very handy plugins to do these checks from within the editor." +#~ msgstr "" + +#~ msgid "" +#~ "Asynchronous Python code checking (``pylint``, ``pyflakes``, ``pep8``, " +#~ "``mccabe``) in any combination" +#~ msgstr "" + +#~ msgid "Auto PEP8_ error fixes" +#~ msgstr "" + +#~ msgid "" +#~ "Emacs is another powerful text editor. It is fully programmable (lisp), but " +#~ "it can be some work to wire up correctly. A good start if you're already an " +#~ "Emacs user is `Python Programming in Emacs`_ at EmacsWiki." +#~ msgstr "" + +#~ msgid "" +#~ "`TextMate `_ brings Apple's approach to operating " +#~ "systems into the world of text editors. By bridging UNIX underpinnings and " +#~ "GUI, TextMate cherry-picks the best of both worlds to the benefit of expert " +#~ "scripters and novice users alike." +#~ msgstr "" + +#~ msgid "" +#~ "`Sublime Text `_ is a sophisticated text editor" +#~ " for code, markup and prose. You'll love the slick user interface, " +#~ "extraordinary features and amazing performance." +#~ msgstr "" + +#~ msgid "" +#~ "Atom is web native (HTML, CSS, JS), focusing on modular design and easy " +#~ "plugin development. It comes with native package control and plethora of " +#~ "packages. Recommended for Python development is `Linter " +#~ "`_ combined with `linter-flake8 " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "`PyCharm `_ is developed by JetBrains, " +#~ "also known for IntelliJ IDEA. Both share the same code base and most of " +#~ "PyCharm's features can be brought to IntelliJ with the free `Python Plug-In " +#~ "`_. There are two " +#~ "versions of PyCharm: Professional Edition (Free 30-day trial) and Community " +#~ "Edition(Apache 2.0 License) with fewer features." +#~ msgstr "" + +#~ msgid "" +#~ "`Python for Visual Studio " +#~ "`_ " +#~ "is an extension for the `Visual Studio Code IDE " +#~ "`_. This is a free, light weight, open source" +#~ " IDE, with support for Mac, Windows, and Linux. Built using open source " +#~ "technologies such as Node.js and Python, with compelling features such as " +#~ "Intellisense (autocompletion), local and remote debugging, linting, and the " +#~ "like." +#~ msgstr "" + +#~ msgid "" +#~ "`Enthought Canopy `_ is a Python" +#~ " IDE which is focused towards Scientists and Engineers as it provides pre " +#~ "installed libraries for data analysis." +#~ msgstr "" + +#~ msgid "" +#~ "The most popular Eclipse plugin for Python development is Aptana's `PyDev " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "`Komodo IDE `_ is developed by " +#~ "ActiveState and is a commercial IDE for Windows, Mac, and Linux. `KomodoEdit" +#~ " `_ is the open source alternative." +#~ msgstr "" + +#~ msgid "" +#~ "`Spyder `_ is an IDE specifically " +#~ "geared toward working with scientific Python libraries (namely `Scipy " +#~ "`_). It includes integration with pyflakes_, `pylint " +#~ "`_ and `rope `_." +#~ msgstr "" + +#~ msgid "" +#~ "Spyder is open-source (free), offers code completion, syntax highlighting, a" +#~ " class and function browser, and object inspection." +#~ msgstr "" + +#~ msgid "" +#~ "`WingIDE `_ is a Python specific IDE. It runs on " +#~ "Linux, Windows and Mac (as an X11 application, which frustrates some Mac " +#~ "users)." +#~ msgstr "" + +#~ msgid "" +#~ "`NINJA-IDE `_ (from the recursive acronym: " +#~ "\"Ninja-IDE Is Not Just Another IDE\") is a cross-platform IDE, specially " +#~ "designed to build Python applications, and runs on Linux/X11, Mac OS X and " +#~ "Windows desktop operating systems. Installers for these platforms can be " +#~ "downloaded from the website." +#~ msgstr "" + +#~ msgid "" +#~ "NINJA-IDE is open-source software (GPLv3 licence) and is developed in Python" +#~ " and Qt. The source files can be downloaded from `GitHub " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "`Eric `_ is a full featured Python IDE" +#~ " offering sourcecode autocompletion, syntax highlighting, support for " +#~ "version control systems, python 3 support, integrated web browser, python " +#~ "shell, integrated debugger and a flexible plug-in system. Written in python," +#~ " it is based on the Qt gui toolkit, integrating the Scintilla editor " +#~ "control. Eric is an open-source software project (GPLv3 licence) with more " +#~ "than ten years of active development." +#~ msgstr "" + +#~ msgid "" +#~ "To start using and see more information: `Virtual Environments " +#~ "`_ docs." +#~ msgstr "" + +#~ msgid "" +#~ "`pyenv `_ is a tool to allow multiple " +#~ "versions of the Python interpreter to be installed at the same time. This " +#~ "solves the problem of having different projects requiring different versions" +#~ " of Python. For example, it becomes very easy to install Python 2.7 for " +#~ "compatibility in one project, whilst still using Python 3.4 as the default " +#~ "interpreter. pyenv isn't just limited to the CPython versions - it will also" +#~ " install PyPy, anaconda, miniconda, stackless, jython, and ironpython " +#~ "interpreters." +#~ msgstr "" + +#~ msgid "" +#~ "pyenv isn't a tool for managing virtual environments, but there is the " +#~ "plugin `pyenv-virtualenv `_ which " +#~ "automates the creation of different environments, and also makes it possible" +#~ " to use the existing pyenv tools to switch to different environments based " +#~ "on environment variables or ``.python-version`` files." +#~ msgstr "" + +#~ msgid "" +#~ ":ref:`IDLE ` is an integrated development environment that is " +#~ "part of Python standard library. It is completely written in Python and uses" +#~ " the Tkinter GUI toolkit. Though IDLE is not suited for full-blown " +#~ "development using Python, it is quite helpful to try out small Python " +#~ "snippets and experiment with different features in Python." +#~ msgstr "" + +#~ msgid "Powerful Python shells (terminal- and Qt-based)." +#~ msgstr "" + +#~ msgid "" +#~ "A web-based notebook with the same core features but support for rich media," +#~ " text, code, mathematical expressions and inline plots." +#~ msgstr "" + +#~ msgid "Support for interactive data visualization and use of GUI toolkits." +#~ msgstr "" + +#~ msgid "Flexible, embeddable interpreters to load into your own projects." +#~ msgstr "" + +#~ msgid "Tools for high level and interactive parallel computing." +#~ msgstr "" + +#~ msgid "" +#~ "To download and install IPython with all it's optional dependencies for the " +#~ "notebook, qtconsole, tests, and other functionalities" +#~ msgstr "" + +#~ msgid "" +#~ "`bpython `_ is an alternative interface to " +#~ "the Python interpreter for Unix-like operating systems. It has the following" +#~ " features:" +#~ msgstr "" + +#~ msgid "In-line syntax highlighting." +#~ msgstr "" + +#~ msgid "Readline-like autocomplete with suggestions displayed as you type." +#~ msgstr "" + +#~ msgid "Expected parameter list for any Python function." +#~ msgstr "" + +#~ msgid "" +#~ "\"Rewind\" function to pop the last line of code from memory and re-" +#~ "evaluate." +#~ msgstr "" + +#~ msgid "Send entered code off to a pastebin." +#~ msgstr "" + +#~ msgid "Save entered code to a file." +#~ msgstr "" + +#~ msgid "Auto-indentation." +#~ msgstr "" + +#~ msgid "Python 3 support." +#~ msgstr "" + +#~ msgid "" +#~ "`ptpython `_ is a REPL build " +#~ "on top of the `prompt_toolkit `_ library. It is considered to be an alternative to " +#~ "BPython_. Features include:" +#~ msgstr "" + +#~ msgid "Emacs and VIM Mode" +#~ msgstr "" + +#~ msgid "Syntax Validation" +#~ msgstr "" + +#~ msgid "" +#~ "Support for integrating with IPython_'s shell, by installing IPython ``pip " +#~ "install ipython`` and running ``ptipython``." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/dev/pip-virtualenv.mo b/docs/locale/ko/LC_MESSAGES/dev/pip-virtualenv.mo new file mode 100644 index 00000000..9f83c8d4 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/dev/pip-virtualenv.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/dev/pip-virtualenv.po b/docs/locale/ko/LC_MESSAGES/dev/pip-virtualenv.po new file mode 100644 index 00000000..845a7ebc --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/dev/pip-virtualenv.po @@ -0,0 +1,267 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-11-30 22:28\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Ahn Young Seon \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../dev/pip-virtualenv.rst:4 +msgid "Further Configuration of pip and Virtualenv" +msgstr "Pip와 Viertualenv 추가 설정" + +#: ../../dev/pip-virtualenv.rst:9 +msgid "Requiring an active virtual environment for ``pip``" +msgstr "``pip`` 를 위해 가상 환경의 활성화가 필요하다" + +#: ../../dev/pip-virtualenv.rst:11 +msgid "" +"By now it should be clear that using virtual environments is a great way " +"to keep your development environment clean and keeping different " +"projects' requirements separate." +msgstr "" +"개발 환경을 깔끔하게 유지하고 다른 프로젝트의 필요 라이브러리와 분리하려면 " +"가상 환경을 사용하는 방법이 최고라는 사실이 이제는 분명해졌습니다." + +#: ../../dev/pip-virtualenv.rst:15 +msgid "" +"When you start working on many different projects, it can be hard to " +"remember to activate the related virtual environment when you come back " +"to a specific project. As a result of this, it is very easy to install " +"packages globally while thinking that you are actually installing the " +"package for the virtual environment of the project. Over time this can " +"result in a messy global package list." +msgstr "" +"여러 다른 프로젝트에서 작업을 시작할 때 " +"특정 프로젝트로 돌아올 때마다 그 프로젝트의 가상 환경을 활성화 해야한다는 사실을 " +" 기억하기란 어렵습니다. " +"그러다보니 가상 환경에서 프로젝트의 패키지를 설치하는 것으로 착각하면서 " +"글로벌 환경에서 패키지를 설치하기 일쑤입니다. " +"결국 시간이 지남에 따라 글로벌 패키지 목록이 지저분해질 수 있습니다. " + +#: ../../dev/pip-virtualenv.rst:22 +msgid "" +"In order to make sure that you install packages to your active virtual " +"environment when you use ``pip install``, consider adding the following " +"line to your :file:`~/.bashrc` file:" +msgstr "" +"``pip install`` 을 실행할 때 패키지를 확실하게 활성화 된 가상 환경에 설치하려면 " +":file:`~/.bashrc` 파일에 아래의 줄 1개를 추가해보세요. " + +#: ../../dev/pip-virtualenv.rst:30 +msgid "" +"After saving this change and sourcing the :file:`~/.bashrc` file with " +"``source ~/.bashrc``, pip will no longer let you install packages if you " +"are not in a virtual environment. If you try to use ``pip install`` " +"outside of a virtual environment pip will gently remind you that an " +"activated virtual environment is needed to install packages." +msgstr "" +"이 변경 사항을 저장하고 ``source ~/.bashrc`` 명령어로 :file:`~/.bashrc` 파일을 불러오면 " +"pip는 더이상 가상 환경이 아닌 곳에 패키지를 설치하도록 두지 않습니다. " +"가상 환경 밖에서 ``pip install`` 를 실행하려 하면 " +"pip는 패키지를 설치하려면 가상 환경 활성화가 필요하다고 친절하게 알려줄 것입니다. " + +#: ../../dev/pip-virtualenv.rst:41 +msgid "" +"You can also do this configuration by editing your :file:`pip.conf` or " +":file:`pip.ini` file. :file:`pip.conf` is used by Unix and Mac OS X " +"operating systems and it can be found at:" +msgstr "" +":file:`pip.conf` 파일 또는 :file:`pip.ini` 을 수정해도 이러한 환경 구성을 할 수 있습니다. " +":file:`pip.conf` 은 Unix와 Mac OS X 운영체제에서 사용됩니다. 위치는 아래와 같습니다: " + +#: ../../dev/pip-virtualenv.rst:49 +msgid "" +"Similarly, the :file:`pip.ini` file is used by Windows operating systems " +"and it can be found at:" +msgstr "" +"마찬가지로 :file:`pip.ini` 은 Windows 운영체제에서 사용합니다. 위치는 아래와 같습니다: " + +#: ../../dev/pip-virtualenv.rst:56 +msgid "" +"If you don't have a :file:`pip.conf` or :file:`pip.ini` file at these " +"locations, you can create a new file with the correct name for your " +"operating system." +msgstr "" +":file:`pip.conf` 이나 :file:`pip.ini` 가 저 위치에 없다면 " +"운영체제에다가 저 이름의 새 파일을 만들어도 됩니다. " + +#: ../../dev/pip-virtualenv.rst:59 +msgid "" +"If you already have a configuration file, just add the following line " +"under the ``[global]`` settings to require an active virtual environment:" +msgstr "" +"설정 파일이 이미 있다면 아래의 라인을 ``[global]`` 밑에다 설정해서 가상 환경 " +"활성화가 필요하다고 하면 됩니다." + +#: ../../dev/pip-virtualenv.rst:66 +msgid "" +"If you did not have a configuration file, you will need to create a new " +"one and add the following lines to this new file:" +msgstr "" +"설정 파일이 없다면 " +"새 파일을 만들고 그 새 파일에 아래의 라인을 추가하세요: " + +#: ../../dev/pip-virtualenv.rst:75 +msgid "" +"You will of course need to install some packages globally (usually ones " +"that you use across different projects consistently) and this can be " +"accomplished by adding the following to your :file:`~/.bashrc` file:" +msgstr "" +"물론 어떤 (보통 여러 다른 프로젝트에서 공통적으로 사용하는)" +" 패키지들은 글로벌하게 설치해야 하기도 합니다. " +"이럴때면 :file:`~/.bashrc` 파일에 아래의 라인을 추가하면 됩니다: " + +#: ../../dev/pip-virtualenv.rst:85 +msgid "" +"After saving the changes and sourcing your :file:`~/.bashrc` file you can" +" now install packages globally by running ``gpip install``. You can " +"change the name of the function to anything you like, just keep in mind " +"that you will have to use that name when trying to install packages " +"globally with pip." +msgstr "" +"변경 사항을 파일에 저장하고 :file:`~/.bashrc` 파일을 불러오고 나면 " +"``gpip install`` 로 패키지를 글로벌하게 설치할 수 있습니다. " +"함수명은 원하는대로 바꿔도 됩니다. " +"pip로 패키지를 글로벌하게 설치하려면 그 함수명을 사용해야 한다는 것만 " +"기억하면 됩니다." + +#: ../../dev/pip-virtualenv.rst:91 +msgid "Caching packages for future use" +msgstr "나중에 사용할 수 있도록 패키지 캐싱하기" + +#: ../../dev/pip-virtualenv.rst:93 +msgid "" +"Every developer has preferred libraries and when you are working on a lot" +" of different projects, you are bound to have some overlap between the " +"libraries that you use. For example, you may be using the ``requests`` " +"library in a lot of different projects." +msgstr "" +"개발자라면 모두 좋아하는 라이브러리가 있을 것이고, 여러 다양한 프로젝트에서 작업한다 할지라도 " +"사용이 겹치는 라이브러리가 있을 것입니다. " +"예를 들어 ``requests`` 라이브러리는 아마 여러 프로젝트에서 사용하고 있을 겁니다. " + +#: ../../dev/pip-virtualenv.rst:98 +msgid "" +"It is surely unnecessary to re-download the same packages/libraries each " +"time you start working on a new project (and in a new virtual environment" +" as a result). Fortunately, starting with version 6.0, pip provides an " +"`on-by-default caching mechanism " +"`_ that " +"doesn't need any configuration." +msgstr "" +"새 프로젝트를 시작할 때마다 (그러니까 새 가상 환경 말입니다) 같은 패키지와 라이브러리를 " +"다시 다운로드 할 필요는 전혀 없습니다. " +"다행스럽게도 pip 6.0버전부터는 pip가 " +"`기본적으로 캐싱 매커니즘 " +"`_ 을 가지고 있어서 " +"추가 설정을 할 필요가 없습니다. " + +#: ../../dev/pip-virtualenv.rst:105 +msgid "" +"When using older versions, you can configure pip in such a way that it " +"tries to reuse already installed packages, too." +msgstr "" +"옛날 버전의 pip를 사용하고 있다면 다음과 같이 이미 설치된 패키지를 재사용 할 수 있습니다. " + +#: ../../dev/pip-virtualenv.rst:108 +msgid "" +"On Unix systems, you can add the following line to your :file:`.bashrc` " +"or :file:`.bash_profile` file." +msgstr "" +"UNIX 시스템에서라면 :file:`.bashrc` 나 :file:`.bash_profile` 파일에 " +"아래 라인을 추가할 수 있습니다." + +#: ../../dev/pip-virtualenv.rst:115 +msgid "" +"You can set the path to anywhere you like (as long as you have write " +"access). After adding this line, ``source`` your :file:`.bashrc` (or " +":file:`.bash_profile`) file and you will be all set." +msgstr "" +"경로는 (쓰기 권한이 있는 곳이라면) 아무 경로나 원하는대로 설정하실 수 있습니다. " +"이 라인을 추가한 후 ``source`` your :file:`.bashrc` " +"(혹은 :file:`.bash_profile`) 하면 됩니다." + +#: ../../dev/pip-virtualenv.rst:119 +msgid "" +"Another way of doing the same configuration is via the :file:`pip.conf` " +"or :file:`pip.ini` files, depending on your system. If you are on " +"Windows, you can add the following line to your :file:`pip.ini` file " +"under ``[global]`` settings:" +msgstr "" +"위 설정을 할 수 있는 다른 방법도 있습니다. " +"사용하는 시스템에 따라 :file:`pip.conf` 나 :file:`pip.ini` 파일일 수 있습니다. " +"Windows를 사용한다면 :file:`pip.ini` 파일의 ``[global]`` 아래 줄에 " +"다음과 같은 라인을 추가할 수 있습니다." + +#: ../../dev/pip-virtualenv.rst:127 +msgid "" +"Similarly, on Unix systems you should simply add the following line to " +"your :file:`pip.conf` file under ``[global]`` settings:" +msgstr "" +"비슷하게 UNIX에서도 :file:`pip.conf` 파일의 ``[global]`` 라인 아래에 다음과 같이 추가하면 됩니다:" + +#: ../../dev/pip-virtualenv.rst:134 +msgid "" +"Even though you can use any path you like to store your cache, it is " +"recommended that you create a new folder *in* the folder where your " +":file:`pip.conf` or :file:`pip.ini` file lives. If you don't trust " +"yourself with all of this path voodoo, just use the values provided here " +"and you will be fine." +msgstr "" +"캐시를 저장할 경로는 어디든 좋지만, :file:`pip.conf` 나 :file:`pip.ini` 파일이 있는 " +"폴더 *안에* 새 폴더를 만드시기를 추천드립니다. " +"새 경로를 만드는 본인의 술법이 못 미더우시다면 그냥 이 가이드에 나오는 경로를 사용하세요. " +"잘 될겁니다." + +#~ msgid "Further Configuration of Pip and Virtualenv" +#~ msgstr "" + +#~ msgid "" +#~ "In order to make sure that you " +#~ "install packages to your active virtual" +#~ " environment when you use ``pip " +#~ "install``, consider adding the following " +#~ "two lines to your :file:`~/.bashrc` " +#~ "file:" +#~ msgstr "" + +#~ msgid "" +#~ "It is surely unnecessary to re-" +#~ "download the same packages/libraries each " +#~ "time you start working on a new" +#~ " project (and in a new virtual " +#~ "environment as a result). Fortunately, " +#~ "you can configure pip in such a" +#~ " way that it tries to reuse " +#~ "already installed packages." +#~ msgstr "" + +#~ msgid "" +#~ "On UNIX systems, you can add the" +#~ " following line to your :file:`.bashrc` " +#~ "or :file:`.bash_profile` file." +#~ msgstr "" + +#~ msgid "" +#~ "Similarly, on UNIX systems you should" +#~ " simply add the following line to " +#~ "your :file:`pip.conf` file under ``[global]``" +#~ " settings:" +#~ msgstr "" + diff --git a/docs/locale/ko/LC_MESSAGES/dev/virtualenvs.mo b/docs/locale/ko/LC_MESSAGES/dev/virtualenvs.mo new file mode 100644 index 00000000..1c7dbae9 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/dev/virtualenvs.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/dev/virtualenvs.po b/docs/locale/ko/LC_MESSAGES/dev/virtualenvs.po new file mode 100644 index 00000000..8de285d9 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/dev/virtualenvs.po @@ -0,0 +1,683 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../dev/virtualenvs.rst:4 +msgid "Pipenv & Virtual Environments" +msgstr "Pipenv & 가상 환경(Virtual Environments)" + +#: ../../dev/virtualenvs.rst:8 +msgid "This tutorial walks you through installing and using Python packages." +msgstr "이 튜토리얼은 Python 패키지 설치 및 사용을 안내합니다." + +#: ../../dev/virtualenvs.rst:10 +msgid "" +"It will show you how to install and use the necessary tools and make strong " +"recommendations on best practices. Keep in mind that Python is used for a " +"great many different purposes, and precisely how you want to manage your " +"dependencies may change based on how you decide to publish your software. " +"The guidance presented here is most directly applicable to the development " +"and deployment of network services (including web applications), but is also" +" very well suited to managing development and testing environments for any " +"kind of project." +msgstr "" +"필요한 도구를 설치 및 사용하고 best practice의 강력한 권장 사항을 제시하는 방법을 알려드릴게요. Python은 매우 다양한 " +"용도로 사용되며, 소프트웨어 퍼블리싱 방법에 따라 종속성을 관리하는 방법이 달라질 수 있습니다. 여기에 제시된 지침은 네트워크 서비스(웹" +" 애플리케이션 포함)의 개발과 배포에 가장 직접적으로 적용되지만, 모든 종류의 프로젝트에 대한 개발 및 테스트 환경 관리에도 매우 " +"적합합니다." + +#: ../../dev/virtualenvs.rst:18 +msgid "" +"This guide is written for Python 3, however, these instructions should work " +"fine on Python 2.7—if you are still using it, for some reason." +msgstr "" +"이 안내서 파이썬3를 대상으로 작성되었습니다. 하지만 이 안내사항은 파이썬 2.7에서도 잘 적용됩니다. 어떤 이유에서든 아직도 그걸 쓰고" +" 있다면 말이지요." + +#: ../../dev/virtualenvs.rst:23 +msgid "Make sure you've got Python & pip" +msgstr "Python과 pip가 있는지 확인하기" + +#: ../../dev/virtualenvs.rst:25 +msgid "" +"Before you go any further, make sure you have Python and that it's available" +" from your command line. You can check this by simply running:" +msgstr "" +"더 진행하기 전에 파이썬이 설치되어 있는지, 커맨드라인에서 사용할 수 있는지 확인하십시오. 이 기능은 간단히 아래 명령어를 실행하기만 " +"하면 확인할 수 있습니다." + +#: ../../dev/virtualenvs.rst:32 +msgid "" +"You should get some output like ``3.6.2``. If you do not have Python, please" +" install the latest 3.x version from `python.org`_ or refer to the " +"`Installing Python`_ section of this guide." +msgstr "" +"``3.6.2`` 같은 출력이 나와야 합니다. 파이썬이 없는 경우, `python.org`_ 에서 최신 3.x 버전을 설치하거나 이 " +"가이드의 `Installing Python`_ 섹션을 참조하십시오." + +#: ../../dev/virtualenvs.rst:36 +msgid "If you're newcomer and you get an error like this:" +msgstr "초심자이고 이런 에러가 나왔다면: " + +#: ../../dev/virtualenvs.rst:45 +msgid "" +"It's because this command is intended to be run in a *shell* (also called a " +"*terminal* or *console*). See the Python for Beginners `getting started " +"tutorial`_ for an introduction to using your operating system's shell and " +"interacting with Python." +msgstr "" +"이 명령은 *셸* ( *터미널* 또는 *콘솔* 이라고도 함)에서 실행되도록 되어 있기 때문입니다. 운영 체제의 셸 사용 및 " +"Python과의 상호 작용에 대한 자세한 내용은 `getting started tutorial`_ 자습서를 참조하십시오." + +#: ../../dev/virtualenvs.rst:50 +msgid "" +"Additionally, you'll need to make sure you have `pip`_ available. You can " +"check this by running:" +msgstr "추가로 `pip`_ 가 동작하는지 확인해야 할 필요가 있을겁니다. 아래 명령어로 확인할 수 있습니다: " + +#: ../../dev/virtualenvs.rst:57 +msgid "" +"If you installed Python from source, with an installer from `python.org`_, " +"or via `Homebrew`_ you should already have pip. If you're on Linux and " +"installed using your OS package manager, you may have to `install pip " +"`_ separately." +msgstr "" +"소스에서 Python을 설치하거나 `python.org`_ 의 설치 프로그램을 사용하거나 `Homebrew`_ 를 통해 Python을 " +"설치한 경우 이미 pip이 있어야 합니다. Linux 사용자이고 OS 패키지 관리자를 사용하여 설치한 경우 `pip 설치 " +"`_ 를 별도로 해야 할 수 있습니다." + +#: ../../dev/virtualenvs.rst:69 +msgid "Installing Pipenv" +msgstr "Pipenv 설치하기" + +#: ../../dev/virtualenvs.rst:71 +msgid "" +"`Pipenv`_ is a dependency manager for Python projects. If you're familiar " +"with Node.js' `npm`_ or Ruby's `bundler`_, it is similar in spirit to those " +"tools. While `pip`_ can install Python packages, Pipenv is recommended as " +"it's a higher-level tool that simplifies dependency management for common " +"use cases." +msgstr "" +"`Pipenv`_ 는 Python 프로젝트의 종속성 관리자입니다. 만약 여러분이 Node.js의 `npm`_이나 Ruby의 " +"`bundler`_ 에 익숙하다면, Pipenv는 그 도구들과 비슷한 사상으로 만들어졌습니다. Pip은 Python 패키지를 설치할 수 " +"있지만 Pipenv는 일반적인 사용 사례에 대한 의존성 관리를 단순화하는 고급 도구로서 하용하기를 권장합합니다." + +#: ../../dev/virtualenvs.rst:77 +msgid "Use ``pip`` to install Pipenv:" +msgstr "``pip``로 Pipenv를 설치하자:" + +#: ../../dev/virtualenvs.rst:84 +msgid "" +"This does a `user installation`_ to prevent breaking any system-wide " +"packages. If ``pipenv`` isn't available in your shell after installation, " +"you'll need to add the `user base`_'s binary directory to your ``PATH``." +msgstr "" +"이렇게 하면 시스템 전체 패키지가 박살나지 않도록 `user installation`_ 를 수행할 수 있습니다. 설치 후 셸에서 " +"``pipenv`` 를 사용할 수 없는 경우 `user base`_ 의 바이너리 디렉토리를 ``PATH`` 에 추가해야 합니다." + +#: ../../dev/virtualenvs.rst:88 +msgid "" +"On Linux and macOS you can find the user base binary directory by running " +"``python -m site --user-base`` and adding ``bin`` to the end. For example, " +"this will typically print ``~/.local`` (with ``~`` expanded to the absolute " +"path to your home directory) so you'll need to add ``~/.local/bin`` to your " +"``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." +msgstr "" +"Linux 및 macOS에서는 ``python -m site --user-base`` 를 실행하고 끝에 ``bin`` 을 추가하면 사용자" +" 베이스 바이너리 디렉토리를 찾을 수 있습니다. 예를 들어, 일반적으로 ``~/.local`` 에서 ``~`` 는 홈 디렉토리의 절대 " +"경로로 인식되므로 ``PATH`` 에 ~/.local/bin을 추가해야 합니다. `~/.profile 를 수정하여`_ ``PATH`` 를" +" 영구적으로 설정할 수 있습니다." + +#: ../../dev/virtualenvs.rst:95 +msgid "" +"On Windows you can find the user base binary directory by running ``py -m " +"site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " +"example, this could return " +"``C:\\Users\\Username\\AppData\\Roaming\\Python36\\site-packages`` so you " +"would need to set your ``PATH`` to include " +"``C:\\Users\\Username\\AppData\\Roaming\\Python36\\Scripts``. You can set " +"your user ``PATH`` permanently in the `Control Panel`_. You may need to log " +"out for the ``PATH`` changes to take effect." +msgstr "" +"윈도우즈에서 ``py -m site --user-site`` 를 실행하고 ``site-packages`` 를 ``Scripts`` 로 " +"바꾸면 사용자 베이스 바이너리 디렉토리를 찾을 수 있습니다. 예를 들어 " +"``C:\\Users\\Username\\AppData\\Roaming\\Python36\\site-packages`` 가 리턴하기 " +"위하여 ``PATH`` 에 ``C:\\Users\\Username\\AppData\\Roaming\\Python36\\Scripts`` " +"를 추가해야 합니다. `제어판`_ 에서 사용자 ``PATH`` 를 영구적으로 설정할 수 있습니다. ``PATH`` 변경 사항을 적용하려면" +" 로그아웃해야 할 수도 있습니다." + +#: ../../dev/virtualenvs.rst:113 +msgid "Installing packages for your project" +msgstr "프로젝트에 패키지 설치하기" + +#: ../../dev/virtualenvs.rst:115 +msgid "" +"Pipenv manages dependencies on a per-project basis. To install packages, " +"change into your project's directory (or just an empty directory for this " +"tutorial) and run:" +msgstr "" +"Pipenv는 프로젝트별로 종속성을 관리합니다. 패키지를 설치하려면 프로젝트의 디렉터리(또는 이 튜토리얼의 빈 디렉터리만)로 이동하여 " +"다음 명령을 실행하십시오." + +#: ../../dev/virtualenvs.rst:124 +msgid "" +"Pipenv will install the excellent `Requests`_ library and create a " +"``Pipfile`` for you in your project's directory. The `Pipfile`_ is used to " +"track which dependencies your project needs in case you need to re-install " +"them, such as when you share your project with others. You should get output" +" similar to this (although the exact paths shown will vary):" +msgstr "" +"Pipenv가 멋진 `Requests`_ 라이브러릴 설치했습니다. 긜고 프로젝트 디렉터리에 ``Pipfile`` 을 만듭니다. " +"``Pipfile`` 은 프로젝트를 다른 사용자와 공유할 때와 같이 프로젝트를 다시 설치해야 하는 경우 프로젝트에 필요한 종속성을 " +"추적하는 데 사용됩니다. 아래와 유사한 출력을 얻어야 합니다(표시된 정확한 경로는 다르지만)." + +#: ../../dev/virtualenvs.rst:163 +msgid "Using installed packages" +msgstr "설치된 패키지 사용하기" + +#: ../../dev/virtualenvs.rst:165 +msgid "" +"Now that Requests is installed you can create a simple ``main.py`` file to " +"use it:" +msgstr "이제 Requests가 설치되었으므로 간단한 ``main.py`` 파일을 작성하여 사용할 수 있습니다." + +#: ../../dev/virtualenvs.rst:176 +msgid "Then you can run this script using ``pipenv run``:" +msgstr "그런 다음 ``pipenv run`` 를를 사용하여 이 스크립트를 실행할 수 있습니다." + +#: ../../dev/virtualenvs.rst:182 +msgid "You should get output similar to this:" +msgstr "아래와 비슷한 결과를 얻어야 합니다:" + +#: ../../dev/virtualenvs.rst:188 +msgid "" +"Using ``$ pipenv run`` ensures that your installed packages are available to" +" your script. It's also possible to spawn a new shell that ensures all " +"commands have access to your installed packages with ``$ pipenv shell``." +msgstr "" +"``$ pipenv run`` 를 사용하면 설치된 패키지를 스크립트에서 사용할 수 있습니다. 또한 ``$ pipenv shell`` 을 " +"사용하여 실행하는 모든 명령이 설치된 패키지에 액세스할 수 있도록 하는 새 셸을 생성할 수도 있습니다." + +#: ../../dev/virtualenvs.rst:194 +msgid "Next steps" +msgstr "다음 단계" + +#: ../../dev/virtualenvs.rst:196 +msgid "" +"Congratulations, you now know how to install and use Python packages! ✨ 🍰 ✨" +msgstr "축하해요! 이제 파이썬 패키지를 설치하고 사용하는 방법을 익혔습니다! ✨ 🍰 ✨" + +#: ../../dev/virtualenvs.rst:201 +msgid "Lower level: virtualenv" +msgstr "하위계층: virtualenv" + +#: ../../dev/virtualenvs.rst:203 +msgid "" +"`virtualenv `_ is a tool to create " +"isolated Python environments. virtualenv creates a folder which contains all" +" the necessary executables to use the packages that a Python project would " +"need." +msgstr "" +"`virtualenv `_ 는 격리된 파이썬 환경을 만들기 위한 " +"도구이다. virtualenv는 Python 프로젝트에 필요한 패키지를 사용하는 데 필요한 모든 실행 파일이 포함된 폴더를 생성합니다." + +#: ../../dev/virtualenvs.rst:207 +msgid "It can be used standalone, in place of Pipenv." +msgstr "Pipenv 대신 단독으로 사용할 수 있습니다." + +#: ../../dev/virtualenvs.rst:209 +msgid "Install virtualenv via pip:" +msgstr "pip로 virtualenv를 설치하자: " + +#: ../../dev/virtualenvs.rst:215 +msgid "Test your installation:" +msgstr "설치가 잘 됐는지 확인하자:" + +#: ../../dev/virtualenvs.rst:222 ../../dev/virtualenvs.rst:363 +msgid "Basic Usage" +msgstr "기본 사용법" + +#: ../../dev/virtualenvs.rst:224 +msgid "Create a virtual environment for a project:" +msgstr "프로젝트에 가상 환경을 생성하자:" + +#: ../../dev/virtualenvs.rst:231 +msgid "" +"``virtualenv venv`` will create a folder in the current directory which will" +" contain the Python executable files, and a copy of the ``pip`` library " +"which you can use to install other packages. The name of the virtual " +"environment (in this case, it was ``venv``) can be anything; omitting the " +"name will place the files in the current directory instead." +msgstr "" +"``virtualenv venv`` 는 파이썬 실행 파일이 들어있는 현재 디렉토리에 폴더를 하나 만들고 ``pip`` 라이브러리(다른 " +"패키지를 설치하는 데 사용할)의 복사본을 만듭니다.가상 환경의 이름(여기서는 ``venv``)은 뭐든 가능합니다. 그리고 이름을 생략하면" +" 파일이 대신 현재 디렉토리에 배치됩니다." + +#: ../../dev/virtualenvs.rst:238 +msgid "" +"'venv' is the general convention used globally. As it is readily available " +"in ignore files (eg: .gitignore')" +msgstr "" +"'venv' 는 전세계적으로 사용되는 일반적인 컨벤션입니다. ignore 파일에서 쉽게 처리 가능합니다(예: .gitignore)." + +#: ../../dev/virtualenvs.rst:240 +msgid "" +"This creates a copy of Python in whichever directory you ran the command in," +" placing it in a folder named :file:`venv`." +msgstr "이렇게 하면 명령을 실행한 디렉터리에 Python의 복사본이 생성되어 :file:`venv` 라는 폴더에 저장됩니다." + +#: ../../dev/virtualenvs.rst:243 +msgid "" +"You can also use the Python interpreter of your choice (like ``python2.7``)." +msgstr "``python2.7`` 과 같은 Python 인터프리터를 선택해서 사용할 수도 있습니다." + +#: ../../dev/virtualenvs.rst:250 +msgid "" +"or change the interpreter globally with an env variable in ``~/.bashrc``:" +msgstr "아니면 ``~/.bashrc`` 로 전역 환경에서 인터프리터 환경 변수를 바꿀 수도 있습니다." + +#: ../../dev/virtualenvs.rst:256 +msgid "To begin using the virtual environment, it needs to be activated:" +msgstr "가상 환경 사용을 시작하려면 가상 환경을 활성화해야 합니다." + +#: ../../dev/virtualenvs.rst:262 +msgid "" +"The name of the current virtual environment will now appear on the left of " +"the prompt (e.g. ``(venv)Your-Computer:project_folder UserName$``) to let " +"you know that it's active. From now on, any package that you install using " +"pip will be placed in the ``venv`` folder, isolated from the global Python " +"installation." +msgstr "" +"현재 가상 환경의 이름이 프롬프트 왼쪽에 나타납니다(예: ``(venv)Your-Computer:project_folder " +"UserName$``)이것이 가상환경이 활성화되어 있음을 알려 줍니다. 이제부터 pip을 사용하여 설치하는 모든 패키지는 글로벌 " +"Python 설치환경과 격리된 ``venv`` 폴더에 배치됩니다." + +#: ../../dev/virtualenvs.rst:267 +msgid "" +"For Windows, the same command mentioned in step 1 can be used to create a " +"virtual environment. However, activating the environment requires a slightly" +" different command." +msgstr "" +"윈도우즈의 경우 1단계에서 언급한 동일한 명령을 사용하여 가상 환경을 생성할 수 있습니다. 그러나 가상상환경을 활성화하려면 약간 다른 " +"명령이 필요합니다." + +#: ../../dev/virtualenvs.rst:269 +msgid "Assuming that you are in your project directory:" +msgstr "프로젝트 디렉토리에 있다고 가정하고 시작해보면 이렇습니다: " + +#: ../../dev/virtualenvs.rst:275 +msgid "Install packages using the ``pip`` command:" +msgstr "``pip`` 명령으로 패키지를 설치해봅시다: " + +#: ../../dev/virtualenvs.rst:281 +msgid "" +"If you are done working in the virtual environment for the moment, you can " +"deactivate it:" +msgstr "잠시 가상환경에서의 작업을 멈추려면 이렇게 비활성화 할 수도 있습니다: " + +#: ../../dev/virtualenvs.rst:288 +msgid "" +"This puts you back to the system's default Python interpreter with all its " +"installed libraries." +msgstr "이렇게 하면 설치된 모든 라이브러리와 함께 시스템의 기본 Python 인터프리터로 돌아갑니다." + +#: ../../dev/virtualenvs.rst:291 +msgid "" +"To delete a virtual environment, just delete its folder. (In this case, it " +"would be ``rm -rf venv``.)" +msgstr "가상 환경을 삭제하려면 해당 폴더를 삭제하십시오. (이 경우, ``rm -rf venv``)" + +#: ../../dev/virtualenvs.rst:294 +msgid "" +"After a while, though, you might end up with a lot of virtual environments " +"littered across your system, and it's possible you'll forget their names or " +"where they were placed." +msgstr "" +"개발을 오래 하다보면 시스템 전체에 많은 가상 환경이 흩어져 있을 수 있습니다. 그러다보면 가상환경의 이름이나 위치가 기억나지 않을 수도" +" 있습니다. (역주: 그래서 어쩌라는 거임... 이름을 venv로 하는 게 좋다고?)" + +#: ../../dev/virtualenvs.rst:299 +msgid "" +"Python has included venv module from version 3.3. For more details: `venv " +"`_." +msgstr "" +"파이썬3.3 버전부터는 venv 모듈을 포함하고 있다. 자세한 내용은 `venv " +"`_." + +#: ../../dev/virtualenvs.rst:302 +msgid "Other Notes" +msgstr "기타 참고 사항" + +#: ../../dev/virtualenvs.rst:304 +msgid "" +"Running ``virtualenv`` with the option ``--no-site-packages`` will not " +"include the packages that are installed globally. This can be useful for " +"keeping the package list clean in case it needs to be accessed later. [This " +"is the default behavior for ``virtualenv`` 1.7 and later.]" +msgstr "" +"``--no-site-packages`` 옵션을 줘서 ``virtualenv`` 를 실행하면 전역환경에 설치된 파이썬 패키지를 가져오지 " +"않습니다. 나중에 다시 쓸 패키지 리스트를 깔끔하게 유지하는 데 유용합니다. [``virtualenv`` 1.7 이후부터는 이게 기본 " +"동작입니다.]" + +#: ../../dev/virtualenvs.rst:309 +msgid "" +"In order to keep your environment consistent, it's a good idea to \"freeze\"" +" the current state of the environment packages. To do this, run:" +msgstr "" +"개발환경을 일관성 있게 유지하려면 개발환경 패키지의 현재 상태를 \"freeze\" 하는 것이 좋습니다. 이렇게 하려면 다음을 " +"실행합니다." + +#: ../../dev/virtualenvs.rst:316 +msgid "" +"This will create a :file:`requirements.txt` file, which contains a simple " +"list of all the packages in the current environment, and their respective " +"versions. You can see the list of installed packages without the " +"requirements format using ``pip list``. Later it will be easier for a " +"different developer (or you, if you need to re-create the environment) to " +"install the same packages using the same versions:" +msgstr "" +"그러면 :file:`requirements.txt` 파일이 생성됩니다. 이 파일에는 현재 환경의 모든 패키지와 해당 버전의 단순한 목록이" +" 적혀있습니다.requirements 포맷을 쓰지 않더라도 ``pip list`` 로 ㅎ녀재 설치되어 있는 패키지 목록을 확인할 수 " +"있습니다. 이것이 나중에 다른 개발자가 동일한 버전을 사용하여 동일한 패키지를 설치하는 작업(또는 환경을 다시 만들어야 하는 경우)을 더" +" 쉽게 만들어줍니다." + +#: ../../dev/virtualenvs.rst:327 +msgid "" +"This can help ensure consistency across installations, across deployments, " +"and across developers." +msgstr "위 명령을 통해 설치본, 배포본 및 개발자 간에 개발환경의 일관성을 유지할 수 있습니다." + +#: ../../dev/virtualenvs.rst:330 +msgid "" +"Lastly, remember to exclude the virtual environment folder from source " +"control by adding it to the ignore list (see :ref:`Version Control " +"Ignores`)." +msgstr "" +"마지막으로 가상 환경 폴더를 ignore 목록에 추가하여 소스 컨트롤 도구에서 제외해야 합니다(참고하세요 :ref:`버전 컨트롤 " +"ignore`)." + +#: ../../dev/virtualenvs.rst:336 +msgid "virtualenvwrapper" +msgstr "virtualenvwrapper" + +#: ../../dev/virtualenvs.rst:338 +msgid "" +"`virtualenvwrapper " +"`_ provides a" +" set of commands which makes working with virtual environments much more " +"pleasant. It also places all your virtual environments in one place." +msgstr "" +"`virtualenvwrapper " +"`_ 는가상 환경에서의 " +"작업을 훨씬 더 즐겁게 해주는 일련의 명령을 제공합니다. 또한 모든 가상 환경을 한 곳에 배치합니다." + +#: ../../dev/virtualenvs.rst:342 ../../dev/virtualenvs.rst:354 +msgid "To install (make sure **virtualenv** is already installed):" +msgstr "설치하려면(**virtualenv** 가 먼저 설치되어 있는지부터 확인하시고):" + +#: ../../dev/virtualenvs.rst:350 +msgid "" +"(`Full virtualenvwrapper install instructions " +"`_.)" +msgstr "" +"(`virtualenvwrapper 전체 설치 안내 " +"`_.)" + +#: ../../dev/virtualenvs.rst:352 +msgid "" +"For Windows, you can use the `virtualenvwrapper-win " +"`_." +msgstr "" +"윈도우즈에서는 `virtualenvwrapper-win " +"`_ 를 사용할 수 있습니다." + +#: ../../dev/virtualenvs.rst:360 +msgid "In Windows, the default path for WORKON_HOME is %USERPROFILE%\\\\Envs" +msgstr "Windows에서는 WORKON_HOME 의 기본 path가 %USERPROFILE%\\Envs 입니다." + +#: ../../dev/virtualenvs.rst:365 +msgid "Create a virtual environment:" +msgstr "가상 환경 생성:" + +#: ../../dev/virtualenvs.rst:371 +msgid "This creates the :file:`project_folder` folder inside :file:`~/Envs`." +msgstr "이건 :file:`~/Envs` 안에 :file:`project_folder` 폴더를 만듭니다." + +#: ../../dev/virtualenvs.rst:373 +msgid "Work on a virtual environment:" +msgstr "가상환경에서 작업하기:" + +#: ../../dev/virtualenvs.rst:379 +msgid "" +"Alternatively, you can make a project, which creates the virtual " +"environment, and also a project directory inside ``$WORKON_HOME``, which is " +"``cd``-ed into when you ``workon project_folder``." +msgstr "" +"대신 가상환경을 생성하고, ``workon project_folder`` 명령을 하기 전의 위치인 ``$WORKON_HOME`` 디렉토리" +" 안에 프로젝트 디렉토리를 생성할 수도 있습니다. " + +#: ../../dev/virtualenvs.rst:387 +msgid "" +"**virtualenvwrapper** provides tab-completion on environment names. It " +"really helps when you have a lot of environments and have trouble " +"remembering their names." +msgstr "" +"**virtualenvwrapper** 는 환경 이름의 tab-자동완성 기능을 지원합니다. 이건 아주 많은 환경이 있고 각각의 이름을 " +"기억하는게 힘들 때 아주 도움이 됩니다. " + +#: ../../dev/virtualenvs.rst:391 +msgid "" +"``workon`` also deactivates whatever environment you are currently in, so " +"you can quickly switch between environments." +msgstr "" +"``workon`` 은 현재 어느 디렉토리에서 작업하고 있든 가상환경을 비활성화 할 수 있습니다. 덕분에 환경 간 전환을 빠르게 할 수 " +"있습니다." + +#: ../../dev/virtualenvs.rst:394 +msgid "Deactivating is still the same:" +msgstr "비활성화 하는 방법은 똑같습니다: " + +#: ../../dev/virtualenvs.rst:400 +msgid "To delete:" +msgstr "삭제하려면: " + +#: ../../dev/virtualenvs.rst:407 +msgid "Other useful commands" +msgstr "기타 유용한 명령어" + +#: ../../dev/virtualenvs.rst:410 +msgid "``lsvirtualenv``" +msgstr "``lsvirtualenv``" + +#: ../../dev/virtualenvs.rst:410 +msgid "List all of the environments." +msgstr "모든 환경의 목록을 보여준다." + +#: ../../dev/virtualenvs.rst:414 +msgid "``cdvirtualenv``" +msgstr "``cdvirtualenv``" + +#: ../../dev/virtualenvs.rst:413 +msgid "" +"Navigate into the directory of the currently activated virtual environment, " +"so you can browse its :file:`site-packages`, for example." +msgstr "" +"현재 활성화 된 가상 환경의 디렉토리로 이동한다. 그리하여 :file:`site-packages` 같은 것들을 확인할 수 있다." + +#: ../../dev/virtualenvs.rst:417 +msgid "``cdsitepackages``" +msgstr "``cdsitepackages``" + +#: ../../dev/virtualenvs.rst:417 +msgid "Like the above, but directly into :file:`site-packages` directory." +msgstr "위와 비슷하지만 :file:`site-packages` 디렉토리로 바로 이동한다." + +#: ../../dev/virtualenvs.rst:420 +msgid "``lssitepackages``" +msgstr "``lssitepackages``" + +#: ../../dev/virtualenvs.rst:420 +msgid "Shows contents of :file:`site-packages` directory." +msgstr ":file:`site-packages` 디렉토리의 내용물을 보여준다." + +#: ../../dev/virtualenvs.rst:422 +msgid "" +"`Full list of virtualenvwrapper commands " +"`_." +msgstr "" +"`virtualenvwrapper 명령어의 전체 목록 " +"`_." + +#: ../../dev/virtualenvs.rst:425 +msgid "virtualenv-burrito" +msgstr "virtualenv-burrito" + +#: ../../dev/virtualenvs.rst:427 +msgid "" +"With `virtualenv-burrito `_," +" you can have a working virtualenv + virtualenvwrapper environment in a " +"single command." +msgstr "" +"`virtualenv-burrito `_ 를 " +"사용하면 명령어 한 방으로 virtualenv 와 virtualenvwrapper 를 함께 사용할 수 있다." + +#: ../../dev/virtualenvs.rst:431 +msgid "direnv" +msgstr "direnv" + +#: ../../dev/virtualenvs.rst:432 +msgid "" +"When you ``cd`` into a directory containing a :file:`.env`, `direnv " +"`_ automagically activates the environment." +msgstr "" +":file:`.env` 가 있는 디렉토리로 ``cd`` 할 때 `direnv `_ 는 자동으로 " +"가상환경을 활성화한다. " + +#: ../../dev/virtualenvs.rst:435 +msgid "Install it on Mac OS X using ``brew``:" +msgstr "``brew`` 로 Mac OS X에 설치해보자: " + +#: ../../dev/virtualenvs.rst:441 +msgid "On Linux follow the instructions at `direnv.net `_" +msgstr "리눅스라면 `direnv.net `_ 를 참고하자." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Virtual Environments" +#~ msgstr "" + +#~ msgid "" +#~ "A Virtual Environment is a tool to keep the dependencies required by " +#~ "different projects in separate places, by creating virtual Python " +#~ "environments for them. It solves the \"Project X depends on version 1.x but," +#~ " Project Y needs 4.x\" dilemma, and keeps your global site-packages " +#~ "directory clean and manageable." +#~ msgstr "" + +#~ msgid "" +#~ "For example, you can work on a project which requires Django 1.10 while also" +#~ " maintaining a project which requires Django 1.8." +#~ msgstr "" + +#~ msgid "virtualenv" +#~ msgstr "" + +#~ msgid "" +#~ "`virtualenv `_ is a tool to create " +#~ "isolated Python environments. virtualenv creates a folder which contains all" +#~ " the necessary executables to use the packages that a Python project would " +#~ "need." +#~ msgstr "" + +#~ msgid "You can also use a Python interpreter of your choice." +#~ msgstr "" + +#~ msgid "This will use the Python interpreter in :file:`/usr/bin/python2.7`" +#~ msgstr "" + +#~ msgid "" +#~ "The name of the current virtual environment will now appear on the left of " +#~ "the prompt (e.g. ``(venv)Your-Computer:your_project UserName$)`` to let you " +#~ "know that it's active. From now on, any package that you install using pip " +#~ "will be placed in the ``venv`` folder, isolated from the global Python " +#~ "installation." +#~ msgstr "" + +#~ msgid "Install packages as usual, for example:" +#~ msgstr "" + +#~ msgid "" +#~ "After a while, though, you might end up with a lot of virtual environments " +#~ "littered across your system, and its possible you'll forget their names or " +#~ "where they were placed." +#~ msgstr "" + +#~ msgid "" +#~ "Running ``virtualenv`` with the option :option:`--no-site-packages` will not" +#~ " include the packages that are installed globally. This can be useful for " +#~ "keeping the package list clean in case it needs to be accessed later. [This " +#~ "is the default behavior for ``virtualenv`` 1.7 and later.]" +#~ msgstr "" + +#~ msgid "" +#~ "In order to keep your environment consistent, it's a good idea to \"freeze\"" +#~ " the current state of the environment packages. To do this, run" +#~ msgstr "" + +#~ msgid "" +#~ "This will create a :file:`requirements.txt` file, which contains a simple " +#~ "list of all the packages in the current environment, and their respective " +#~ "versions. You can see the list of installed packages without the " +#~ "requirements format using \"pip list\". Later it will be easier for a " +#~ "different developer (or you, if you need to re-create the environment) to " +#~ "install the same packages using the same versions:" +#~ msgstr "" + +#~ msgid "" +#~ "Lastly, remember to exclude the virtual environment folder from source " +#~ "control by adding it to the ignore list." +#~ msgstr "" + +#~ msgid "In Windows, the default path for WORKON_HOME is %USERPROFILE%\\Envs" +#~ msgstr "" + +#~ msgid "This creates the :file:`venv` folder inside :file:`~/Envs`." +#~ msgstr "" + +#~ msgid "" +#~ "Alternatively, you can make a project, which creates the virtual " +#~ "environment, and also a project directory inside ``$PROJECT_HOME``, which is" +#~ " ``cd`` -ed into when you ``workon myproject``." +#~ msgstr "" + +#~ msgid "autoenv" +#~ msgstr "" + +#~ msgid "" +#~ "When you ``cd`` into a directory containing a :file:`.env`, `autoenv " +#~ "`_ automagically activates the " +#~ "environment." +#~ msgstr "" + +#~ msgid "And on Linux:" +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/index.mo b/docs/locale/ko/LC_MESSAGES/index.mo new file mode 100644 index 00000000..79168811 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/index.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/index.po b/docs/locale/ko/LC_MESSAGES/index.po new file mode 100644 index 00000000..d2de321e --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/index.po @@ -0,0 +1,163 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide ^0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Jou Sung-Shik \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../index.rst:-1 +msgid "" +"An opinionated guide to the Python programming language and a best " +"practice handbook for the installation, configuration, and usage of " +"Python on a daily basis." +msgstr "" +"파이썬 프로그래밍 언어에 대한 독단적인 안내서이자, 파이썬의 설치, 설정, 일상적인 " +"사용에 대한 모범 사례 안내서입니다." + +#: ../../index.rst:12 +msgid "The Hitchhiker's Guide to Python!" +msgstr "파이썬을 여행하는 히치하이커를 위한 안내서!" + +#: ../../index.rst:14 +msgid "Greetings, Earthling! Welcome to The Hitchhiker's Guide to Python." +msgstr "안녕, 지구인! 파이썬을 여행하는 히치하이커를 위한 안내서에 오신 것을 환영합니다." + +#: ../../index.rst:16 +msgid "" +"**This is a living, breathing guide.** If you'd like to contribute, " +"`fork us on GitHub `_!" +msgstr "" +"**이 안내서는 살아 숨쉬고 있습니다.** 기여하고 싶으시다면, `fork us on GitHub " +"`_!" + +#: ../../index.rst:19 +msgid "" +"This handcrafted guide exists to provide both novice and expert Python " +"developers a best practice handbook for the installation, configuration, " +"and usage of Python on a daily basis." +msgstr "" +"이 장인정신으로 만든 안내서는 파이썬 초보자와 숙련된 파이썬 개발자 모두에게 매일매일 단위로 파이썬의 설치, 설정, 사용법에 대한 " +"모범 사례 안내서입니다." + +#: ../../index.rst:23 +msgid "" +"This guide is **opinionated** in a way that is almost, but not quite, " +"entirely *unlike* Python's official documentation. You won't find a list " +"of every Python web framework available here. Rather, you'll find a nice " +"concise list of highly recommended options." +msgstr "" +"이 안내서는 거의 **독단적** 입니다. 하지만 파이썬 공식 문서만큼 완벽하게 독단적이지는 않습니다. 여기서 사용 가능한 세상의 " +"모든 파이썬 웹 프레임워크의 목록을 찾을 수 있다는 것은 아닙니다. 그보다는 강력 추천하는 여러 선택 사항들의 간결하고 멋진 목록을" +" 보게 될 것입니다. " + +#: ../../index.rst:28 +msgid "" +"The use of **Python 3** is *highly* recommended over Python 2. Consider " +"upgrading your applications and infrastructures if you find yourself " +"*still* using Python 2 in production today. If you are using Python 3, " +"congratulations — you are indeed a person of excellent taste. —*Kenneth " +"Reitz*" +msgstr "" +"파이썬2 대신 **파이썬3** 를 사용하실 것을 강력하게 추천드립니다. *아직도* 파이썬2를 운영환경에서 사용하고 있다면 " +"어플리케이션과 인프라스트럭쳐를 업그레이드 하실 것을 고려해보세요. 이미 파이썬3를 사용하고 계신다면, 축하드립니다 -정말 멋진 " +"취향을 가지신 분입니다-. -*케네스 레이츠*-" + +#: ../../index.rst:31 +msgid "" +"Let's get started! But first, let's make sure you know where your towel " +"is." +msgstr "이제 출발합시다! 그런데 우선, 당신의 타월이 어디에 있는지 확인합시다. " + +#: ../../contents.rst.inc:2 +msgid "Getting Started with Python" +msgstr "파이썬 시작하기" + +#: ../../contents.rst.inc:4 +msgid "New to Python? Let's properly setup up your Python environment:" +msgstr "파이썬은 처음인가요? 파이썬 환경을 잘 설치해봅시다." + +#: ../../contents.rst.inc:11 +msgid "Properly Install Python on your system:" +msgstr "당신의 시스템에 파이썬을 올바르게 설치해보자" + +#: ../../contents.rst.inc:25 +msgid "Using Virtualenvs with Pipenv:" +msgstr "Pipenv로 Virtualenvs 사용하기" + +#: ../../contents.rst.inc:34 +msgid "Python Development Environments" +msgstr "파이썬 개발 환경" + +#: ../../contents.rst.inc:36 +msgid "" +"This part of the guide focuses on the Python development environment, and" +" the best-practice tools that are available for writing Python code." +msgstr "안내서의 이 부분은 파이썬 개발 환경, 그리고 파이썬 코드 작성을 위한 모범적인 개발도구를 다룹니다." + +#: ../../contents.rst.inc:50 +msgid "Writing Great Python Code" +msgstr "최고의 코드 작성하기" + +#: ../../contents.rst.inc:52 +msgid "" +"This part of the guide focuses on the best-practices for writing Python " +"code." +msgstr "안내서의 이 부분은 파이썬 코드 작성의 모범 사례를 다룹니다." + +#: ../../contents.rst.inc:69 +msgid "Scenario Guide for Python Applications" +msgstr "파이썬 어플리케이션을 위한 시나리오 안내" + +#: ../../contents.rst.inc:71 +msgid "" +"This part of the guide focuses on tool and module advice based on " +"different scenarios." +msgstr "이 파트는 다양한 시나리오에 따른 툴과 모듈에 대한 조언을 다룹니다" + +#: ../../contents.rst.inc:98 +msgid "Shipping Great Python Code" +msgstr "최고의 코드를 올리기" + +#: ../../contents.rst.inc:100 +msgid "This part of the guide focuses on sharing and deploying your Python code." +msgstr "이 부분은 파이썬 코드 배포를 다룹니다" + +#: ../../contents.rst.inc:111 +msgid "Additional Notes" +msgstr "참고 사항" + +#: ../../contents.rst.inc:113 +msgid "" +"This part of the guide, which is mostly prose, begins with some " +"background information about Python, and then focuses on next steps." +msgstr "이 부분에서는 파이썬에 대한 배경 지식부터 시작해서 그 다음 단계를 구구절절 다룹니다." + +#: ../../contents.rst.inc:126 +msgid "" +"Notes defined within all diatonic and chromatic musical scales have been " +"intentionally excluded from this list of additional notes. Additionally, " +"this note." +msgstr "" +"이 참고 사항에서는 장음계와 단음계를 비롯한 음계의 모든 사항들을 다루지는 않습니다. 그런 것들은 이 참고 사항의 목록에서 일부러 " +"제외시켰습니다. 이 문단도 그렇습니다." + +#: ../../contents.rst.inc:133 +msgid "Contribution notes and legal information (for those interested)." +msgstr "기여자를 위한 알림과 법적 정보(관심있으신 분들에게)." + diff --git a/docs/locale/ko/LC_MESSAGES/intro/community.mo b/docs/locale/ko/LC_MESSAGES/intro/community.mo new file mode 100644 index 00000000..bdb6022c Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/intro/community.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/intro/community.po b/docs/locale/ko/LC_MESSAGES/intro/community.po new file mode 100644 index 00000000..b096eb1b --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/intro/community.po @@ -0,0 +1,217 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../intro/community.rst:6 +msgid "The Community" +msgstr "커뮤니티" + +#: ../../intro/community.rst:13 +msgid "BDFL" +msgstr "BDFL" + +#: ../../intro/community.rst:15 +msgid "" +"Guido van Rossum, the creator of Python, is often referred to as the BDFL — " +"the Benevolent Dictator For Life." +msgstr "" +"파이썬을 만든 Guido van Rossum은 종종 BDFL(Benevolent Dictator For Life, 자비로운 종신 " +"독재자)로 불립니다." + +#: ../../intro/community.rst:21 +msgid "Python Software Foundation" +msgstr "Python Software Foundation" + +#: ../../intro/community.rst:24 +msgid "" +"The mission of the Python Software Foundation is to promote, protect, and " +"advance the Python programming language, and to support and facilitate the " +"growth of a diverse and international community of Python programmers." +msgstr "" +"Python Software Foundation의 사명은 파이썬 프로그래밍 언어를 알리고 보호하며 발전시키고, 다양하고 국제적인 파이썬 " +"프로그래머 커뮤니티의 성장을 지원하고 촉진하는 것입니다." + +#: ../../intro/community.rst:28 +msgid "`Learn More about the PSF `_." +msgstr "`PSF에 대해 더 알아보기 `_." + +#: ../../intro/community.rst:33 +msgid "PEPs" +msgstr "PEP" + +#: ../../intro/community.rst:35 +msgid "" +"PEPs are *Python Enhancement Proposals*. They describe changes to Python " +"itself, or the standards around it." +msgstr "" +"PEP는 *Python Enhancement Proposals* 의 약자입니다. 파이썬 자체나 그 주변 표준에 대한 변경 사항을 " +"설명합니다." + +#: ../../intro/community.rst:38 +msgid "There are three different types of PEPs (as defined by :pep:`1`):" +msgstr "(:pep:`1` 에서 정의된 대로) PEP에는 세 가지 종류가 있습니다:" + +#: ../../intro/community.rst:41 +msgid "**Standards**" +msgstr "**Standards**" + +#: ../../intro/community.rst:41 +msgid "Describes a new feature or implementation." +msgstr "새로운 기능이나 구현을 설명합니다." + +#: ../../intro/community.rst:45 +msgid "**Informational**" +msgstr "**Informational**" + +#: ../../intro/community.rst:44 +msgid "" +"Describes a design issue, general guidelines, or information to the " +"community." +msgstr "설계 이슈, 일반적인 가이드라인, 또는 커뮤니티에 전달할 정보를 설명합니다." + +#: ../../intro/community.rst:49 +msgid "**Process**" +msgstr "**Process**" + +#: ../../intro/community.rst:48 +msgid "Describes a process related to Python." +msgstr "파이썬과 관련된 프로세스를 설명합니다." + +#: ../../intro/community.rst:52 +msgid "Notable PEPs" +msgstr "주목할 만한 PEP" + +#: ../../intro/community.rst:54 +msgid "There are a few PEPs that could be considered required reading:" +msgstr "필독서로 여길 만한 PEP가 몇 가지 있습니다:" + +#: ../../intro/community.rst:57 +msgid ":pep:`8`: The Python Style Guide." +msgstr ":pep:`8`: 파이썬 스타일 가이드." + +#: ../../intro/community.rst:57 +msgid "Read this. All of it. Follow it." +msgstr "이것을 읽으세요. 전부 다. 그리고 따르세요." + +#: ../../intro/community.rst:60 +msgid ":pep:`20`: The Zen of Python." +msgstr ":pep:`20`: 파이썬의 선(禪)." + +#: ../../intro/community.rst:60 +msgid "" +"A list of 19 statements that briefly explain the philosophy behind Python." +msgstr "파이썬의 철학을 간략히 설명하는 19개의 문장 목록입니다." + +#: ../../intro/community.rst:64 +msgid ":pep:`257`: Docstring Conventions." +msgstr ":pep:`257`: 독스트링 컨벤션." + +#: ../../intro/community.rst:63 +msgid "" +"Gives guidelines for semantics and conventions associated with Python " +"docstrings." +msgstr "파이썬 독스트링과 관련된 의미와 컨벤션에 대한 가이드라인을 제공합니다." + +#: ../../intro/community.rst:66 +msgid "" +"You can read more at `The PEP Index `_." +msgstr "더 자세한 내용은 `PEP 인덱스 `_ 에서 읽어볼 수 있습니다." + +#: ../../intro/community.rst:69 +msgid "Submitting a PEP" +msgstr "PEP 제출하기" + +#: ../../intro/community.rst:71 +msgid "" +"PEPs are peer-reviewed and accepted/rejected after much discussion. Anyone " +"can write and submit a PEP for review." +msgstr "" +"PEP는 피어 리뷰를 거치며 많은 토론 끝에 채택 또는 거부됩니다. 누구나 PEP를 작성하여 리뷰를 위해 제출할 수 있습니다." + +#: ../../intro/community.rst:74 +msgid "Here's an overview of the PEP acceptance workflow:" +msgstr "PEP 채택 워크플로우의 개요는 다음과 같습니다:" + +#: ../../intro/community.rst:81 +msgid "Python Conferences" +msgstr "파이썬 컨퍼런스" + +#: ../../intro/community.rst:83 +msgid "" +"The major events for the Python community are developer conferences. The two" +" most notable conferences are PyCon, which is held in the US, and its " +"European sibling, EuroPython." +msgstr "" +"파이썬 커뮤니티의 주요 이벤트는 개발자 컨퍼런스입니다. 가장 주목할 만한 두 컨퍼런스는 미국에서 열리는 PyCon과 유럽 형제격인 " +"EuroPython입니다." + +#: ../../intro/community.rst:87 +msgid "" +"A comprehensive list of conferences is maintained at `pycon.org " +"`_." +msgstr "컨퍼런스의 포괄적인 목록은 `pycon.org `_ 에서 관리됩니다." + +#: ../../intro/community.rst:92 +msgid "Python User Groups" +msgstr "파이썬 사용자 그룹" + +#: ../../intro/community.rst:94 +msgid "" +"User Groups are where a bunch of Python developers meet to present or talk " +"about Python topics of interest. A list of local user groups is maintained " +"at the `Python Software Foundation Wiki " +"`_." +msgstr "" +"사용자 그룹은 여러 파이썬 개발자가 모여 관심 있는 파이썬 주제를 발표하거나 이야기하는 자리입니다. 지역 사용자 그룹 목록은 " +"`Python Software Foundation Wiki " +"`_ 에서 관리됩니다." + +#: ../../intro/community.rst:101 +msgid "Online Communities" +msgstr "온라인 커뮤니티" + +#: ../../intro/community.rst:103 +msgid "" +"`PythonistaCafe `_ is an invite-only, online" +" community of Python and software development enthusiasts helping each other" +" succeed and grow. Think of it as a club of mutual improvement for " +"Pythonistas where a broad range of programming questions, career advice, and" +" other topics are discussed every day." +msgstr "" +"`PythonistaCafe `_ 는 초대 전용 온라인 커뮤니티로, 파이썬과 " +"소프트웨어 개발 애호가들이 서로의 성공과 성장을 돕는 곳입니다. 광범위한 프로그래밍 질문, 커리어 조언, 기타 주제가 매일 논의되는 " +"파이썬 사용자(Pythonista)를 위한 상호 발전 클럽이라고 생각하면 됩니다." + +#: ../../intro/community.rst:111 +msgid "Python Job Boards" +msgstr "파이썬 채용 게시판" + +#: ../../intro/community.rst:113 +msgid "" +"`Python Jobs HQ `_ is a Python job board, by " +"Python Developers for Python Developers. The site aggregates Python job " +"postings from across the web and also allows employers to post Python job " +"openings directly on the site." +msgstr "" +"`Python Jobs HQ `_ 는 파이썬 개발자가 파이썬 개발자를 위해 만든 " +"파이썬 채용 게시판입니다. 이 사이트는 웹 곳곳의 파이썬 채용 공고를 모으는 한편, 고용주가 직접 사이트에 파이썬 채용 공고를 올릴 수도" +" 있게 해줍니다." diff --git a/docs/locale/ko/LC_MESSAGES/intro/documentation.mo b/docs/locale/ko/LC_MESSAGES/intro/documentation.mo new file mode 100644 index 00000000..36e16d66 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/intro/documentation.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/intro/documentation.po b/docs/locale/ko/LC_MESSAGES/intro/documentation.po new file mode 100644 index 00000000..f31d4b4b --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/intro/documentation.po @@ -0,0 +1,96 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../intro/documentation.rst:5 +msgid "Documentation" +msgstr "문서" + +#: ../../intro/documentation.rst:12 +msgid "Official Documentation" +msgstr "공식 문서" + +#: ../../intro/documentation.rst:14 +msgid "" +"The official Python Language and Library documentation can be found here:" +msgstr "공식 파이썬 언어 및 라이브러리 문서는 여기에서 찾을 수 있습니다:" + +#: ../../intro/documentation.rst:16 +msgid "`Python 2.x `_" +msgstr "`파이썬 2.x `_" + +#: ../../intro/documentation.rst:17 +msgid "`Python 3.x `_" +msgstr "`파이썬 3.x `_" + +#: ../../intro/documentation.rst:22 +msgid "Read the Docs" +msgstr "Read the Docs" + +#: ../../intro/documentation.rst:24 +msgid "" +"Read the Docs is a popular community project that hosts documentation for " +"open source software. It holds documentation for many Python modules, both " +"popular and exotic." +msgstr "" +"Read the Docs는 오픈 소스 소프트웨어의 문서를 호스팅하는 인기 있는 커뮤니티 프로젝트입니다. 유명한 것부터 특이한 것까지 " +"수많은 파이썬 모듈의 문서를 제공합니다." + +#: ../../intro/documentation.rst:28 +msgid "`Read the Docs `_" +msgstr "`Read the Docs `_" + +#: ../../intro/documentation.rst:33 +msgid "pydoc" +msgstr "pydoc" + +#: ../../intro/documentation.rst:35 +msgid "" +":program:`pydoc` is a utility that is installed when you install Python. It " +"allows you to quickly retrieve and search for documentation from your shell." +" For example, if you needed a quick refresher on the :mod:`time` module, " +"pulling up documentation would be as simple as:" +msgstr "" +":program:`pydoc` 는 파이썬을 설치할 때 함께 설치되는 유틸리티입니다. 쉘에서 문서를 빠르게 찾아보고 검색할 수 있게 " +"해줍니다. 예를 들어 :mod:`time` 모듈에 대한 내용을 빠르게 다시 확인하고 싶다면, 다음과 같이 간단하게 문서를 띄울 수 " +"있습니다:" + +#: ../../intro/documentation.rst:44 +msgid "" +"The above command is essentially equivalent to opening the Python REPL and " +"running:" +msgstr "위 명령어는 본질적으로 파이썬 REPL을 열고 다음을 실행하는 것과 같습니다:" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ ":program:`pydoc` is a utility that is installed when you install Python. It " +#~ "allows you to quickly retrieve and search for documentation from your shell." +#~ " For example, if you needed a quick refresher on the :mod:`time` module, " +#~ "pulling up documentation would be as simple as" +#~ msgstr "" + +#~ msgid "" +#~ "The above command is essentially equivalent to opening the Python REPL and " +#~ "running" +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/intro/duction.mo b/docs/locale/ko/LC_MESSAGES/intro/duction.mo new file mode 100644 index 00000000..55229e95 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/intro/duction.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/intro/duction.po b/docs/locale/ko/LC_MESSAGES/intro/duction.po new file mode 100644 index 00000000..b0768fd4 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/intro/duction.po @@ -0,0 +1,195 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../intro/duction.rst:5 +msgid "Introduction" +msgstr "소개" + +#: ../../intro/duction.rst:9 +msgid "From the `official Python website `_:" +msgstr "`파이썬 공식 웹사이트 `_ 에 따르면:" + +#: ../../intro/duction.rst:11 +msgid "" +"Python is a general-purpose, high-level programming language similar to Tcl," +" Perl, Ruby, Scheme, or Java. Some of its main key features include:" +msgstr "" +"파이썬은 Tcl, Perl, Ruby, Scheme, Java와 유사한 범용 고수준 프로그래밍 언어입니다. 주요 특징 중 몇 가지는 " +"다음과 같습니다:" + +#: ../../intro/duction.rst:15 +msgid "**very clear, readable syntax**" +msgstr "**아주 명료하고 가독성 높은 문법**" + +#: ../../intro/duction.rst:17 +msgid "" +"Python's philosophy focuses on readability, from code blocks delineated with" +" significant whitespace to intuitive keywords in place of inscrutable " +"punctuation." +msgstr "" +"파이썬의 철학은 가독성에 초점을 맞춥니다. 의미 있는 공백으로 구분되는 코드 블록부터, 알아보기 어려운 구두점 대신 사용되는 직관적인 " +"키워드까지 그렇습니다." + +#: ../../intro/duction.rst:21 +msgid "" +"**extensive standard libraries and third party modules for virtually any " +"task**" +msgstr "**거의 모든 작업을 위한 광범위한 표준 라이브러리와 서드파티 모듈**" + +#: ../../intro/duction.rst:24 +msgid "" +"Python is sometimes described with the words \"batteries included\" because " +"of its extensive `standard library `_, " +"which includes modules for regular expressions, file IO, fraction handling, " +"object serialization, and much more." +msgstr "" +"파이썬은 종종 \"배터리 포함\"이라는 말로 설명됩니다. 정규 표현식, 파일 IO, 분수 처리, 객체 직렬화 등을 위한 모듈을 포함한 " +"광범위한 `표준 라이브러리 `_ 가 있기 때문입니다." + +#: ../../intro/duction.rst:30 +msgid "" +"Additionally, the `Python Package Index `_ is available " +"for users to submit their packages for widespread use, similar to Perl's " +"`CPAN `_. There is a thriving community of very " +"powerful Python frameworks and tools like the `Django " +"`_ web framework and the `NumPy " +"`_ set of math routines." +msgstr "" +"또한 `Python Package Index `_ 가 있어 사용자가 자신의 패키지를 등록하여 널리 " +"사용되게 할 수 있습니다. 이는 Perl의 `CPAN `_ 과 비슷합니다. `장고 " +"`_ 웹 프레임워크와 `NumPy `_" +" 수학 루틴 모음과 같은 매우 강력한 파이썬 프레임워크와 도구가 번성하는 커뮤니티가 존재합니다." + +#: ../../intro/duction.rst:38 +msgid "**integration with other systems**" +msgstr "**다른 시스템과의 통합**" + +#: ../../intro/duction.rst:40 +msgid "" +"Python can integrate with `Java libraries `_, " +"enabling it to be used with the rich Java environment that corporate " +"programmers are used to. It can also be `extended by C or C++ modules " +"`_ when speed is of the essence." +msgstr "" +"파이썬은 `Java 라이브러리 `_ 와 통합될 수 있어, 기업 프로그래머에게 익숙한 풍부한 " +"Java 환경에서 사용할 수 있습니다. 속도가 중요한 경우에는 `C 또는 C++ 모듈로 확장 " +"`_ 할 수도 있습니다." + +#: ../../intro/duction.rst:46 +msgid "**ubiquity on computers**" +msgstr "**컴퓨터에 어디서나 존재**" + +#: ../../intro/duction.rst:48 +msgid "" +"Python is available on Windows, \\*nix, and Mac. It runs wherever the Java " +"virtual machine runs, and the reference implementation CPython can help " +"bring Python to wherever there is a working C compiler." +msgstr "" +"파이썬은 Windows, \\*nix, Mac에서 사용할 수 있습니다. Java 가상 머신이 실행되는 어디에서나 실행되며, 참조 구현인 " +"CPython은 동작하는 C 컴파일러가 있는 곳이라면 어디로든 파이썬을 가져갈 수 있도록 도와줍니다." + +#: ../../intro/duction.rst:52 +msgid "**friendly community**" +msgstr "**친근한 커뮤니티**" + +#: ../../intro/duction.rst:54 +msgid "" +"Python has a vibrant and large :ref:`community ` which " +"maintains wikis, conferences, countless repositories, mailing lists, IRC " +"channels, and so much more. Heck, the Python community is even helping to " +"write this guide!" +msgstr "" +"파이썬에는 위키, 컨퍼런스, 수많은 저장소, 메일링 리스트, IRC 채널 등을 유지하는 활기차고 큰 :ref:`커뮤니티 ` 가 있습니다. 심지어 파이썬 커뮤니티는 이 안내서를 쓰는 데에도 도움을 주고 있답니다!" + +#: ../../intro/duction.rst:65 +msgid "About This Guide" +msgstr "이 안내서에 대하여" + +#: ../../intro/duction.rst:68 +msgid "Purpose" +msgstr "목적" + +#: ../../intro/duction.rst:70 +msgid "" +"The Hitchhiker's Guide to Python exists to provide both novice and expert " +"Python developers a best practice handbook for the installation, " +"configuration, and usage of Python on a daily basis." +msgstr "" +"파이썬을 여행하는 히치하이커를 위한 안내서는 초보부터 숙련된 파이썬 개발자 모두에게 매일매일 파이썬의 설치, 설정, 사용법에 대한 모범 " +"사례 안내서를 제공하기 위해 존재합니다." + +#: ../../intro/duction.rst:76 +msgid "By the Community" +msgstr "커뮤니티에 의해서" + +#: ../../intro/duction.rst:78 +msgid "" +"This guide is architected and maintained by `Kenneth Reitz " +"`_ in an open fashion. This is a community-" +"driven effort that serves one purpose: to serve the community." +msgstr "" +"이 안내서는 `Kenneth Reitz `_ 가 열린 방식으로 설계하고 " +"유지보수합니다. 이것은 단 하나의 목적, 즉 커뮤니티에 봉사하는 것을 위한 커뮤니티 주도의 노력입니다." + +#: ../../intro/duction.rst:83 +msgid "For the Community" +msgstr "커뮤니티를 위해서" + +#: ../../intro/duction.rst:85 +msgid "" +"All contributions to the Guide are welcome, from Pythonistas of all levels. " +"If you think there's a gap in what the Guide covers, fork the Guide on " +"GitHub and submit a pull request." +msgstr "" +"모든 수준의 파이썬 사용자(Pythonista)의 안내서 기여를 환영합니다. 안내서가 다루는 내용에 빠진 부분이 있다고 생각된다면, " +"GitHub에서 안내서를 포크하고 풀 리퀘스트를 제출해 주세요." + +#: ../../intro/duction.rst:89 +msgid "" +"Contributions are welcome from everyone, whether they're an old hand or a " +"first-time Pythonista, and the authors to the Guide will gladly help if you " +"have any questions about the appropriateness, completeness, or accuracy of a" +" contribution." +msgstr "" +"노련한 분이든 처음 파이썬을 다루는 분이든 누구의 기여라도 환영합니다. 기여의 적절성, 완전성, 정확성에 대해 궁금한 점이 있다면 " +"안내서의 저자들이 기꺼이 도와드립니다." + +#: ../../intro/duction.rst:94 +msgid "" +"To get started working on The Hitchhiker's Guide, see the " +":doc:`/notes/contribute` page." +msgstr "" +"파이썬을 여행하는 히치하이커를 위한 안내서 작업을 시작하려면 :doc:`/notes/contribute` 페이지를 참고하세요." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "Additionally, the `Python Package Index `_ is " +#~ "available for users to submit their packages for widespread use, similar to " +#~ "Perl's `CPAN `_. There is a thriving community of very " +#~ "powerful Python frameworks and tools like the `Django " +#~ "`_ web framework and the `NumPy " +#~ "`_ set of math routines." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/intro/learning.mo b/docs/locale/ko/LC_MESSAGES/intro/learning.mo new file mode 100644 index 00000000..12c10270 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/intro/learning.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/intro/learning.po b/docs/locale/ko/LC_MESSAGES/intro/learning.po new file mode 100644 index 00000000..5012a39d --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/intro/learning.po @@ -0,0 +1,1048 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../intro/learning.rst:5 +msgid "Learning Python" +msgstr "파이썬 배우기" + +#: ../../intro/learning.rst:12 +msgid "Beginner" +msgstr "초보자" + +#: ../../intro/learning.rst:15 +msgid "The Python Tutorial" +msgstr "파이썬 튜토리얼" + +#: ../../intro/learning.rst:17 +msgid "" +"This is the official tutorial. It covers all the basics, and offers a tour " +"of the language and the standard library. Recommended for those who need a " +"quick-start guide to the language." +msgstr "" +"이것은 공식 튜토리얼입니다. 모든 기초를 다루며, 언어와 표준 라이브러리에 대한 둘러보기를 제공합니다. 언어에 대한 빠른 시작 가이드가 " +"필요한 분들에게 추천합니다." + +#: ../../intro/learning.rst:21 +msgid "`The Python Tutorial `_" +msgstr "`파이썬 튜토리얼 `_" + +#: ../../intro/learning.rst:24 +msgid "Real Python" +msgstr "Real Python" + +#: ../../intro/learning.rst:26 +msgid "" +"Real Python is a repository of free and in-depth Python tutorials created by" +" a diverse team of professional Python developers. At Real Python you can " +"learn all things Python from the ground up. Everything from the absolute " +"basics of Python, to web development and web scraping, to data " +"visualization, and beyond." +msgstr "" +"Real Python은 다양한 전문 파이썬 개발자 팀이 만든 무료의 깊이 있는 파이썬 튜토리얼 저장소입니다. Real Python에서는 " +"파이썬의 모든 것을 처음부터 배울 수 있습니다. 파이썬의 가장 기초적인 부분부터 웹 개발, 웹 스크래핑, 데이터 시각화 등 그 이상까지 " +"다룹니다." + +#: ../../intro/learning.rst:28 +msgid "`Real Python `_" +msgstr "`Real Python `_" + +#: ../../intro/learning.rst:31 +msgid "Python Basics" +msgstr "Python Basics" + +#: ../../intro/learning.rst:33 +msgid "" +"pythonbasics.org is an introductory tutorial for beginners. The tutorial " +"includes exercises. It covers the basics and there are also in-depth lessons" +" like object oriented programming and regular expressions." +msgstr "" +"pythonbasics.org는 초보자를 위한 입문 튜토리얼입니다. 이 튜토리얼에는 연습 문제가 포함되어 있습니다. 기초를 다루며 " +"객체지향 프로그래밍과 정규 표현식 같은 깊이 있는 강의도 있습니다." + +#: ../../intro/learning.rst:35 +msgid "`Python basics `_" +msgstr "`Python basics `_" + +#: ../../intro/learning.rst:38 +msgid "Python for Beginners" +msgstr "Python for Beginners" + +#: ../../intro/learning.rst:40 +msgid "" +"thepythonguru.com is a tutorial focused on beginner programmers. It covers " +"many Python concepts in depth. It also teaches you some advanced constructs " +"of Python like lambda expressions and regular expressions. And last it " +"finishes off with the tutorial \"How to access MySQL db using Python\"" +msgstr "" +"thepythonguru.com은 초보 프로그래머에 초점을 맞춘 튜토리얼입니다. 많은 파이썬 개념을 깊이 다룹니다. 람다 표현식과 정규 " +"표현식 같은 파이썬의 일부 고급 구조도 가르쳐 줍니다. 그리고 마지막에는 \"파이썬으로 MySQL db에 접근하는 방법\" 튜토리얼로 " +"마무리합니다." + +#: ../../intro/learning.rst:44 +msgid "`Python for Beginners `_" +msgstr "`Python for Beginners `_" + +#: ../../intro/learning.rst:47 +msgid "Learn Python Interactive Tutorial" +msgstr "Learn Python 인터랙티브 튜토리얼" + +#: ../../intro/learning.rst:49 +msgid "" +"Learnpython.org is an easy non-intimidating way to get introduced to Python." +" The website takes the same approach used on the popular `Try Ruby " +"`_ website. It has an interactive Python " +"interpreter built into the site that allows you to go through the lessons " +"without having to install Python locally." +msgstr "" +"Learnpython.org는 파이썬을 접하는 쉽고 위협적이지 않은 방법입니다. 이 웹사이트는 인기 있는 `Try Ruby " +"`_ 웹사이트에서 사용된 것과 같은 접근 방식을 취합니다. 사이트에 인터랙티브한" +" 파이썬 인터프리터가 내장되어 있어 파이썬을 로컬에 설치하지 않고도 강의를 따라갈 수 있습니다." + +#: ../../intro/learning.rst:55 +msgid "`Learn Python `_" +msgstr "`Learn Python `_" + +#: ../../intro/learning.rst:58 +msgid "Python for You and Me" +msgstr "Python for You and Me" + +#: ../../intro/learning.rst:60 +msgid "" +"If you want a more traditional book, *Python For You and Me* is an excellent" +" resource for learning all aspects of the language." +msgstr "" +"더 전통적인 책을 원한다면, *Python For You and Me* 는 언어의 모든 측면을 배울 수 있는 훌륭한 자료입니다." + +#: ../../intro/learning.rst:63 +msgid "`Python for You and Me `_" +msgstr "`Python for You and Me `_" + +#: ../../intro/learning.rst:66 +msgid "Learn Python Step by Step" +msgstr "Learn Python Step by Step" + +#: ../../intro/learning.rst:68 +msgid "" +"Techbeamers.com provides step-by-step tutorials to teach Python. Each " +"tutorial is supplemented with logically added coding snippets and equips " +"with a follow-up quiz on the subject learned. There is a section for `Python" +" interview questions `_ to help job seekers. You can also read essential " +"`Python tips `_ and learn `best coding practices " +"`_ for " +"writing quality code. Here, you'll get the right platform to learn Python " +"quickly." +msgstr "" +"Techbeamers.com는 파이썬을 가르치기 위한 단계별 튜토리얼을 제공합니다. 각 튜토리얼은 논리적으로 추가된 코딩 스니펫으로 " +"보강되며, 학습한 주제에 대한 후속 퀴즈가 포함되어 있습니다. 구직자를 돕기 위한 `파이썬 면접 질문 " +"`_ 섹션도 " +"있습니다. 또한 필수 `파이썬 팁 `_ 을 읽고, 품질 좋은 코드를 작성하기 위한 `최선의 코딩 관행 " +"`_ 을 배울 수 " +"있습니다. 이곳에서 파이썬을 빠르게 배울 수 있는 적절한 플랫폼을 만날 수 있습니다." + +#: ../../intro/learning.rst:70 +msgid "" +"`Learn Python Basic to Advanced `_" +msgstr "" +"`Learn Python Basic to Advanced `_" + +#: ../../intro/learning.rst:74 +msgid "Online Python Tutor" +msgstr "Online Python Tutor" + +#: ../../intro/learning.rst:76 +msgid "" +"Online Python Tutor gives you a visual step-by-step representation of how " +"your program runs. Python Tutor helps people overcome a fundamental barrier " +"to learning programming by understanding what happens as the computer " +"executes each line of a program's source code." +msgstr "" +"Online Python Tutor는 프로그램이 어떻게 실행되는지에 대한 시각적이고 단계별인 표현을 제공합니다. Python Tutor는" +" 컴퓨터가 프로그램 소스 코드의 각 줄을 실행할 때 무슨 일이 일어나는지 이해하게 해주어, 프로그래밍을 배우는 근본적인 장벽을 사람들이 " +"극복할 수 있도록 돕습니다." + +#: ../../intro/learning.rst:82 +msgid "`Online Python Tutor `_" +msgstr "`Online Python Tutor `_" + +#: ../../intro/learning.rst:85 +msgid "Invent Your Own Computer Games with Python" +msgstr "Invent Your Own Computer Games with Python" + +#: ../../intro/learning.rst:87 +msgid "" +"This beginner's book is for those with no programming experience at all. " +"Each chapter has the source code to a small game, using these example " +"programs to demonstrate programming concepts to give the reader an idea of " +"what programs \"look like\"." +msgstr "" +"이 초보자 책은 프로그래밍 경험이 전혀 없는 분들을 위한 책입니다. 각 장에는 작은 게임의 소스 코드가 있으며, 이러한 예시 프로그램을 " +"사용하여 프로그래밍 개념을 보여주고 독자에게 프로그램이 \"어떻게 생겼는지\" 감을 줍니다." + +#: ../../intro/learning.rst:92 +msgid "" +"`Invent Your Own Computer Games with Python `_" +msgstr "" +"`Invent Your Own Computer Games with Python `_" + +#: ../../intro/learning.rst:96 +msgid "Hacking Secret Ciphers with Python" +msgstr "Hacking Secret Ciphers with Python" + +#: ../../intro/learning.rst:98 +msgid "" +"This book teaches Python programming and basic cryptography for absolute " +"beginners. The chapters provide the source code for various ciphers, as well" +" as programs that can break them." +msgstr "" +"이 책은 완전 초보자를 위해 파이썬 프로그래밍과 기초 암호학을 가르칩니다. 각 장은 여러 가지 암호와 그것들을 깰 수 있는 프로그램의 " +"소스 코드를 제공합니다." + +#: ../../intro/learning.rst:102 +msgid "" +"`Hacking Secret Ciphers with Python `_" +msgstr "" +"`Hacking Secret Ciphers with Python `_" + +#: ../../intro/learning.rst:106 +msgid "Learn Python the Hard Way" +msgstr "Learn Python the Hard Way" + +#: ../../intro/learning.rst:108 +msgid "" +"This is an excellent beginner programmer's guide to Python. It covers " +"\"hello world\" from the console to the web." +msgstr "이것은 훌륭한 초보 프로그래머용 파이썬 가이드입니다. 콘솔에서 웹에 이르기까지 \"hello world\"를 다룹니다." + +#: ../../intro/learning.rst:111 +msgid "`Learn Python the Hard Way `_" +msgstr "" +"`Learn Python the Hard Way `_" + +#: ../../intro/learning.rst:115 +msgid "Crash into Python" +msgstr "Crash into Python" + +#: ../../intro/learning.rst:117 +msgid "" +"Also known as *Python for Programmers with 3 Hours*, this guide gives " +"experienced developers from other languages a crash course on Python." +msgstr "" +"*Python for Programmers with 3 Hours* 로도 알려진 이 가이드는 다른 언어를 사용해본 경험 있는 개발자에게 " +"파이썬에 대한 속성 과정을 제공합니다." + +#: ../../intro/learning.rst:120 +msgid "`Crash into Python `_" +msgstr "`Crash into Python `_" + +#: ../../intro/learning.rst:124 +msgid "Dive Into Python 3" +msgstr "Dive Into Python 3" + +#: ../../intro/learning.rst:126 +msgid "" +"Dive Into Python 3 is a good book for those ready to jump in to Python 3. " +"It's a good read if you are moving from Python 2 to 3 or if you already have" +" some experience programming in another language." +msgstr "" +"Dive Into Python 3은 파이썬 3에 뛰어들 준비가 된 분들을 위한 좋은 책입니다. 파이썬 2에서 3으로 옮겨가고 있거나, " +"다른 언어로 이미 어느 정도 프로그래밍 경험이 있다면 좋은 읽을거리입니다." + +#: ../../intro/learning.rst:130 +msgid "`Dive Into Python 3 `_" +msgstr "`Dive Into Python 3 `_" + +#: ../../intro/learning.rst:134 +msgid "Think Python: How to Think Like a Computer Scientist" +msgstr "Think Python: How to Think Like a Computer Scientist" + +#: ../../intro/learning.rst:136 +msgid "" +"Think Python attempts to give an introduction to basic concepts in computer " +"science through the use of the Python language. The focus was to create a " +"book with plenty of exercises, minimal jargon, and a section in each chapter" +" devoted to the subject of debugging." +msgstr "" +"Think Python은 파이썬 언어를 사용하여 컴퓨터 과학의 기본 개념을 소개하려 시도합니다. 연습 문제가 풍부하고 전문 용어는 " +"최소화하며, 각 장에 디버깅 주제를 다루는 섹션이 있는 책을 만드는 데 초점을 두었습니다." + +#: ../../intro/learning.rst:141 +msgid "" +"While exploring the various features available in the Python language the " +"author weaves in various design patterns and best practices." +msgstr "파이썬 언어에서 사용할 수 있는 다양한 기능을 탐색하면서, 저자는 다양한 디자인 패턴과 모범 사례를 함께 엮어 넣습니다." + +#: ../../intro/learning.rst:144 +msgid "" +"The book also includes several case studies which have the reader explore " +"the topics discussed in the book in greater detail by applying those topics " +"to real-world examples. Case studies include assignments in GUI programming " +"and Markov Analysis." +msgstr "" +"이 책에는 또한 책에서 논의된 주제를 실제 세계의 예시에 적용하여 더 깊이 탐색하게 해주는 여러 케이스 스터디가 포함되어 있습니다. " +"케이스 스터디에는 GUI 프로그래밍과 마르코프 분석 과제가 포함됩니다." + +#: ../../intro/learning.rst:149 +msgid "`Think Python `_" +msgstr "" +"`Think Python `_" + +#: ../../intro/learning.rst:153 +msgid "Python Koans" +msgstr "Python Koans" + +#: ../../intro/learning.rst:155 +msgid "" +"Python Koans is a port of Edgecase's Ruby Koans. It uses a test-driven " +"approach to provide an interactive tutorial teaching basic Python concepts." +" By fixing assertion statements that fail in a test script, this provides " +"sequential steps to learning Python." +msgstr "" +"Python Koans는 Edgecase의 Ruby Koans를 이식한 것입니다. 테스트 주도 접근 방식을 사용하여 파이썬의 기본 개념을" +" 가르치는 인터랙티브 튜토리얼을 제공합니다. 테스트 스크립트에서 실패하는 단언(assertion) 구문을 고쳐 나가면서, 파이썬을 배우기" +" 위한 순차적인 단계를 제공합니다." + +#: ../../intro/learning.rst:160 +msgid "" +"For those used to languages and figuring out puzzles on their own, this can " +"be a fun, attractive option. For those new to Python and programming, having" +" an additional resource or reference will be helpful." +msgstr "" +"언어에 익숙하고 스스로 퍼즐을 푸는 데에 익숙한 분들에게는 재미있고 매력적인 선택지가 될 수 있습니다. 파이썬과 프로그래밍에 새로 " +"입문하는 분들에게는 추가 자료나 참고 자료가 있는 편이 도움이 됩니다." + +#: ../../intro/learning.rst:164 +msgid "`Python Koans `_" +msgstr "`Python Koans `_" + +#: ../../intro/learning.rst:166 +msgid "" +"More information about test driven development can be found at these " +"resources:" +msgstr "테스트 주도 개발에 대한 더 많은 정보는 다음 자료에서 찾을 수 있습니다:" + +#: ../../intro/learning.rst:168 +msgid "" +"`Test Driven Development `_" +msgstr "" +"`Test Driven Development `_" + +#: ../../intro/learning.rst:172 +msgid "A Byte of Python" +msgstr "A Byte of Python" + +#: ../../intro/learning.rst:174 +msgid "" +"A free introductory book that teaches Python at the beginner level, it " +"assumes no previous programming experience." +msgstr "초보 수준에서 파이썬을 가르치는 무료 입문서로, 사전 프로그래밍 경험을 가정하지 않습니다." + +#: ../../intro/learning.rst:177 +msgid "" +"`A Byte of Python for Python 2.x " +"`_ `A Byte of Python " +"for Python 3.x `_" +msgstr "" +"`A Byte of Python for Python 2.x " +"`_ `A Byte of Python " +"for Python 3.x `_" + +#: ../../intro/learning.rst:182 +msgid "Computer Science Path on Codecademy" +msgstr "Codecademy의 Computer Science Path" + +#: ../../intro/learning.rst:184 +msgid "" +"A Codecademy course for the absolute Python beginner. This free and " +"interactive course provides and teaches the basics (and beyond) of Python " +"programming while testing the user's knowledge in between progress. This " +"course also features a built-in interpreter for receiving instant feedback " +"on your learning." +msgstr "" +"완전 파이썬 초보자를 위한 Codecademy 강좌입니다. 이 무료의 인터랙티브 강좌는 파이썬 프로그래밍의 기초(와 그 이상)를 제공하고" +" 가르치며, 진행 중간중간 사용자의 지식을 테스트합니다. 이 강좌에는 학습에 대한 즉각적인 피드백을 받을 수 있는 내장 인터프리터도 들어" +" 있습니다." + +#: ../../intro/learning.rst:189 +msgid "" +"`Computer Science Path on Codecademy " +"`_" +msgstr "" +"`Codecademy의 Computer Science Path " +"`_" + +#: ../../intro/learning.rst:193 +msgid "Code the blocks" +msgstr "Code the blocks" + +#: ../../intro/learning.rst:195 +msgid "" +"*Code the blocks* provides free and interactive Python tutorials for " +"beginners. It combines Python programming with a 3D environment where you " +"\"place blocks\" and construct structures. The tutorials teach you how to " +"use Python to create progressively more elaborate 3D structures, making the " +"process of learning Python fun and engaging." +msgstr "" +"*Code the blocks* 는 초보자를 위한 무료 인터랙티브 파이썬 튜토리얼을 제공합니다. 파이썬 프로그래밍과 \"블록을 " +"배치\"하여 구조물을 만드는 3D 환경을 결합합니다. 튜토리얼은 점점 더 정교한 3D 구조물을 만들기 위해 파이썬을 사용하는 방법을 " +"가르쳐, 파이썬을 배우는 과정을 재미있고 흥미롭게 만들어줍니다." + +#: ../../intro/learning.rst:201 +msgid "`Code the blocks `_" +msgstr "`Code the blocks `_" + +#: ../../intro/learning.rst:206 +msgid "Intermediate" +msgstr "중급자" + +#: ../../intro/learning.rst:209 +msgid "Python Tricks: The Book" +msgstr "Python Tricks: The Book" + +#: ../../intro/learning.rst:211 +msgid "" +"Discover Python's best practices with simple examples and start writing even" +" more beautiful + Pythonic code. *Python Tricks: The Book* shows you exactly" +" how." +msgstr "" +"간단한 예시로 파이썬의 모범 사례를 발견하고, 더 아름답고 파이썬다운 코드를 작성하기 시작하세요. *Python Tricks: The " +"Book* 이 그 방법을 정확하게 보여줍니다." + +#: ../../intro/learning.rst:213 +msgid "" +"You’ll master intermediate and advanced-level features in Python with " +"practical examples and a clear narrative." +msgstr "실용적인 예시와 명확한 서술을 통해 파이썬의 중급 및 고급 수준 기능들을 마스터하게 됩니다." + +#: ../../intro/learning.rst:215 +msgid "" +"`Python Tricks: The Book `_" +msgstr "" +"`Python Tricks: The Book `_" + +#: ../../intro/learning.rst:218 +msgid "Effective Python" +msgstr "Effective Python" + +#: ../../intro/learning.rst:220 +msgid "" +"This book contains 59 specific ways to improve writing Pythonic code. At 227" +" pages, it is a very brief overview of some of the most common adaptations " +"programmers need to make to become efficient intermediate level Python " +"programmers." +msgstr "" +"이 책에는 파이썬다운 코드 작성을 개선하는 59가지 구체적인 방법이 담겨 있습니다. 227페이지로, 효율적인 중급 수준의 파이썬 " +"프로그래머가 되기 위해 프로그래머가 해야 할 가장 일반적인 적응 사항 일부에 대한 매우 간단한 개요입니다." + +#: ../../intro/learning.rst:225 +msgid "`Effective Python `_" +msgstr "`Effective Python `_" + +#: ../../intro/learning.rst:230 +msgid "Advanced" +msgstr "고급자" + +#: ../../intro/learning.rst:233 +msgid "Pro Python" +msgstr "Pro Python" + +#: ../../intro/learning.rst:235 +msgid "" +"This book is for intermediate to advanced Python programmers who are looking" +" to understand how and why Python works the way it does and how they can " +"take their code to the next level." +msgstr "" +"이 책은 파이썬이 왜 이런 방식으로 동작하는지, 그리고 자신의 코드를 한 단계 더 발전시키는 방법을 이해하고자 하는 중급에서 고급 파이썬" +" 프로그래머를 위한 책입니다." + +#: ../../intro/learning.rst:239 +msgid "`Pro Python `_" +msgstr "`Pro Python `_" + +#: ../../intro/learning.rst:243 +msgid "Expert Python Programming" +msgstr "Expert Python Programming" + +#: ../../intro/learning.rst:244 +msgid "" +"Expert Python Programming deals with best practices in programming Python " +"and is focused on the more advanced crowd." +msgstr "" +"Expert Python Programming은 파이썬 프로그래밍의 모범 사례를 다루며, 보다 고급의 독자층에 초점을 맞춥니다." + +#: ../../intro/learning.rst:247 +msgid "" +"It starts with topics like decorators (with caching, proxy, and context " +"manager case studies), method resolution order, using super() and meta-" +"programming, and general :pep:`8` best practices." +msgstr "" +"데코레이터(캐싱, 프록시, 컨텍스트 매니저 케이스 스터디 포함), 메소드 결정 순서(MRO), super() 사용과 메타 프로그래밍, " +"그리고 일반적인 :pep:`8` 모범 사례 같은 주제로 시작합니다." + +#: ../../intro/learning.rst:251 +msgid "" +"It has a detailed, multi-chapter case study on writing and releasing a " +"package and eventually an application, including a chapter on using " +"zc.buildout. Later chapters detail best practices such as writing " +"documentation, test-driven development, version control, optimization, and " +"profiling." +msgstr "" +"패키지와 궁극적으로는 응용을 작성하고 릴리즈하는 것에 대한 자세한 다중 장 케이스 스터디가 있으며, zc.buildout 사용에 대한 " +"장도 포함되어 있습니다. 후반부 장들은 문서 작성, 테스트 주도 개발, 버전 관리, 최적화, 프로파일링 같은 모범 사례를 자세히 " +"다룹니다." + +#: ../../intro/learning.rst:256 +msgid "" +"`Expert Python Programming `_" +msgstr "" +"`Expert Python Programming `_" + +#: ../../intro/learning.rst:260 +msgid "A Guide to Python's Magic Methods" +msgstr "A Guide to Python's Magic Methods" + +#: ../../intro/learning.rst:262 +msgid "" +"This is a collection of blog posts by Rafe Kettler which explain 'magic " +"methods' in Python. Magic methods are surrounded by double underscores (i.e." +" __init__) and can make classes and objects behave in different and magical " +"ways." +msgstr "" +"이것은 파이썬의 '매직 메소드(magic methods)'를 설명하는 Rafe Kettler의 블로그 글 모음입니다. 매직 메소드는 더블" +" 언더스코어로 둘러싸여 있으며(예: __init__), 클래스와 객체를 다양하고 마술 같은 방식으로 동작하게 만들 수 있습니다." + +#: ../../intro/learning.rst:266 +msgid "" +"`A Guide to Python's Magic Methods " +"`_" +msgstr "" +"`A Guide to Python's Magic Methods " +"`_" + +#: ../../intro/learning.rst:268 +msgid "" +"Rafekettler.com is currently down; you can go to their GitHub version " +"directly. Here you can find a PDF version: `A Guide to Python's Magic " +"Methods (repo on GitHub) " +"`_" +msgstr "" +"Rafekettler.com이 현재 다운되어 있어, GitHub 버전으로 바로 갈 수 있습니다. 여기서 PDF 버전을 찾을 수 있습니다:" +" `A Guide to Python's Magic Methods (GitHub 저장소) " +"`_" + +#: ../../intro/learning.rst:274 +msgid "For Engineers and Scientists" +msgstr "엔지니어와 과학자를 위해" + +#: ../../intro/learning.rst:277 +msgid "A Primer on Scientific Programming with Python" +msgstr "A Primer on Scientific Programming with Python" + +#: ../../intro/learning.rst:279 +msgid "" +"A Primer on Scientific Programming with Python, written by Hans Petter " +"Langtangen, mainly covers Python's usage in the scientific field. In the " +"book, examples are chosen from mathematics and the natural sciences." +msgstr "" +"Hans Petter Langtangen이 쓴 A Primer on Scientific Programming with Python은 주로" +" 과학 분야에서의 파이썬 사용을 다룹니다. 이 책에서는 수학과 자연과학에서 예시를 골랐습니다." + +#: ../../intro/learning.rst:283 +msgid "" +"`A Primer on Scientific Programming with Python " +"`_" +msgstr "" +"`A Primer on Scientific Programming with Python " +"`_" + +#: ../../intro/learning.rst:286 +msgid "Numerical Methods in Engineering with Python" +msgstr "Numerical Methods in Engineering with Python" + +#: ../../intro/learning.rst:288 +msgid "" +"Numerical Methods in Engineering with Python, written by Jaan Kiusalaas, " +"puts the emphasis on numerical methods and how to implement them in Python." +msgstr "" +"Jaan Kiusalaas가 쓴 Numerical Methods in Engineering with Python은 수치 해석 방법과 " +"그것들을 파이썬으로 구현하는 방법에 중점을 둡니다." + +#: ../../intro/learning.rst:291 +msgid "" +"`Numerical Methods in Engineering with Python " +"`_" +msgstr "" +"`Numerical Methods in Engineering with Python " +"`_" + +#: ../../intro/learning.rst:296 +msgid "Miscellaneous Topics" +msgstr "기타 주제" + +#: ../../intro/learning.rst:299 +msgid "Problem Solving with Algorithms and Data Structures" +msgstr "Problem Solving with Algorithms and Data Structures" + +#: ../../intro/learning.rst:301 +msgid "" +"Problem Solving with Algorithms and Data Structures covers a range of data " +"structures and algorithms. All concepts are illustrated with Python code " +"along with interactive samples that can be run directly in the browser." +msgstr "" +"Problem Solving with Algorithms and Data Structures는 다양한 자료구조와 알고리즘을 다룹니다. " +"모든 개념은 파이썬 코드와 브라우저에서 바로 실행할 수 있는 인터랙티브 샘플로 설명됩니다." + +#: ../../intro/learning.rst:305 +msgid "" +"`Problem Solving with Algorithms and Data Structures " +"`_" +msgstr "" +"`Problem Solving with Algorithms and Data Structures " +"`_" + +#: ../../intro/learning.rst:309 +msgid "Programming Collective Intelligence" +msgstr "Programming Collective Intelligence" + +#: ../../intro/learning.rst:311 +msgid "" +"Programming Collective Intelligence introduces a wide array of basic machine" +" learning and data mining methods. The exposition is not very mathematically" +" formal, but rather focuses on explaining the underlying intuition and shows" +" how to implement the algorithms in Python." +msgstr "" +"Programming Collective Intelligence는 광범위한 기본 머신러닝과 데이터 마이닝 방법을 소개합니다. 수학적으로 " +"매우 형식적이지는 않으며, 오히려 그 밑에 깔린 직관을 설명하는 데 초점을 맞추고 파이썬으로 알고리즘을 구현하는 방법을 보여줍니다." + +#: ../../intro/learning.rst:316 +msgid "" +"`Programming Collective Intelligence " +"`_" +msgstr "" +"`Programming Collective Intelligence " +"`_" + +#: ../../intro/learning.rst:320 +msgid "Transforming Code into Beautiful, Idiomatic Python" +msgstr "Transforming Code into Beautiful, Idiomatic Python" + +#: ../../intro/learning.rst:322 +msgid "" +"Transforming Code into Beautiful, Idiomatic Python is a video by Raymond " +"Hettinger. Learn to take better advantage of Python's best features and " +"improve existing code through a series of code transformations: \"When you " +"see this, do that instead.\"" +msgstr "" +"Transforming Code into Beautiful, Idiomatic Python은 Raymond Hettinger의 " +"동영상입니다. 파이썬의 최고 기능을 더 잘 활용하는 법을 배우고, 일련의 코드 변환을 통해 기존 코드를 개선하세요: \"이것을 보면, " +"대신 저것을 하세요.\"" + +#: ../../intro/learning.rst:326 +msgid "" +"`Transforming Code into Beautiful, Idiomatic Python " +"`_" +msgstr "" +"`Transforming Code into Beautiful, Idiomatic Python " +"`_" + +#: ../../intro/learning.rst:330 +msgid "Fullstack Python" +msgstr "Fullstack Python" + +#: ../../intro/learning.rst:332 +msgid "" +"Fullstack Python offers a complete top-to-bottom resource for web " +"development using Python." +msgstr "Fullstack Python은 파이썬을 사용한 웹 개발에 대한 완전한 위에서 아래까지의 자료를 제공합니다." + +#: ../../intro/learning.rst:335 +msgid "" +"From setting up the web server, to designing the front-end, choosing a " +"database, optimizing/scaling, etc." +msgstr "웹 서버 설정부터 프론트엔드 디자인, 데이터베이스 선택, 최적화/확장 등에 이르기까지." + +#: ../../intro/learning.rst:338 +msgid "" +"As the name suggests, it covers everything you need to build and run a " +"complete web app from scratch." +msgstr "이름이 시사하듯, 완전한 웹 앱을 처음부터 빌드하고 실행하는 데 필요한 모든 것을 다룹니다." + +#: ../../intro/learning.rst:341 +msgid "`Fullstack Python `_" +msgstr "`Fullstack Python `_" + +#: ../../intro/learning.rst:345 +msgid "PythonistaCafe" +msgstr "PythonistaCafe" + +#: ../../intro/learning.rst:347 +msgid "" +"PythonistaCafe is an invite-only, online community of Python and software " +"development enthusiasts helping each other succeed and grow. Think of it as " +"a club of mutual improvement for Pythonistas where a broad range of " +"programming questions, career advice, and other topics are discussed every " +"day." +msgstr "" +"PythonistaCafe는 초대 전용 온라인 커뮤니티로, 파이썬과 소프트웨어 개발 애호가들이 서로의 성공과 성장을 돕는 곳입니다. " +"광범위한 프로그래밍 질문, 커리어 조언, 기타 주제가 매일 논의되는 파이썬 사용자(Pythonista)를 위한 상호 발전 클럽이라고 " +"생각하면 됩니다." + +#: ../../intro/learning.rst:349 +msgid "`PythonistaCafe `_" +msgstr "`PythonistaCafe `_" + +#: ../../intro/learning.rst:354 +msgid "References" +msgstr "참고 문헌" + +#: ../../intro/learning.rst:357 +msgid "Python in a Nutshell" +msgstr "Python in a Nutshell" + +#: ../../intro/learning.rst:359 +msgid "" +"Python in a Nutshell, written by Alex Martelli, covers most cross-platform " +"Python usage, from its syntax to built-in libraries to advanced topics such " +"as writing C extensions." +msgstr "" +"Alex Martelli가 쓴 Python in a Nutshell은 문법부터 내장 라이브러리, 그리고 C 확장 작성과 같은 고급 주제에" +" 이르기까지, 대부분의 크로스 플랫폼 파이썬 사용법을 다룹니다." + +#: ../../intro/learning.rst:363 +msgid "" +"`Python in a Nutshell `_" +msgstr "" +"`Python in a Nutshell `_" + +#: ../../intro/learning.rst:366 +msgid "The Python Language Reference" +msgstr "The Python Language Reference" + +#: ../../intro/learning.rst:368 +msgid "" +"This is Python's reference manual. It covers the syntax and the core " +"semantics of the language." +msgstr "이것은 파이썬의 레퍼런스 매뉴얼입니다. 언어의 문법과 핵심 의미론을 다룹니다." + +#: ../../intro/learning.rst:371 +msgid "" +"`The Python Language Reference " +"`_" +msgstr "" +"`The Python Language Reference " +"`_" + +#: ../../intro/learning.rst:374 +msgid "Python Essential Reference" +msgstr "Python Essential Reference" + +#: ../../intro/learning.rst:376 +msgid "" +"Python Essential Reference, written by David Beazley, is the definitive " +"reference guide to Python. It concisely explains both the core language and " +"the most essential parts of the standard library. It covers Python 3 and 2.6" +" versions." +msgstr "" +"David Beazley가 쓴 Python Essential Reference는 파이썬에 대한 결정판 레퍼런스 가이드입니다. 핵심 언어와" +" 표준 라이브러리에서 가장 필수적인 부분을 간결하게 설명합니다. 파이썬 3과 2.6 버전을 다룹니다." + +#: ../../intro/learning.rst:380 +msgid "`Python Essential Reference `_" +msgstr "`Python Essential Reference `_" + +#: ../../intro/learning.rst:383 +msgid "Python Pocket Reference" +msgstr "Python Pocket Reference" + +#: ../../intro/learning.rst:385 +msgid "" +"Python Pocket Reference, written by Mark Lutz, is an easy to use reference " +"to the core language, with descriptions of commonly used modules and " +"toolkits. It covers Python 3 and 2.6 versions." +msgstr "" +"Mark Lutz가 쓴 Python Pocket Reference는 핵심 언어에 대한 쉽게 사용할 수 있는 레퍼런스이며, 일반적으로 " +"사용되는 모듈과 툴킷에 대한 설명이 들어 있습니다. 파이썬 3과 2.6 버전을 다룹니다." + +#: ../../intro/learning.rst:389 +msgid "" +"`Python Pocket Reference " +"`_" +msgstr "" +"`Python Pocket Reference " +"`_" + +#: ../../intro/learning.rst:392 +msgid "Python Cookbook" +msgstr "Python Cookbook" + +#: ../../intro/learning.rst:394 +msgid "" +"Python Cookbook, written by David Beazley and Brian K. Jones, is packed with" +" practical recipes. This book covers the core Python language as well as " +"tasks common to a wide variety of application domains." +msgstr "" +"David Beazley와 Brian K. Jones가 쓴 Python Cookbook은 실용적인 레시피로 가득합니다. 이 책은 핵심 " +"파이썬 언어뿐만 아니라 다양한 응용 도메인에 공통적인 작업을 다룹니다." + +#: ../../intro/learning.rst:398 +msgid "`Python Cookbook `_" +msgstr "`Python Cookbook `_" + +#: ../../intro/learning.rst:401 +msgid "Writing Idiomatic Python" +msgstr "Writing Idiomatic Python" + +#: ../../intro/learning.rst:403 +msgid "" +"Writing Idiomatic Python, written by Jeff Knupp, contains the most common " +"and important Python idioms in a format that maximizes identification and " +"understanding. Each idiom is presented as a recommendation of a way to " +"write some commonly used piece of code, followed by an explanation of why " +"the idiom is important. It also contains two code samples for each idiom: " +"the \"Harmful\" way to write it and the \"Idiomatic\" way." +msgstr "" +"Jeff Knupp이 쓴 Writing Idiomatic Python에는 식별과 이해를 극대화하는 형식으로 가장 흔하고 중요한 파이썬 " +"이디엄이 담겨 있습니다. 각 이디엄은 자주 사용되는 코드 조각을 작성하는 권장 방식으로 제시되며, 그 이디엄이 왜 중요한지에 대한 설명이" +" 뒤따릅니다. 또한 각 이디엄에 대해 두 가지 코드 샘플, 즉 \"해로운(Harmful)\" 작성 방식과 " +"\"이디엄적(Idiomatic)\" 방식을 담고 있습니다." + +#: ../../intro/learning.rst:410 +msgid "" +"`For Python 2.7.3+ `_" +msgstr "" +"`Python 2.7.3+ 용 `_" + +#: ../../intro/learning.rst:412 +msgid "" +"`For Python 3.3+ `_" +msgstr "" +"`Python 3.3+ 용 `_" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "`Python for You and Me `_" +#~ msgstr "" + +#~ msgid "" +#~ "thepythonguru.com is a tutorial focuses on beginner programmers. It covers " +#~ "many python concepts in depth. It also teaches you some advance constructs " +#~ "of python like lambda expression, regular expression. At last it finishes " +#~ "off with tutorial \"How to access MySQL db using python\"" +#~ msgstr "" + +#~ msgid "`Python for beginners `_" +#~ msgstr "" + +#~ msgid "" +#~ "Learnpython.org is an easy non-intimidating way to get introduced to Python." +#~ " The website takes the same approach used on the popular `Try Ruby " +#~ "`_ website, it has an interactive Python interpreter " +#~ "built into the site that allows you to go through the lessons without having" +#~ " to install Python locally." +#~ msgstr "" + +#~ msgid "" +#~ "Online Python Tutor gives you a visual step by step representation of how " +#~ "your program runs. Python Tutor helps people overcome a fundamental barrier " +#~ "to learning programming by understanding what happens as the computer " +#~ "executes each line of a program's source code." +#~ msgstr "" + +#~ msgid "`Learn Python the Hard Way `_" +#~ msgstr "" + +#~ msgid "`Crash into Python `_" +#~ msgstr "" + +#~ msgid "`Dive Into Python 3 `_" +#~ msgstr "" + +#~ msgid "" +#~ "Think Python attempts to give an introduction to basic concepts in computer " +#~ "science through the use of the Python language. The focus was to create a " +#~ "book with plenty of exercises, minimal jargon and a section in each chapter " +#~ "devoted to the subject of debugging." +#~ msgstr "" + +#~ msgid "" +#~ "The book also includes several case studies which have the reader explore " +#~ "the topics discussed in the book in greater detail by applying those topics " +#~ "to real-world examples. Case studies include assignments in GUI and Markov " +#~ "Analysis." +#~ msgstr "" + +#~ msgid "" +#~ "Python Koans is a port of Edgecase's Ruby Koans. It uses a test-driven " +#~ "approach, q.v. TEST DRIVEN DESIGN SECTION to provide an interactive tutorial" +#~ " teaching basic Python concepts. By fixing assertion statements that fail " +#~ "in a test script, this provides sequential steps to learning Python." +#~ msgstr "" + +#~ msgid "`Python Koans `_" +#~ msgstr "" + +#~ msgid "" +#~ "`Test Driven Development `_" +#~ msgstr "" + +#~ msgid "" +#~ "`A Byte of Python for Python 2.x " +#~ "`_ `A Byte of Python " +#~ "for Python 3.x `_" +#~ msgstr "" + +#~ msgid "Learn to Program in Python with Codeacademy" +#~ msgstr "" + +#~ msgid "" +#~ "A Codeacademy course for the absolute Python beginner. This free and " +#~ "interactive course provides and teaches the basics (and beyond) of Python " +#~ "programming whilst testing the user's knowledge in between progress. This " +#~ "course also features a built-in interpreter for receiving instant feedback " +#~ "on your learning." +#~ msgstr "" + +#~ msgid "" +#~ "`Learn to Program in Python with Codeacademy " +#~ "`_" +#~ msgstr "" + +#~ msgid "" +#~ "This book contains 59 specific ways to improve writing Pythonic code. At 227" +#~ " pages, it is a very brief overview of some of the most commons adapations " +#~ "programmers need to make to become efficient intermediate level Python " +#~ "programmers." +#~ msgstr "" + +#~ msgid "`Effective Python `_" +#~ msgstr "" + +#~ msgid "`Pro Python `_" +#~ msgstr "" + +#~ msgid "" +#~ "It starts with topics like decorators (with caching, proxy, and context " +#~ "manager case-studies), method resolution order, using super() and meta-" +#~ "programming, and general :pep:`8` best practices." +#~ msgstr "" + +#~ msgid "" +#~ "It has a detailed, multi-chapter case study on writing and releasing a " +#~ "package and eventually an application, including a chapter on using " +#~ "zc.buildout. Later chapters detail best practices such as writing " +#~ "documentation, test-driven development, version control, optimization and " +#~ "profiling." +#~ msgstr "" + +#~ msgid "" +#~ "`Expert Python Programming `_" +#~ msgstr "" + +#~ msgid "" +#~ "`A Primer on Scientific Programming with Python " +#~ "`_" +#~ msgstr "" + +#~ msgid "" +#~ "`Numerical Methods in Engineering with Python " +#~ "`_" +#~ msgstr "" + +#~ msgid "Miscellaneous topics" +#~ msgstr "" + +#~ msgid "" +#~ "Transforming Code into Beautiful, Idiomatic Python is a video by Raymond " +#~ "Hettinger. Learn to take better advantage of Python's best features and " +#~ "improve existing code through a series of code transformations, \"When you " +#~ "see this, do that instead.\"" +#~ msgstr "" + +#~ msgid "" +#~ "From setting up the webserver, to designing the front-end, choosing a " +#~ "database, optimizing/scaling, etc." +#~ msgstr "" + +#~ msgid "" +#~ "Python in a Nutshell, written by Alex Martelli, covers most cross-platform " +#~ "Python's usage, from its syntax to built-in libraries to advanced topics " +#~ "such as writing C extensions." +#~ msgstr "" + +#~ msgid "" +#~ "This is Python's reference manual, it covers the syntax and the core " +#~ "semantics of the language." +#~ msgstr "" + +#~ msgid "" +#~ "Python Cookbook, written by David Beazley and Brian K. Jones, is packed with" +#~ " practical recipes. This book covers the core python language as well as " +#~ "tasks common to a wide variety of application domains." +#~ msgstr "" + +#~ msgid "" +#~ "\"Writing Idiomatic Python\", written by Jeff Knupp, contains the most " +#~ "common and important Python idioms in a format that maximizes identification" +#~ " and understanding. Each idiom is presented as a recommendation of a way to" +#~ " write some commonly used piece of code, followed by an explanation of why " +#~ "the idiom is important. It also contains two code samples for each idiom: " +#~ "the \"Harmful\" way to write it and the \"Idiomatic\" way." +#~ msgstr "" + +#~ msgid "" +#~ "`For Python 2.7.3+ `_" +#~ msgstr "" + +#~ msgid "" +#~ "`For Python 3.3+ `_" +#~ msgstr "" + +#~ msgid "" +#~ "`Expert Python Programming `_" +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/intro/news.mo b/docs/locale/ko/LC_MESSAGES/intro/news.mo new file mode 100644 index 00000000..e3ab701d Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/intro/news.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/intro/news.po b/docs/locale/ko/LC_MESSAGES/intro/news.po new file mode 100644 index 00000000..e07cb776 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/intro/news.po @@ -0,0 +1,208 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../intro/news.rst:5 +msgid "News" +msgstr "뉴스" + +#: ../../intro/news.rst:12 +msgid "PyCoder’s Weekly" +msgstr "PyCoder’s Weekly" + +#: ../../intro/news.rst:14 +msgid "" +"PyCoder’s Weekly is a free weekly Python newsletter for Python developers by" +" Python developers (Projects, Articles, News, and Jobs)." +msgstr "" +"PyCoder’s Weekly는 파이썬 개발자가 파이썬 개발자를 위해 만드는 무료 주간 파이썬 뉴스레터입니다(프로젝트, 글, 뉴스, " +"채용)." + +#: ../../intro/news.rst:17 +msgid "`PyCoder’s Weekly `_" +msgstr "`PyCoder’s Weekly `_" + +#: ../../intro/news.rst:22 +msgid "Real Python" +msgstr "Real Python" + +#: ../../intro/news.rst:24 +msgid "" +"At Real Python you can learn all things Python from the ground up, with " +"weekly free and in-depth tutorials. Everything from the absolute basics of " +"Python, to web development and web scraping, to data visualization, and " +"beyond." +msgstr "" +"Real Python에서는 매주 무료로 제공되는 깊이 있는 튜토리얼을 통해 파이썬의 모든 것을 처음부터 배울 수 있습니다. 파이썬의 가장" +" 기초적인 부분부터 웹 개발, 웹 스크래핑, 데이터 시각화 등 그 이상까지 다룹니다." + +#: ../../intro/news.rst:26 +msgid "`Real Python `_" +msgstr "`Real Python `_" + +#: ../../intro/news.rst:31 +msgid "Planet Python" +msgstr "Planet Python" + +#: ../../intro/news.rst:33 +msgid "" +"This is an aggregate of Python news from a growing number of developers." +msgstr "점점 늘어나는 개발자들로부터 모은 파이썬 뉴스 모음입니다." + +#: ../../intro/news.rst:35 +msgid "`Planet Python `_" +msgstr "`Planet Python `_" + +#: ../../intro/news.rst:40 +msgid "/r/python" +msgstr "/r/python" + +#: ../../intro/news.rst:42 +msgid "" +"/r/python is the Reddit Python community where users contribute and vote on " +"Python-related news." +msgstr "/r/python은 사용자가 파이썬 관련 뉴스에 기여하고 투표하는 Reddit 파이썬 커뮤니티입니다." + +#: ../../intro/news.rst:45 +msgid "`/r/python `_" +msgstr "`/r/python `_" + +#: ../../intro/news.rst:50 +msgid "Talk Python Podcast" +msgstr "Talk Python Podcast" + +#: ../../intro/news.rst:52 +msgid "The #1 Python-focused podcast covering the people and ideas in Python." +msgstr "파이썬의 인물과 아이디어를 다루는 1위 파이썬 중심 팟캐스트입니다." + +#: ../../intro/news.rst:54 +msgid "`Talk Python To Me `_" +msgstr "`Talk Python To Me `_" + +#: ../../intro/news.rst:59 +msgid "Python Bytes Podcast" +msgstr "Python Bytes Podcast" + +#: ../../intro/news.rst:61 +msgid "A short-form Python podcast covering recent developer headlines." +msgstr "최근 개발자 헤드라인을 다루는 짧은 형식의 파이썬 팟캐스트입니다." + +#: ../../intro/news.rst:63 +msgid "`Python Bytes `_" +msgstr "`Python Bytes `_" + +#: ../../intro/news.rst:68 +msgid "Python Weekly" +msgstr "Python Weekly" + +#: ../../intro/news.rst:70 +msgid "" +"Python Weekly is a free weekly newsletter featuring curated news, articles, " +"new releases, jobs, etc. related to Python." +msgstr "Python Weekly는 파이썬 관련 뉴스, 글, 새 릴리즈, 채용 등을 큐레이션해서 제공하는 무료 주간 뉴스레터입니다." + +#: ../../intro/news.rst:73 +msgid "`Python Weekly `_" +msgstr "`Python Weekly `_" + +#: ../../intro/news.rst:78 +msgid "Python News" +msgstr "Python News" + +#: ../../intro/news.rst:80 +msgid "" +"Python News is the news section in the official Python web site " +"(www.python.org). It briefly highlights the news from the Python community." +msgstr "" +"Python News는 파이썬 공식 웹사이트(www.python.org)의 뉴스 섹션입니다. 파이썬 커뮤니티의 뉴스를 간략히 소개합니다." + +#: ../../intro/news.rst:83 +msgid "`Python News `_" +msgstr "`Python News `_" + +#: ../../intro/news.rst:88 +msgid "Import Python Weekly" +msgstr "Import Python Weekly" + +#: ../../intro/news.rst:90 +msgid "" +"Weekly Python Newsletter containing Python Articles, Projects, Videos, and " +"Tweets delivered in your inbox. Keep Your Python Programming Skills " +"Updated." +msgstr "" +"파이썬 글, 프로젝트, 동영상, 트윗을 받은편지함으로 배송해주는 주간 파이썬 뉴스레터입니다. 파이썬 프로그래밍 실력을 최신 상태로 " +"유지하세요." + +#: ../../intro/news.rst:93 +msgid "" +"`Import Python Weekly Newsletter `_" +msgstr "" +"`Import Python Weekly Newsletter `_" + +#: ../../intro/news.rst:98 +msgid "Awesome Python Newsletter" +msgstr "Awesome Python Newsletter" + +#: ../../intro/news.rst:100 +msgid "" +"A weekly overview of the most popular Python news, articles, and packages." +msgstr "가장 인기 있는 파이썬 뉴스, 글, 패키지를 주간으로 정리해서 보여줍니다." + +#: ../../intro/news.rst:102 +msgid "`Awesome Python Newsletter `_" +msgstr "`Awesome Python Newsletter `_" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "`Planet Python `_" +#~ msgstr "" + +#~ msgid "`/r/python `_" +#~ msgstr "" + +#~ msgid "Pycoder's Weekly" +#~ msgstr "" + +#~ msgid "" +#~ "Pycoder's Weekly is a free weekly Python newsletter for Python developers by" +#~ " Python developers (Projects, Articles, News, and Jobs)." +#~ msgstr "" + +#~ msgid "`Pycoder's Weekly `_" +#~ msgstr "" + +#~ msgid "`Python Weekly `_" +#~ msgstr "" + +#~ msgid "`Python News `_" +#~ msgstr "" + +#~ msgid "" +#~ "Weekly Python Newsletter containing Python Articles, Projects, Videos, " +#~ "Tweets delivered in your inbox. Keep Your Python Programming Skills " +#~ "Updated." +#~ msgstr "" + +#~ msgid "" +#~ "A weekly overview of the most popular Python news, articles and packages." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/notes/contribute.mo b/docs/locale/ko/LC_MESSAGES/notes/contribute.mo new file mode 100644 index 00000000..e1771a98 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/notes/contribute.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/notes/contribute.po b/docs/locale/ko/LC_MESSAGES/notes/contribute.po new file mode 100644 index 00000000..e4a8dd55 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/notes/contribute.po @@ -0,0 +1,55 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-11-30 22:28\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../notes/contribute.rst:2 +msgid "Contribute" +msgstr "기여하기" + +#: ../../notes/contribute.rst:4 +msgid "" +"Python-guide is under active development, and contributors are welcome." +msgstr "Python-guide는 활발히 개발 중이며, 기여자를 환영합니다." + +#: ../../notes/contribute.rst:6 +msgid "" +"If you have a feature request, suggestion, or bug report, please open a new " +"issue on GitHub_. To submit patches, please send a pull request on GitHub_. " +"Once your changes get merged back in, you'll automatically be added to the " +"`Contributors List `_." +msgstr "" +"기능 요청, 제안, 또는 버그 리포트가 있다면 GitHub_ 에 새 이슈를 열어주세요. 패치를 제출하려면 GitHub_ 에 풀 리퀘스트를" +" 보내주세요. 여러분의 변경 사항이 머지되고 나면 자동으로 `기여자 목록 " +"`_ 에 추가됩니다." + +#: ../../notes/contribute.rst:12 +msgid "Style Guide" +msgstr "스타일 안내서" + +#: ../../notes/contribute.rst:14 +msgid "For all contributions, please follow the :ref:`guide-style-guide`." +msgstr "모든 기여는 :ref:`guide-style-guide` 를 따라주세요." + +#: ../../notes/contribute.rst:19 +msgid "Todo List" +msgstr "할 일 목록" + +#: ../../notes/contribute.rst:21 +msgid "" +"If you'd like to contribute, there's plenty to do. Here's a short todo_ " +"list." +msgstr "기여하고 싶다면 할 일이 많이 있습니다. 짧은 todo_ 목록은 다음과 같습니다." + +#: ../../../TODO.rst:1 +msgid "Establish \"use this\" vs \"alternatives are....\" recommendations" +msgstr "\"이것을 사용하세요\" vs \"대안은...\" 권장 사항 정립" diff --git a/docs/locale/ko/LC_MESSAGES/notes/license.mo b/docs/locale/ko/LC_MESSAGES/notes/license.mo new file mode 100644 index 00000000..4ffca334 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/notes/license.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/notes/license.po b/docs/locale/ko/LC_MESSAGES/notes/license.po new file mode 100644 index 00000000..207e9c47 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/notes/license.po @@ -0,0 +1,26 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-11-30 22:28\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../notes/license.rst:3 +msgid "License" +msgstr "라이선스" + +#: ../../notes/license.rst:5 +msgid "" +"The Guide is licensed under the `Creative Commons Attribution-NonCommercial-" +"ShareAlike 3.0 Unported license `_." +msgstr "" +"이 안내서는 `크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 3.0 Unported 라이선스 " +"`_ 에 따라 이용할 수 " +"있습니다." diff --git a/docs/locale/ko/LC_MESSAGES/notes/styleguide.mo b/docs/locale/ko/LC_MESSAGES/notes/styleguide.mo new file mode 100644 index 00000000..8cb655a2 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/notes/styleguide.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/notes/styleguide.po b/docs/locale/ko/LC_MESSAGES/notes/styleguide.po new file mode 100644 index 00000000..0c729c4a --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/notes/styleguide.po @@ -0,0 +1,301 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../notes/styleguide.rst:5 +msgid "The Guide Style Guide" +msgstr "안내서 스타일 안내" + +#: ../../notes/styleguide.rst:9 +msgid "" +"As with all documentation, having a consistent format helps make the " +"document more understandable. In order to make The Guide easier to digest, " +"all contributions should fit within the rules of this style guide where " +"appropriate." +msgstr "" +"모든 문서가 그렇듯, 일관된 포맷을 갖추면 문서를 더 이해하기 쉬워집니다. 이 안내서를 더 잘 소화할 수 있도록, 모든 기여는 적절한 " +"부분에서 이 스타일 안내의 규칙을 따라야 합니다." + +#: ../../notes/styleguide.rst:14 +msgid "The Guide is written as :ref:`restructuredtext-ref`." +msgstr "이 안내서는 :ref:`restructuredtext-ref` 로 작성되어 있습니다." + +#: ../../notes/styleguide.rst:16 +msgid "" +"Parts of The Guide may not yet match this style guide. Feel free to update " +"those parts to be in sync with The Guide Style Guide" +msgstr "" +"안내서의 일부는 아직 이 스타일 안내와 일치하지 않을 수 있습니다. 그러한 부분을 안내서 스타일 안내에 맞게 자유롭게 갱신해 주세요." + +#: ../../notes/styleguide.rst:19 +msgid "" +"On any page of the rendered HTML you can click \"Show Source\" to see how " +"authors have styled the page." +msgstr "" +"렌더링된 HTML의 어떤 페이지에서든 \"Show Source\"를 클릭하면 저자들이 페이지를 어떻게 스타일링했는지 볼 수 있습니다." + +#: ../../notes/styleguide.rst:25 +msgid "Relevancy" +msgstr "관련성" + +#: ../../notes/styleguide.rst:27 +msgid "" +"Strive to keep any contributions relevant to the :ref:`purpose of The Guide " +"`." +msgstr "모든 기여가 :ref:`안내서의 목적 ` 과 관련성을 유지하도록 노력하세요." + +#: ../../notes/styleguide.rst:30 +msgid "" +"Avoid including too much information on subjects that don't directly relate " +"to Python development." +msgstr "파이썬 개발과 직접 관련이 없는 주제에 대한 정보를 지나치게 많이 포함하지 마세요." + +#: ../../notes/styleguide.rst:32 +msgid "" +"Prefer to link to other sources if the information is already out there. Be " +"sure to describe what and why you are linking." +msgstr "정보가 이미 다른 곳에 있다면 다른 출처로 링크하는 편을 선호하세요. 무엇을, 왜 링크하는지 반드시 설명하세요." + +#: ../../notes/styleguide.rst:34 +msgid "" +"`Cite `_ references" +" where needed." +msgstr "" +"필요할 때 참조를 `인용 `_ 하세요." + +#: ../../notes/styleguide.rst:36 +msgid "" +"If a subject isn't directly relevant to Python, but useful in conjunction " +"with Python (e.g., Git, GitHub, Databases), reference by linking to useful " +"resources, and describe why it's useful to Python." +msgstr "" +"주제가 파이썬과 직접 관련은 없지만 파이썬과 함께 쓰일 때 유용한 경우(예: Git, GitHub, 데이터베이스), 유용한 리소스로 " +"링크하여 참조하고, 그것이 파이썬에 왜 유용한지 설명하세요." + +#: ../../notes/styleguide.rst:39 +msgid "When in doubt, ask." +msgstr "확신이 없다면 물어보세요." + +#: ../../notes/styleguide.rst:44 +msgid "Headings" +msgstr "헤딩" + +#: ../../notes/styleguide.rst:46 +msgid "Use the following styles for headings." +msgstr "헤딩에는 다음 스타일을 사용하세요." + +#: ../../notes/styleguide.rst:48 +msgid "Chapter title:" +msgstr "장(chapter) 제목:" + +#: ../../notes/styleguide.rst:56 +msgid "Page title:" +msgstr "페이지 제목:" + +#: ../../notes/styleguide.rst:64 +msgid "Section headings:" +msgstr "섹션 헤딩:" + +#: ../../notes/styleguide.rst:71 +msgid "Sub section headings:" +msgstr "서브 섹션 헤딩:" + +#: ../../notes/styleguide.rst:81 +msgid "Prose" +msgstr "산문" + +#: ../../notes/styleguide.rst:83 +msgid "" +"Wrap text lines at 78 characters. Where necessary, lines may exceed 78 " +"characters, especially if wrapping would make the source text more difficult" +" to read." +msgstr "" +"텍스트 줄은 78자에서 줄바꿈하세요. 필요한 경우, 특히 줄바꿈하면 소스 텍스트가 더 읽기 어려워지는 경우에는 78자를 초과할 수도 " +"있습니다." + +#: ../../notes/styleguide.rst:87 +msgid "Use Standard American English, not British English." +msgstr "영국식이 아닌 표준 미국식 영어를 사용하세요." + +#: ../../notes/styleguide.rst:89 +msgid "" +"Use of the `serial comma `_ " +"(also known as the Oxford comma) is 100% non-optional. Any attempt to submit" +" content with a missing serial comma will result in permanent banishment " +"from this project, due to complete and total lack of taste." +msgstr "" +"`연속 콤마(serial comma) `_ (옥스포드 " +"콤마라고도 함)의 사용은 100% 필수입니다. 연속 콤마가 누락된 내용을 제출하려는 어떠한 시도라도, 완전하고 전적인 안목 부재를 이유로" +" 이 프로젝트에서 영구 추방됩니다." + +#: ../../notes/styleguide.rst:94 +msgid "Banishment? Is this a joke? Hopefully we will never have to find out." +msgstr "추방이라고요? 농담인가요? 부디 우리가 그것을 확인하게 되는 일은 없기를 바랍니다." + +#: ../../notes/styleguide.rst:99 +msgid "Code Examples" +msgstr "코드 예시" + +#: ../../notes/styleguide.rst:101 +msgid "" +"Wrap all code examples at 70 characters to avoid horizontal scrollbars." +msgstr "수평 스크롤바를 피하기 위해 모든 코드 예시는 70자에서 줄바꿈하세요." + +#: ../../notes/styleguide.rst:103 +msgid "Command line examples:" +msgstr "커맨드라인 예시:" + +#: ../../notes/styleguide.rst:112 +msgid "" +"Be sure to include the ``$`` prefix before each line for Unix console " +"examples." +msgstr "Unix 콘솔 예시의 경우 각 줄 앞에 반드시 ``$`` 접두사를 포함하세요." + +#: ../../notes/styleguide.rst:114 +msgid "" +"For Windows console examples, use ``doscon`` or ``powershell`` instead of " +"``console``, and omit the ``$`` prefix." +msgstr "" +"Windows 콘솔 예시의 경우, ``console`` 대신 ``doscon`` 이나 ``powershell`` 을 사용하고, ``$``" +" 접두사는 생략하세요." + +#: ../../notes/styleguide.rst:117 +msgid "Python interpreter examples:" +msgstr "파이썬 인터프리터 예시:" + +#: ../../notes/styleguide.rst:127 +msgid "Python examples:" +msgstr "파이썬 예시:" + +#: ../../notes/styleguide.rst:141 +msgid "Externally Linking" +msgstr "외부 링크" + +#: ../../notes/styleguide.rst:143 +msgid "" +"Prefer labels for well known subjects (e.g. proper nouns) when linking:" +msgstr "잘 알려진 주제(예: 고유명사)를 링크할 때는 라벨을 선호하세요:" + +#: ../../notes/styleguide.rst:151 +msgid "" +"Prefer to use descriptive labels with inline links instead of leaving bare " +"links:" +msgstr "맨 링크(bare link)를 그대로 두는 대신, 인라인 링크와 설명이 들어간 라벨을 함께 사용하는 편을 선호하세요:" + +#: ../../notes/styleguide.rst:158 +msgid "" +"Avoid using labels such as \"click here\", \"this\", etc., preferring " +"descriptive labels (SEO worthy) instead." +msgstr "\"여기 클릭\", \"이것\" 같은 라벨은 피하고, 설명이 잘 들어간(SEO에 좋은) 라벨을 사용하는 편을 선호하세요." + +#: ../../notes/styleguide.rst:164 +msgid "Linking to Sections in The Guide" +msgstr "안내서 내의 섹션 링크하기" + +#: ../../notes/styleguide.rst:166 +msgid "" +"To cross-reference other parts of this documentation, use the `:ref: " +"`_ keyword and " +"labels." +msgstr "" +"이 문서의 다른 부분을 상호 참조하려면, `:ref: `_ 키워드와 라벨을 " +"사용하세요." + +#: ../../notes/styleguide.rst:170 +msgid "" +"To make reference labels more clear and unique, always add a ``-ref`` " +"suffix:" +msgstr "참조 라벨을 더 명확하고 고유하게 만들기 위해, 항상 ``-ref`` 접미사를 붙이세요:" + +#: ../../notes/styleguide.rst:182 +msgid "Notes and Warnings" +msgstr "노트와 경고" + +#: ../../notes/styleguide.rst:184 +msgid "" +"Make use of the appropriate `admonitions directives `_ when " +"making notes." +msgstr "" +"메모를 작성할 때는 적절한 `admonitions 디렉티브 `_ 를 활용하세요." + +#: ../../notes/styleguide.rst:187 +msgid "Notes:" +msgstr "노트:" + +#: ../../notes/styleguide.rst:196 +msgid "Warnings:" +msgstr "경고:" + +#: ../../notes/styleguide.rst:205 +msgid "TODOs" +msgstr "할 일(TODO)" + +#: ../../notes/styleguide.rst:207 +msgid "" +"Please mark any incomplete areas of The Guide with a `todo directive " +"`_. To " +"avoid cluttering the :ref:`todo-list-ref`, use a single ``todo`` for stub " +"documents or large incomplete sections." +msgstr "" +"안내서의 미완성 부분은 `todo 디렉티브 `_ 로 표시해 주세요. :ref:`todo-list-" +"ref` 가 어수선해지는 것을 피하기 위해, 스텁 문서나 큰 미완성 섹션에는 ``todo`` 를 하나만 사용하세요." + +#~ msgid "" +#~ "`Cite `_ " +#~ "references where needed." +#~ msgstr "" + +#~ msgid "Be sure to include the ``$`` prefix before each line." +#~ msgstr "" + +#~ msgid "Prefer labels for well known subjects (ex: proper nouns) when linking:" +#~ msgstr "" + +#~ msgid "" +#~ "Avoid using labels such as \"click here\", \"this\", etc. preferring " +#~ "descriptive labels (SEO worthy) instead." +#~ msgstr "" + +#~ msgid "" +#~ "To cross-reference other parts of this documentation, use the `:ref: " +#~ "`_ keyword and labels." +#~ msgstr "" + +#~ msgid "" +#~ "Make use of the appropriate `admonitions directives " +#~ "`_ when making notes." +#~ msgstr "" + +#~ msgid "" +#~ "Please mark any incomplete areas of The Guide with a `todo directive " +#~ "`_. To " +#~ "avoid cluttering the :ref:`todo-list-ref`, use a single ``todo`` for stub " +#~ "documents or large incomplete sections." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/admin.mo b/docs/locale/ko/LC_MESSAGES/scenarios/admin.mo new file mode 100644 index 00000000..2251c26c Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/admin.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/admin.po b/docs/locale/ko/LC_MESSAGES/scenarios/admin.po new file mode 100644 index 00000000..0a05d861 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/admin.po @@ -0,0 +1,557 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../scenarios/admin.rst:4 +msgid "Systems Administration" +msgstr "시스템 관리" + +#: ../../scenarios/admin.rst:11 +msgid "Fabric" +msgstr "Fabric" + +#: ../../scenarios/admin.rst:13 +msgid "" +"`Fabric `_ is a library for simplifying system " +"administration tasks. While Chef and Puppet tend to focus on managing " +"servers and system libraries, Fabric is more focused on application level " +"tasks such as deployment." +msgstr "" +"`Fabric `_ 는 시스템 관리 작업을 단순화하기 위한 라이브러리입니다. Chef와 " +"Puppet이 서버와 시스템 라이브러리 관리에 초점을 맞추는 경향이 있는 반면, Fabric은 배포와 같은 응용 수준의 작업에 더 초점을" +" 맞춥니다." + +#: ../../scenarios/admin.rst:18 +msgid "Install Fabric:" +msgstr "Fabric 설치:" + +#: ../../scenarios/admin.rst:24 +msgid "" +"The following code will create two tasks that we can use: ``memory_usage`` " +"and ``deploy``. The former will output the memory usage on each machine. The" +" latter will SSH into each server, cd to our project directory, activate the" +" virtual environment, pull the newest codebase, and restart the application " +"server." +msgstr "" +"다음 코드는 우리가 사용할 두 가지 태스크, 즉 ``memory_usage`` 와 ``deploy`` 를 만듭니다. 전자는 각 머신의 " +"메모리 사용량을 출력합니다. 후자는 각 서버에 SSH로 접속하여 프로젝트 디렉토리로 이동한 다음, 가상 환경을 활성화하고, 최신 " +"코드베이스를 가져오고, 응용 서버를 재시작합니다." + +#: ../../scenarios/admin.rst:47 +msgid "" +"With the previous code saved in a file named :file:`fabfile.py`, we can " +"check memory usage with:" +msgstr "위 코드를 :file:`fabfile.py` 라는 이름의 파일에 저장하면, 다음과 같이 메모리 사용량을 확인할 수 있습니다:" + +#: ../../scenarios/admin.rst:67 +msgid "and we can deploy with:" +msgstr "그리고 다음과 같이 배포할 수 있습니다:" + +#: ../../scenarios/admin.rst:73 +msgid "" +"Additional features include parallel execution, interaction with remote " +"programs, and host grouping." +msgstr "추가 기능으로 병렬 실행, 원격 프로그램과의 상호작용, 호스트 그룹화가 있습니다." + +#: ../../scenarios/admin.rst:76 +msgid "`Fabric Documentation `_" +msgstr "`Fabric 문서 `_" + +#: ../../scenarios/admin.rst:81 +msgid "Salt" +msgstr "Salt" + +#: ../../scenarios/admin.rst:83 +msgid "" +"`Salt `_ is an open source infrastructure management " +"tool. It supports remote command execution from a central point (master " +"host) to multiple hosts (minions). It also supports system states which can " +"be used to configure multiple servers using simple template files." +msgstr "" +"`Salt `_ 는 오픈 소스 인프라 관리 도구입니다. 중앙 지점(마스터 호스트)에서 여러 " +"호스트(미니언)로의 원격 명령 실행을 지원합니다. 또한 간단한 템플릿 파일로 여러 서버를 설정하는 데 사용할 수 있는 시스템 " +"상태(state)도 지원합니다." + +#: ../../scenarios/admin.rst:88 +msgid "" +"Salt supports Python versions 2.6 and 2.7 and can be installed via pip:" +msgstr "Salt는 파이썬 2.6과 2.7 버전을 지원하며 pip으로 설치할 수 있습니다:" + +#: ../../scenarios/admin.rst:94 +msgid "" +"After configuring a master server and any number of minion hosts, we can run" +" arbitrary shell commands or use pre-built modules of complex commands on " +"our minions." +msgstr "" +"마스터 서버와 임의의 개수의 미니언 호스트를 설정한 후에는, 미니언에 대해 임의의 쉘 명령어를 실행하거나, 복잡한 명령어로 미리 만들어진" +" 모듈을 사용할 수 있습니다." + +#: ../../scenarios/admin.rst:98 +msgid "" +"The following command lists all available minion hosts, using the ping " +"module." +msgstr "다음 명령어는 ping 모듈을 사용해 사용 가능한 모든 미니언 호스트를 나열합니다." + +#: ../../scenarios/admin.rst:104 +msgid "" +"The host filtering is accomplished by matching the minion id or using the " +"grains system. The `grains " +"`_ system " +"uses static host information like the operating system version or the CPU " +"architecture to provide a host taxonomy for the Salt modules." +msgstr "" +"호스트 필터링은 미니언 ID를 매칭하거나 grains 시스템을 사용하여 이루어집니다. `grains " +"`_ 시스템은 " +"운영체제 버전이나 CPU 아키텍처 같은 정적인 호스트 정보를 사용하여 Salt 모듈을 위한 호스트 분류 체계를 제공합니다." + +#: ../../scenarios/admin.rst:110 +msgid "" +"The following command lists all available minions running CentOS using the " +"grains system:" +msgstr "다음 명령어는 grains 시스템을 사용하여 CentOS에서 실행 중인 사용 가능한 모든 미니언을 나열합니다:" + +#: ../../scenarios/admin.rst:117 +msgid "" +"Salt also provides a state system. States can be used to configure the " +"minion hosts." +msgstr "Salt는 상태(state) 시스템도 제공합니다. 상태는 미니언 호스트를 설정하는 데 사용할 수 있습니다." + +#: ../../scenarios/admin.rst:120 +msgid "" +"For example, when a minion host is ordered to read the following state file," +" it will install and start the Apache server:" +msgstr "예를 들어, 미니언 호스트가 다음 상태 파일을 읽도록 지시받으면, Apache 서버를 설치하고 시작합니다:" + +#: ../../scenarios/admin.rst:134 +msgid "" +"State files can be written using YAML, the Jinja2 template system, or pure " +"Python." +msgstr "상태 파일은 YAML, Jinja2 템플릿 시스템, 또는 순수 파이썬으로 작성할 수 있습니다." + +#: ../../scenarios/admin.rst:136 +msgid "`Salt Documentation `_" +msgstr "`Salt 문서 `_" + +#: ../../scenarios/admin.rst:141 +msgid "Psutil" +msgstr "Psutil" + +#: ../../scenarios/admin.rst:143 +msgid "" +"`Psutil `_ is an interface to " +"different system information (e.g. CPU, memory, disks, network, users, and " +"processes)." +msgstr "" +"`Psutil `_ 는 다양한 시스템 정보(예: CPU, 메모리, " +"디스크, 네트워크, 사용자, 프로세스)에 대한 인터페이스입니다." + +#: ../../scenarios/admin.rst:146 +msgid "" +"Here is an example to be aware of some server overload. If any of the tests " +"(net, CPU) fail, it will send an email." +msgstr "다음은 서버 과부하를 감지하기 위한 예시입니다. 검사(net, CPU) 중 하나라도 실패하면 이메일을 보냅니다." + +#: ../../scenarios/admin.rst:193 +msgid "" +"A full terminal application like a widely extended top is `Glance " +"`_, which is based on psutil and has " +"the ability for client-server monitoring." +msgstr "" +"광범위하게 확장된 top과 같은 완전한 터미널 응용으로는 `Glance " +"`_ 가 있으며, psutil을 기반으로 하고 클라이언트-서버 " +"모니터링 기능을 갖추고 있습니다." + +#: ../../scenarios/admin.rst:197 +msgid "Ansible" +msgstr "Ansible" + +#: ../../scenarios/admin.rst:199 +msgid "" +"`Ansible `_ is an open source system automation tool. " +"Its biggest advantage over Puppet or Chef is that it does not require an " +"agent on the client machine. Playbooks are Ansible’s configuration, " +"deployment, and orchestration language and are written in YAML with Jinja2 " +"for templating." +msgstr "" +"`Ansible `_ 는 오픈 소스 시스템 자동화 도구입니다. Puppet이나 Chef에 비해 가장" +" 큰 장점은 클라이언트 머신에 에이전트가 필요 없다는 점입니다. 플레이북(Playbook)은 Ansible의 설정, 배포, 오케스트레이션" +" 언어로, 템플릿팅을 위한 Jinja2와 함께 YAML로 작성됩니다." + +#: ../../scenarios/admin.rst:204 +msgid "" +"Ansible supports Python versions 2.6 and 2.7 and can be installed via pip:" +msgstr "Ansible은 파이썬 2.6과 2.7 버전을 지원하며 pip으로 설치할 수 있습니다:" + +#: ../../scenarios/admin.rst:210 +msgid "" +"Ansible requires an inventory file that describes the hosts to which it has " +"access. Below is an example of a host and playbook that will ping all the " +"hosts in the inventory file." +msgstr "" +"Ansible은 접근할 호스트들을 기술한 인벤토리 파일이 필요합니다. 아래는 인벤토리 파일의 모든 호스트에 ping을 보내는 호스트와 " +"플레이북의 예시입니다." + +#: ../../scenarios/admin.rst:214 +msgid "Here is an example inventory file: :file:`hosts.yml`" +msgstr "다음은 인벤토리 파일 예시입니다: :file:`hosts.yml`" + +#: ../../scenarios/admin.rst:222 +msgid "Here is an example playbook: :file:`ping.yml`" +msgstr "다음은 플레이북 예시입니다: :file:`ping.yml`" + +#: ../../scenarios/admin.rst:234 +msgid "To run the playbook:" +msgstr "플레이북을 실행하려면:" + +#: ../../scenarios/admin.rst:240 +msgid "" +"The Ansible playbook will ping all of the servers in the :file:`hosts.yml` " +"file. You can also select groups of servers using Ansible. For more " +"information about Ansible, read the `Ansible Docs " +"`_." +msgstr "" +"Ansible 플레이북은 :file:`hosts.yml` 파일의 모든 서버에 ping을 보냅니다. Ansible로 서버 그룹을 선택할 " +"수도 있습니다. Ansible에 대한 더 많은 정보는 `Ansible 문서 `_ 를 " +"참고하세요." + +#: ../../scenarios/admin.rst:244 +msgid "" +"`An Ansible tutorial `_ " +"is also a great and detailed introduction to getting started with Ansible." +msgstr "" +"`Ansible 튜토리얼 `_ 도 " +"Ansible 입문을 위한 훌륭하고 자세한 소개입니다." + +#: ../../scenarios/admin.rst:250 +msgid "Chef" +msgstr "Chef" + +#: ../../scenarios/admin.rst:252 +msgid "" +"`Chef `_ is a systems and cloud infrastructure " +"automation framework that makes it easy to deploy servers and applications " +"to any physical, virtual, or cloud location. In case this is your choice for" +" configuration management, you will primarily use Ruby to write your " +"infrastructure code." +msgstr "" +"`Chef `_ 는 시스템 및 클라우드 인프라 자동화 프레임워크로, 어떤 물리적, 가상," +" 클라우드 위치에도 서버와 응용을 쉽게 배포할 수 있게 해줍니다. 설정 관리 도구로 Chef를 선택한다면, 인프라 코드를 주로 Ruby로" +" 작성하게 됩니다." + +#: ../../scenarios/admin.rst:257 +msgid "" +"Chef clients run on every server that is part of your infrastructure and " +"these regularly check with your Chef server to ensure your system is always " +"aligned and represents the desired state. Since each individual server has " +"its own distinct Chef client, each server configures itself and this " +"distributed approach makes Chef a scalable automation platform." +msgstr "" +"Chef 클라이언트는 인프라에 속한 모든 서버에서 실행되며, Chef 서버에 정기적으로 확인하여 시스템이 항상 일관되고 원하는 상태를 " +"나타내도록 합니다. 각 서버가 자신만의 별도의 Chef 클라이언트를 가지고 있기 때문에 각 서버가 스스로를 설정하며, 이러한 분산 접근 " +"방식 덕분에 Chef는 확장 가능한 자동화 플랫폼이 됩니다." + +#: ../../scenarios/admin.rst:262 +msgid "" +"Chef works by using custom recipes (configuration elements), implemented in " +"cookbooks. Cookbooks, which are basically packages for infrastructure " +"choices, are usually stored in your Chef server. Read the `DigitalOcean " +"tutorial series `_ on " +"Chef to learn how to create a simple Chef Server." +msgstr "" +"Chef는 쿡북(cookbook)에 구현된 사용자 정의 레시피(설정 요소)를 사용하여 동작합니다. 쿡북은 기본적으로 인프라 선택 사항을 " +"위한 패키지이며, 보통 Chef 서버에 저장됩니다. 간단한 Chef 서버를 만드는 방법을 배우려면 Chef에 대한 " +"`DigitalOcean 튜토리얼 시리즈 " +"`_ 를 읽어보세요." + +#: ../../scenarios/admin.rst:268 +msgid "" +"To create a simple cookbook the `knife `_ " +"command is used:" +msgstr "간단한 쿡북을 만들 때는 `knife `_ 명령어를 사용합니다:" + +#: ../../scenarios/admin.rst:274 +msgid "" +"`Getting started with Chef `_ is a good starting point for Chef Beginners and many " +"community maintained cookbooks that can serve as a good reference or tweaked" +" to serve your infrastructure configuration needs can be found on the `Chef " +"Supermarket `_." +msgstr "" +"`Getting started with Chef `_ 는 Chef 초보자를 위한 좋은 출발점이며, 좋은 참고가 되거나 인프라 설정 필요에 맞게 다듬어 쓸 수 " +"있는 커뮤니티가 유지하는 많은 쿡북은 `Chef Supermarket " +"`_ 에서 찾을 수 있습니다." + +#: ../../scenarios/admin.rst:279 +msgid "`Chef Documentation `_" +msgstr "`Chef 문서 `_" + +#: ../../scenarios/admin.rst:284 +msgid "Puppet" +msgstr "Puppet" + +#: ../../scenarios/admin.rst:286 +msgid "" +"`Puppet `_ is IT Automation and configuration " +"management software from Puppet Labs that allows System Administrators to " +"define the state of their IT Infrastructure, thereby providing an elegant " +"way to manage their fleet of physical and virtual machines." +msgstr "" +"`Puppet `_ 은 Puppet Labs의 IT 자동화 및 설정 관리 소프트웨어로, 시스템 " +"관리자가 IT 인프라의 상태를 정의할 수 있게 해주어 물리적 및 가상 머신 군을 우아하게 관리할 수 있는 방법을 제공합니다." + +#: ../../scenarios/admin.rst:291 +msgid "" +"Puppet is available both as an Open Source and an Enterprise variant. " +"Modules are small, shareable units of code written to automate or define the" +" state of a system. `Puppet Forge `_ is a " +"repository for modules written by the community for Open Source and " +"Enterprise Puppet." +msgstr "" +"Puppet은 오픈 소스 및 엔터프라이즈 변형으로 모두 제공됩니다. 모듈은 시스템의 상태를 자동화하거나 정의하기 위해 작성된 작고 공유 " +"가능한 코드 단위입니다. `Puppet Forge `_ 는 커뮤니티가 오픈 소스 " +"및 엔터프라이즈 Puppet을 위해 작성한 모듈의 저장소입니다." + +#: ../../scenarios/admin.rst:296 +msgid "" +"Puppet Agents are installed on nodes whose state needs to be monitored or " +"changed. A designated server known as the Puppet Master is responsible for " +"orchestrating the agent nodes." +msgstr "" +"Puppet 에이전트는 상태를 모니터링하거나 변경해야 하는 노드에 설치됩니다. Puppet 마스터로 알려진 지정된 서버가 에이전트 노드를" +" 오케스트레이션합니다." + +#: ../../scenarios/admin.rst:300 +msgid "" +"Agent nodes send basic facts about the system such as the operating system, " +"kernel, architecture, IP address, hostname, etc. to the Puppet Master. The " +"Puppet Master then compiles a catalog with information provided by the " +"agents on how each node should be configured and sends it to the agent. The " +"agent enforces the change as prescribed in the catalog and sends a report " +"back to the Puppet Master." +msgstr "" +"에이전트 노드는 운영체제, 커널, 아키텍처, IP 주소, 호스트명 등 시스템에 대한 기본 팩트(fact)를 Puppet 마스터로 " +"보냅니다. 그러면 Puppet 마스터는 에이전트가 제공한 정보를 바탕으로 각 노드가 어떻게 설정되어야 하는지에 대한 카탈로그를 컴파일하여" +" 에이전트에게 보냅니다. 에이전트는 카탈로그에 명시된 대로 변경을 적용하고 Puppet 마스터에게 보고를 보냅니다." + +#: ../../scenarios/admin.rst:307 +msgid "" +"Facter is an interesting tool that ships with Puppet that pulls basic facts " +"about the system. These facts can be referenced as a variable while writing " +"your Puppet modules." +msgstr "" +"Facter는 Puppet과 함께 제공되는 흥미로운 도구로, 시스템에 대한 기본 팩트를 가져옵니다. 이 팩트들은 Puppet 모듈을 " +"작성할 때 변수로 참조할 수 있습니다." + +#: ../../scenarios/admin.rst:320 +msgid "" +"Writing Modules in Puppet is pretty straight forward. Puppet Manifests " +"together form Puppet Modules. Puppet manifests end with an extension of " +"``.pp``. Here is an example of 'Hello World' in Puppet." +msgstr "" +"Puppet에서 모듈을 작성하는 일은 꽤 단순합니다. Puppet 매니페스트가 모여 Puppet 모듈을 이룹니다. Puppet " +"매니페스트는 ``.pp`` 확장자로 끝납니다. 다음은 Puppet으로 작성한 'Hello World' 예시입니다." + +#: ../../scenarios/admin.rst:332 +msgid "" +"Here is another example with system based logic. Note how the operating " +"system fact is being used as a variable prepended with the ``$`` sign. " +"Similarly, this holds true for other facts such as hostname which can be " +"referenced by ``$hostname``." +msgstr "" +"다음은 시스템 기반 로직을 사용한 또 다른 예시입니다. 운영체제 팩트가 ``$`` 기호가 앞에 붙은 변수로 사용되는 방식을 눈여겨보세요." +" 마찬가지로 호스트명 같은 다른 팩트도 ``$hostname`` 으로 참조할 수 있습니다." + +#: ../../scenarios/admin.rst:346 +msgid "" +"There are several resource types for Puppet but the package-file-service " +"paradigm is all you need for undertaking the majority of the configuration " +"management. The following Puppet code makes sure that the OpenSSH-Server " +"package is installed in a system and the sshd service is notified to restart" +" every time the sshd configuration file is changed." +msgstr "" +"Puppet에는 여러 가지 리소스 타입이 있지만, 설정 관리의 대부분을 수행하는 데에는 package-file-service 패러다임 " +"하나면 충분합니다. 다음 Puppet 코드는 시스템에 OpenSSH-Server 패키지가 설치되어 있는지 확인하고, sshd 설정 파일이" +" 변경될 때마다 sshd 서비스가 재시작되도록 알립니다." + +#: ../../scenarios/admin.rst:377 +msgid "" +"For more information, refer to the `Puppet Labs Documentation " +"`_" +msgstr "더 자세한 내용은 `Puppet Labs 문서 `_ 를 참고하세요." + +#: ../../scenarios/admin.rst:382 +msgid "Blueprint" +msgstr "Blueprint" + +#: ../../scenarios/admin.rst:384 +msgid "Todo" +msgstr "할 일" + +#: ../../scenarios/admin.rst:384 +msgid "Write about Blueprint" +msgstr "Blueprint에 대해 작성하기" + +#: ../../scenarios/admin.rst:389 +msgid "Buildout" +msgstr "Buildout" + +#: ../../scenarios/admin.rst:391 +msgid "" +"`Buildout `_ is an open source software build tool." +" Buildout is created using the Python programming language. It implements a " +"principle of separation of configuration from the scripts that do the " +"setting up. Buildout is primarily used to download and set up dependencies " +"in `Python eggs `_ format of the software being developed or deployed. Recipes " +"for build tasks in any environment can be created, and many are already " +"available." +msgstr "" +"`Buildout `_ 은 오픈 소스 소프트웨어 빌드 도구입니다. Buildout은 파이썬 " +"프로그래밍 언어로 만들어졌습니다. 설정과 설정을 수행하는 스크립트의 분리 원칙을 구현합니다. Buildout은 주로 개발 또는 배포되는 " +"소프트웨어의 `파이썬 egg `_ 포맷으로 의존성을 다운로드하고 설정하는 데 사용됩니다. 어떤 환경에서든 빌드 작업을 위한 레시피를 만들 수 " +"있으며, 이미 많은 것들이 사용 가능합니다." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Write about Chef" +#~ msgstr "" + +#~ msgid "Write about Buildout" +#~ msgstr "" + +#~ msgid "`Buildout Website `_" +#~ msgstr "" + +#~ msgid "" +#~ "The following code will create two tasks that we can use: ``memory_usage`` " +#~ "and ``deploy``. The former will output the memory usage on each machine. The" +#~ " latter will ssh into each server, cd to our project directory, activate the" +#~ " virtual environment, pull the newest codebase, and restart the application " +#~ "server." +#~ msgstr "" + +#~ msgid "" +#~ "The host filtering is accomplished by matching the minion id, or using the " +#~ "grains system. The `grains " +#~ "`_ system " +#~ "uses static host information like the operating system version or the CPU " +#~ "architecture to provide a host taxonomy for the Salt modules." +#~ msgstr "" + +#~ msgid "" +#~ "State files can be written using YAML, the Jinja2 template system or pure " +#~ "Python." +#~ msgstr "" + +#~ msgid "" +#~ "`Psutil `_ is an interface to different " +#~ "system information (e.g. CPU, memory, disks, network, users and processes)." +#~ msgstr "" + +#~ msgid "" +#~ "`Ansible `_ is an open source system automation tool. " +#~ "The biggest advantage over Puppet or Chef is it does not require an agent on" +#~ " the client machine. Playbooks are Ansible’s configuration, deployment, and " +#~ "orchestration language and are written in YAML with Jinja2 for templating." +#~ msgstr "" + +#~ msgid "" +#~ "Chef works by using custom recipes (configuration elements), implemented in " +#~ "cookbooks. Cookbooks, which are basically packages for infrastructure " +#~ "choices, are usually stored in your Chef server. Read the `Digital Ocean " +#~ "tutorial series `_ on " +#~ "chef to learn how to create a simple Chef Server." +#~ msgstr "" + +#~ msgid "" +#~ "Agent nodes send basic facts about the system such as to the operating " +#~ "system, kernel, architecture, ip address, hostname etc. to the Puppet " +#~ "Master. The Puppet Master then compiles a catalog with information provided " +#~ "by the agents on how each node should be configured and sends it to the " +#~ "agent. The agent enforces the change as prescribed in the catalog and sends " +#~ "a report back to the Puppet Master." +#~ msgstr "" + +#~ msgid "" +#~ "Writing Modules in Puppet is pretty straight forward. Puppet Manifests " +#~ "together form Puppet Modules. Puppet manifest end with an extension of " +#~ "``.pp``. Here is an example of 'Hello World' in Puppet." +#~ msgstr "" + +#~ msgid "" +#~ "Here is another example with system based logic. Note how the operating " +#~ "system fact is being used as a variable prepended with the ``$`` sign. " +#~ "Similarly, this holds true for other facts such as hostname which can be " +#~ "referenced by ``$hostname``" +#~ msgstr "" + +#~ msgid "" +#~ "There are several resource types for Puppet but the package-file-service " +#~ "paradigm is all you need for undertaking majority of the configuration " +#~ "management. The following Puppet code makes sure that the OpenSSH-Server " +#~ "package is installed in a system and the sshd service is notified to restart" +#~ " everytime the sshd configuration file is changed." +#~ msgstr "" + +#~ msgid "" +#~ "`Buildout `_ is an open source software build tool." +#~ " Buildout is created using the Python programming language. It implements a " +#~ "principle of separation of configuration from the scripts that do the " +#~ "setting up. Buildout is primarily used to download and set up dependencies " +#~ "in Python eggs format of the software being developed or deployed. Recipes " +#~ "for build tasks in any environment can be created, and many are already " +#~ "available." +#~ msgstr "" + +#~ msgid "" +#~ "Shinken is backwards-compatible with the Nagios configuration standard, and " +#~ "plugins.It works on any operating system, and architecture that supports " +#~ "Python which includes Windows, GNU/Linux, and FreeBSD." +#~ msgstr "" + +#~ msgid "" +#~ "A full terminal application like a widely extended top which is based on " +#~ "psutil and with the ability of a client-server monitoring is `glance " +#~ "`_." +#~ msgstr "" + +#~ msgid "Shinken" +#~ msgstr "" + +#~ msgid "" +#~ "`Shinken `_ is a modern, Nagios " +#~ "compatible monitoring framework written in Python. Its main goal is to give " +#~ "users a flexible architecture for their monitoring system that is designed " +#~ "to scale to large environments." +#~ msgstr "" + +#~ msgid "" +#~ "Shinken is backwards-compatible with the Nagios configuration standard and " +#~ "plugins. It works on any operating system and architecture that supports " +#~ "Python, which includes Windows, Linux, and FreeBSD." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/ci.mo b/docs/locale/ko/LC_MESSAGES/scenarios/ci.mo new file mode 100644 index 00000000..72aa367c Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/ci.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/ci.po b/docs/locale/ko/LC_MESSAGES/scenarios/ci.po new file mode 100644 index 00000000..5e7a09b3 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/ci.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/ci.rst:4 +msgid "Continuous Integration" +msgstr "지속적 통합(CI)" + +#: ../../scenarios/ci.rst:9 +msgid "For advice on writing your tests, see :doc:`/writing/tests`." +msgstr "테스트 작성에 대한 조언은 :doc:`/writing/tests` 를 참고하세요." + +#: ../../scenarios/ci.rst:14 +msgid "Why?" +msgstr "왜?" + +#: ../../scenarios/ci.rst:16 +msgid "" +"Martin Fowler, who first wrote about `Continuous Integration " +"`_ (short: CI) " +"together with Kent Beck, describes CI as follows:" +msgstr "" +"Kent Beck과 함께 `지속적 통합(Continuous Integration) " +"`_ (줄여서 CI)에 대해" +" 처음 글을 쓴 Martin Fowler는 CI를 다음과 같이 설명합니다:" + +#: ../../scenarios/ci.rst:19 +msgid "" +"Continuous Integration is a software development practice where members of a" +" team integrate their work frequently, usually each person integrates at " +"least daily - leading to multiple integrations per day. Each integration is " +"verified by an automated build (including test) to detect integration errors" +" as quickly as possible. Many teams find that this approach leads to " +"significantly reduced integration problems and allows a team to develop " +"cohesive software more rapidly." +msgstr "" +"지속적 통합은 팀 구성원들이 자신의 작업을 자주 통합하는 소프트웨어 개발 관행입니다. 보통 한 사람이 하루에 최소 한 번 이상 통합하여 " +"하루에도 여러 번 통합이 이루어집니다. 각 통합은 자동화된 빌드(테스트 포함)로 검증되어 통합 오류를 가능한 한 빨리 감지합니다. 많은 " +"팀은 이러한 접근 방식이 통합 문제를 크게 줄이고, 팀이 더 빠르게 일관성 있는 소프트웨어를 개발할 수 있게 해준다는 것을 발견합니다." + +#: ../../scenarios/ci.rst:30 +msgid "Jenkins" +msgstr "Jenkins" + +#: ../../scenarios/ci.rst:32 +msgid "" +"`Jenkins CI `_ is an extensible Continuous " +"Integration engine. Use it." +msgstr "`Jenkins CI `_ 는 확장 가능한 지속적 통합 엔진입니다. 사용해 보세요." + +#: ../../scenarios/ci.rst:37 +msgid "Buildbot" +msgstr "Buildbot" + +#: ../../scenarios/ci.rst:39 +msgid "" +"`Buildbot `_ is a Python system to " +"automate the compile/test cycle to validate code changes." +msgstr "" +"`Buildbot `_ 은 코드 변경을 검증하기 위해 컴파일/테스트 " +"사이클을 자동화하는 파이썬 시스템입니다." + +#: ../../scenarios/ci.rst:45 +msgid "Tox" +msgstr "Tox" + +#: ../../scenarios/ci.rst:47 +msgid "" +"`tox `_ is an automation tool " +"providing packaging, testing, and deployment of Python software right from " +"the console or CI server. It is a generic virtualenv management and test " +"command line tool which provides the following features:" +msgstr "" +"`tox `_ 는 콘솔이나 CI 서버에서 바로 파이썬 소프트웨어의 " +"패키징, 테스트, 배포를 제공하는 자동화 도구입니다. 범용 virtualenv 관리 및 테스트용 커맨드라인 도구로, 다음과 같은 기능을 " +"제공합니다:" + +#: ../../scenarios/ci.rst:52 +msgid "" +"Checking that packages install correctly with different Python versions and " +"interpreters" +msgstr "서로 다른 파이썬 버전과 인터프리터에서 패키지가 올바르게 설치되는지 확인" + +#: ../../scenarios/ci.rst:54 +msgid "" +"Running tests in each of the environments, configuring your test tool of " +"choice" +msgstr "각 환경에서 테스트를 실행하고, 원하는 테스트 도구를 설정" + +#: ../../scenarios/ci.rst:56 +msgid "" +"Acting as a front-end to Continuous Integration servers, reducing " +"boilerplate and merging CI and shell-based testing" +msgstr "지속적 통합 서버의 프론트엔드로 동작하여, 보일러플레이트를 줄이고 CI와 쉘 기반 테스트를 통합" + +#: ../../scenarios/ci.rst:62 +msgid "Travis-CI" +msgstr "Travis-CI" + +#: ../../scenarios/ci.rst:64 +msgid "" +"`Travis-CI `_ is a distributed CI server which " +"builds tests for open source projects for free. It provides multiple workers" +" to run Python tests on and seamlessly integrates with GitHub. You can even " +"have it comment on your Pull Requests whether this particular changeset " +"breaks the build or not. So, if you are hosting your code on GitHub, Travis-" +"CI is a great and easy way to get started with Continuous Integration." +msgstr "" +"`Travis-CI `_ 는 오픈 소스 프로젝트를 위해 테스트를 무료로 빌드해주는 분산 CI " +"서버입니다. 파이썬 테스트를 실행할 여러 워커를 제공하며 GitHub와 매끄럽게 통합됩니다. 풀 리퀘스트에서 해당 변경 사항이 빌드를 " +"깨뜨리는지 여부를 댓글로 남기게 할 수도 있습니다. 따라서 코드를 GitHub에 호스팅하고 있다면, Travis-CI는 지속적 통합을 " +"시작하기 위한 훌륭하고 쉬운 방법입니다." + +#: ../../scenarios/ci.rst:71 +msgid "" +"In order to get started, add a :file:`.travis.yml` file to your repository " +"with this example content::" +msgstr "시작하려면, 저장소에 다음과 같은 예시 내용으로 :file:`.travis.yml` 파일을 추가하세요::" + +#: ../../scenarios/ci.rst:87 +msgid "" +"This will get your project tested on all the listed Python versions by " +"running the given script, and will only build the ``master`` branch. There " +"are a lot more options you can enable, like notifications, before and after " +"steps, and much more. The `Travis-CI docs `_ explain all of these options, and are very " +"thorough." +msgstr "" +"이렇게 하면 나열된 모든 파이썬 버전에서 주어진 스크립트를 실행하여 프로젝트를 테스트하며, ``master`` 브랜치만 빌드합니다. " +"알림, 전/후 단계 등 활성화할 수 있는 옵션이 훨씬 더 많이 있습니다. `Travis-CI 문서 `_ 에서 이 모든 옵션을 매우 자세히 설명하고 있습니다." + +#: ../../scenarios/ci.rst:93 +msgid "" +"In order to activate testing for your project, go to `the Travis-CI site " +"`_ and login with your GitHub account. Then activate" +" your project in your profile settings and you're ready to go. From now on, " +"your project's tests will be run on every push to GitHub." +msgstr "" +"프로젝트의 테스트를 활성화하려면, `Travis-CI 사이트 `_ 로 가서 GitHub " +"계정으로 로그인하세요. 그런 다음 프로필 설정에서 프로젝트를 활성화하면 준비 끝입니다. 이제부터 GitHub로 푸시할 때마다 프로젝트의 " +"테스트가 실행됩니다." + +#~ msgid "Mule" +#~ msgstr "" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "Martin Fowler, who first wrote about `Continuous Integration " +#~ "`_ (short: CI) " +#~ "together with Kent Beck, describes the CI as follows:" +#~ msgstr "" + +#~ msgid "" +#~ "`Jenkins CI `_ is an extensible continuous " +#~ "integration engine. Use it." +#~ msgstr "" + +#~ msgid "" +#~ "`tox `_ is an automation tool " +#~ "providing packaging, testing and deployment of Python software right from " +#~ "the console or CI server. It is a generic virtualenv management and test " +#~ "command line tool which provides the following features:" +#~ msgstr "" + +#~ msgid "" +#~ "Acting as a front-end to Continuous Integration servers, reducing " +#~ "boilerplate and merging CI and shell-based testing." +#~ msgstr "" + +#~ msgid "" +#~ "`Travis-CI `_ is a distributed CI server which " +#~ "builds tests for open source projects for free. It provides multiple workers" +#~ " to run Python tests on and seamlessly integrates with GitHub. You can even " +#~ "have it comment on your Pull Requests whether this particular changeset " +#~ "breaks the build or not. So if you are hosting your code on GitHub, travis-" +#~ "ci is a great and easy way to get started with Continuous Integration." +#~ msgstr "" + +#~ msgid "" +#~ "This will get your project tested on all the listed Python versions by " +#~ "running the given script, and will only build the master branch. There are a" +#~ " lot more options you can enable, like notifications, before and after steps" +#~ " and much more. The `travis-ci docs `_ " +#~ "explain all of these options, and are very thorough." +#~ msgstr "" + +#~ msgid "" +#~ "In order to activate testing for your project, go to `the travis-ci site " +#~ "`_ and login with your GitHub account. Then activate" +#~ " your project in your profile settings and you're ready to go. From now on, " +#~ "your project's tests will be run on every push to GitHub." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/cli.mo b/docs/locale/ko/LC_MESSAGES/scenarios/cli.mo new file mode 100644 index 00000000..7977716d Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/cli.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/cli.po b/docs/locale/ko/LC_MESSAGES/scenarios/cli.po new file mode 100644 index 00000000..350c3fd6 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/cli.po @@ -0,0 +1,292 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: AHN YOUNGSEON \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/cli.rst:4 +msgid "Command-line Applications" +msgstr "커맨드라인 어플리케이션" + +#: ../../scenarios/cli.rst:8 +msgid "" +"Command-line applications, also referred to as `Console Applications " +"`_, are computer " +"programs designed to be used from a text interface, such as a `shell " +"`_. Command-line " +"applications usually accept various inputs as arguments, often referred " +"to as parameters or sub-commands, as well as options, often referred to " +"as flags or switches." +msgstr "" +"커맨드라인 어플리케이션은 `콘솔 어플리케이션 " +"`_ 이라고도 합니다. " +"커맨드라인 어플리케이션은 텍스트 인터페이스로 사용하도록 설계된 컴퓨터 프로그램입니다. " +"`쉘 " +"`_ 이 그 예입니다. " +"커맨드라인 어플리케이션은 일반적으로 다양한 인자를 입력값으로 받습니다. " +"파라미터로 받기도 하고 서브커맨드, 옵션, 플래그, 스위치로도 받습니다." + +#: ../../scenarios/cli.rst:15 +msgid "Some popular command-line applications include:" +msgstr "유명한 커맨드라인 어플리케이션을 모아봤습니다:" + +#: ../../scenarios/cli.rst:17 +msgid "" +"`grep `_ - A plain-text data search " +"utility" +msgstr "" +"`grep `_ - " +"평문 데이터 검색 유틸리티" + +#: ../../scenarios/cli.rst:18 +msgid "`curl `_ - A tool for data transfer with URL syntax" +msgstr "" +"`curl `_ - " +"URL 구문으로 데이터를 전달하기 위한 도구" + +#: ../../scenarios/cli.rst:19 +msgid "" +"`httpie `_ - A command-line HTTP" +" client, a user-friendly cURL replacement" +msgstr "" +"`httpie `_ - " +"커맨드라인 HTTP 클라이언트로서 cURL보다 사용자 친화적인 대체품" + +#: ../../scenarios/cli.rst:21 +msgid "`Git `_ - A distributed version control system" +msgstr "" +"`Git `_ - " +"분ㄴ산 버전 컨트롤 시스템" + +#: ../../scenarios/cli.rst:22 +msgid "" +"`Mercurial `_ - A distributed version " +"control system primarily written in Python" +msgstr "" +"`Mercurial `_ - " +"주로 파이썬으로 작성된 분산 버전 컨트롤 시스템" + +#: ../../scenarios/cli.rst:28 +msgid "Click" +msgstr "클릭(Click)" + +#: ../../scenarios/cli.rst:30 +msgid "" +"`click `_ is a Python package for " +"creating command-line interfaces in a composable way with as little code " +"as possible. This “Command-Line Interface Creation Kit” is highly " +"configurable but comes with good defaults out of the box." +msgstr "" +"`click `_ 은 최소한의 코드만으로 " +"커맨드라인 인터페이스를 구성할 수 있도록 해주는 파이썬 패키지입니다. " +"이 “Command-Line Interface Creation Kit” 은 상세한 설정이 가능하지만 " +"그냥 기본값으로 사용해도 아주 좋습니다." + +#: ../../scenarios/cli.rst:38 +msgid "docopt" +msgstr "닥옵트(docopt)" + +#: ../../scenarios/cli.rst:40 +msgid "" +"`docopt `_ is a lightweight, highly Pythonic package " +"that allows creating command-line interfaces easily and intuitively, by " +"parsing POSIX-style usage instructions." +msgstr "" +"`docopt `_ 는 " +"가볍고도 아주 파이썬다운 패키지로서 포직스 스타일의 사용법을 파싱하여 " +"커맨드라인 인터페이스를 직관적이고도 쉽게 만들 수 있게 " +"해주는 라이브러리입니다. " + +#: ../../scenarios/cli.rst:47 +msgid "Plac" +msgstr "플락(Plac)" + +#: ../../scenarios/cli.rst:49 +msgid "" +"`Plac `_ is a simple wrapper over the " +"Python standard library `argparse " +"`_, which hides most of " +"its complexity by using a declarative interface: the argument parser is " +"inferred rather than written down imperatively. This module targets " +"unsophisticated users, programmers, sysadmins, scientists, and in general" +" people writing throw-away scripts for themselves, who choose to create a" +" command-line interface because it is quick and simple." +msgstr "" +"`Plac `_ 은 " +"파이선 표준 라이브러리 `argparse " +"`_ 를 " +"선언형 인터페이스를 사용해 그 복잡성을 숨기는 간단한 랩퍼입니다. " +"매개변수 파서는 명령형으로 작성할 필요가 없습니다. 그냥 추론됩니다. " +"이 모듈은 복잡한 걸 원치 않는 사용자, 프로그래머, 시스템 관리자, 과학자 및 " +"일회용 스크립트를 작성하는 대신 커맨드라인 인터페이스를 빠르고 간단하게 개발하고자 하는 " +"사람들을 대상으로합니다." + +#: ../../scenarios/cli.rst:60 +msgid "Cliff" +msgstr "클리프(Cliff)" + +#: ../../scenarios/cli.rst:62 +msgid "" +"`Cliff `_ is a framework for" +" building command-line programs. It uses setuptools entry points to " +"provide subcommands, output formatters, and other extensions. The " +"framework is meant to be used to create multi-level commands such as " +"``svn`` and ``git``, where the main program handles some basic argument " +"parsing and then invokes a sub-command to do the work." +msgstr "" +"`Cliff `_ 는 커맨드라인 프로그램을 " +"개발하기 위한 프레임워크입니다. " +"setuptools를 엔트리포인트로 사용하여 서브캐맨드, 출력 포맷터 및 기타 확장을 제공합니다. " +"이 프레임워크는 ``svn`` 과 ``git`` 처럼 다단계 명령을 만드는 데 사용됩니다. " +"여기서 메인 프로그램은 몇 가지 기본적인 인자값 구문 분석을 처리한 다음 " +"서브커맨드를 호출하여 작업을 수행합니다." + +#: ../../scenarios/cli.rst:72 +msgid "Cement" +msgstr "시멘트(Cement)" + +#: ../../scenarios/cli.rst:74 +msgid "" +"`Cement `_ is an advanced CLI Application " +"Framework. Its goal is to introduce a standard and feature-full platform " +"for both simple and complex command line applications as well as support " +"rapid development needs without sacrificing quality. Cement is flexible, " +"and its use cases span from the simplicity of a micro-framework to the " +"complexity of a mega-framework." +msgstr "" +"`Cement `_ 는 " +"진보된 CLI 어플리케이션 프레임워크입니다. " +"그 목표는 간단한 커맨드라인 애플리케이션과 복잡한 커맨드라인 어플리케이션 모두를 위한 표준 " +"및 기능이 풍부한 플랫폼을 도입하고 " +"품질 저하없이 신속한 개발 요구 사항을 지원하는 것입니다. " +"시멘트는 유연하며 그 사용 사례는 간단한 마이크로 프레임워크에서 복잡한 대규모 프레임워크에 " +"이르기까지 다양합니다." + +#: ../../scenarios/cli.rst:84 +msgid "Python Fire" +msgstr "파이썬 파이어(Python Fire)" + +#: ../../scenarios/cli.rst:86 +msgid "" +"`Python Fire `_ is a library for " +"automatically generating command-line interfaces from absolutely any " +"Python object. It can help debug Python code more easily from the command" +" line, create CLI interfaces to existing code, allow you to interactively" +" explore code in a REPL, and simplify transitioning between Python and " +"Bash (or any other shell)." +msgstr "" +"`Python Fire `_ 는 " +"파이썬 객체를 전혀 사용하지 않고도 자동으로 커맨드라인 인터페이스를 생성하는 라이브러리입니다. " +"커맨드라인에서 파이썬 코드를 보다 쉽게 디버깅하고, 기존 코드에 대한 CLI 인터페이스를 생성하고 " +"REPL에서 인터렉티브하게 코드를 탐색하고, 파이썬과 Bash(아니면 다른 쉘) 간의 전환을 단순화 할 수 있습니다." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "`Grep `_ - A " +#~ "plain-text data search utility" +#~ msgstr "" + +#~ msgid "" +#~ "`httpie `_ - " +#~ "A command line HTTP client, a " +#~ "user-friendly cURL replacement" +#~ msgstr "" + +#~ msgid "`git `_ - A distributed version control system" +#~ msgstr "" + +#~ msgid "" +#~ "`mercurial `_ - " +#~ "A distributed version control system " +#~ "primarily written in Python" +#~ msgstr "" + +#~ msgid "Clint" +#~ msgstr "" + +#~ msgid "" +#~ "`clint `_ is a" +#~ " Python module which is filled with" +#~ " very useful tools for developing " +#~ "command-line applications. It supports " +#~ "features such as; CLI colors and " +#~ "indents, simple and powerful column " +#~ "printer, iterator based progress bars " +#~ "and implicit argument handling." +#~ msgstr "" + +#~ msgid "" +#~ "`click `_ is an " +#~ "upcoming Python package for creating " +#~ "command-line interfaces in a composable " +#~ "way with as little code as " +#~ "possible. This “Command-line Interface " +#~ "Creation Kit” is highly configurable but" +#~ " comes with good defaults out of " +#~ "the box." +#~ msgstr "" + +#~ msgid "" +#~ "`Plac `_ is a " +#~ "simple wrapper over the Python standard" +#~ " library `argparse " +#~ "`_, which " +#~ "hides most of its complexity by " +#~ "using a declarative interface: the " +#~ "argument parser is inferred rather than" +#~ " written down by imperatively. This " +#~ "module targets especially unsophisticated " +#~ "users, programmers, sys-admins, scientists " +#~ "and in general people writing throw-" +#~ "away scripts for themselves, who choose" +#~ " to create a command-line interface" +#~ " because it is quick and simple." +#~ msgstr "" + +#~ msgid "" +#~ "`Cliff `_ is" +#~ " a framework for building command-" +#~ "line programs. It uses setuptools entry" +#~ " points to provide subcommands, output " +#~ "formatters, and other extensions. The " +#~ "framework is meant to be used to" +#~ " create multi-level commands such as" +#~ " subversion and git, where the main" +#~ " program handles some basic argument " +#~ "parsing and then invokes a sub-" +#~ "command to do the work." +#~ msgstr "" + +#~ msgid "" +#~ "`Cement `_ is an " +#~ "advanced CLI Application Framework. Its " +#~ "goal is to introduce a standard, " +#~ "and feature-full platform for both " +#~ "simple and complex command line " +#~ "applications as well as support rapid" +#~ " development needs without sacrificing " +#~ "quality. Cement is flexible, and it's" +#~ " use cases span from the simplicity" +#~ " of a micro-framework to the " +#~ "complexity of a meg-framework." +#~ msgstr "" + diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/clibs.mo b/docs/locale/ko/LC_MESSAGES/scenarios/clibs.mo new file mode 100644 index 00000000..e3cf6ad5 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/clibs.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/clibs.po b/docs/locale/ko/LC_MESSAGES/scenarios/clibs.po new file mode 100644 index 00000000..a8f2c45b --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/clibs.po @@ -0,0 +1,201 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/clibs.rst:4 +msgid "Interfacing with C/C++ Libraries" +msgstr "C/C++ 라이브러리와 인터페이싱하기" + +#: ../../scenarios/clibs.rst:11 +msgid "C Foreign Function Interface" +msgstr "C Foreign Function Interface" + +#: ../../scenarios/clibs.rst:13 +msgid "" +"`CFFI `_ provides a simple to use " +"mechanism for interfacing with C from both CPython and PyPy. It supports two" +" modes: an inline `ABI `_ compatibility mode (example provided " +"below), which allows you to dynamically load and run functions from " +"executable modules (essentially exposing the same functionality as " +"`LoadLibrary `_ or " +"`dlopen `_), and an API " +"mode, which allows you to build C extension modules." +msgstr "" +"`CFFI `_ 는 CPython과 PyPy 양쪽에서 C와 " +"인터페이싱하기 위한 쉽게 사용할 수 있는 메커니즘을 제공합니다. 두 가지 모드를 지원하는데, 하나는 인라인 `ABI " +"`_ 호환 모드(아래 예시 참고)로, 실행 가능 모듈로부터 함수를 동적으로 로드해 실행할 수 있게 " +"해줍니다(본질적으로 `LoadLibrary `_ 나 " +"`dlopen `_ 과 동일한 기능을 " +"제공합니다). 다른 하나는 API 모드로, C 확장 모듈을 빌드할 수 있게 해줍니다." + +#: ../../scenarios/clibs.rst:21 +msgid "ABI Interaction" +msgstr "ABI 인터랙션" + +#: ../../scenarios/clibs.rst:37 +msgid "ctypes" +msgstr "ctypes" + +#: ../../scenarios/clibs.rst:39 +msgid "" +"`ctypes `_ is the de facto " +"standard library for interfacing with C/C++ from CPython, and it provides " +"not only full access to the native C interface of most major operating " +"systems (e.g., kernel32 on Windows, or libc on \\*nix), but also provides " +"support for loading and interfacing with dynamic libraries, such as DLLs or " +"shared objects, at runtime. It brings along with it a whole host of types " +"for interacting with system APIs, and allows you to rather easily define " +"your own complex types, such as structs and unions, and allows you to modify" +" things such as padding and alignment, if needed. It can be a bit crufty to " +"use, but in conjunction with the `struct " +"`_ module, you are " +"essentially provided full control over how your data types get translated " +"into something usable by a pure C/C++ method." +msgstr "" +"`ctypes `_ 는 CPython에서 C/C++와" +" 인터페이싱하기 위한 사실상의 표준 라이브러리입니다. 주요 운영체제의 네이티브 C 인터페이스(예: Windows의 kernel32, " +"\\*nix의 libc)에 완전히 접근할 수 있을 뿐만 아니라, 런타임에 DLL이나 공유 객체와 같은 동적 라이브러리를 로드하고 " +"인터페이싱하는 것도 지원합니다. 시스템 API와 상호작용하기 위한 많은 타입을 가져다 주며, struct나 union 같은 복잡한 타입을" +" 직접 정의하거나 필요할 때 패딩과 정렬을 수정하는 일도 비교적 쉽게 할 수 있습니다. 사용하기에 다소 거추장스러울 수 있지만, " +"`struct `_ 모듈과 함께 쓰면 데이터 타입이 " +"순수 C/C++ 메소드에서 사용 가능한 형태로 어떻게 변환되는지를 본질적으로 완전히 제어할 수 있습니다." + +#: ../../scenarios/clibs.rst:53 +msgid "Struct Equivalents" +msgstr "Struct 대응" + +#: ../../scenarios/clibs.rst:55 +msgid ":file:`MyStruct.h`" +msgstr ":file:`MyStruct.h`" + +#: ../../scenarios/clibs.rst:65 +msgid ":file:`MyStruct.py`" +msgstr ":file:`MyStruct.py`" + +#: ../../scenarios/clibs.rst:78 +msgid "SWIG" +msgstr "SWIG" + +#: ../../scenarios/clibs.rst:80 +msgid "" +"`SWIG `_, though not strictly Python focused (it " +"supports a large number of scripting languages), is a tool for generating " +"bindings for interpreted languages from C/C++ header files. It is extremely " +"simple to use: the consumer simply needs to define an interface file " +"(detailed in the tutorial and documentations), include the requisite C/C++ " +"headers, and run the build tool against them. While it does have some limits" +" (it currently seems to have issues with a small subset of newer C++ " +"features, and getting template-heavy code to work can be a bit verbose), it " +"provides a great deal of power and exposes lots of features to Python with " +"little effort. Additionally, you can easily extend the bindings SWIG creates" +" (in the interface file) to overload operators and built-in methods, " +"effectively re- cast C++ exceptions to be catchable by Python, etc." +msgstr "" +"`SWIG `_ 는 엄밀히 파이썬에 초점을 둔 것은 아니지만(많은 수의 스크립트 언어를 " +"지원합니다), C/C++ 헤더 파일로부터 인터프리트 언어를 위한 바인딩을 생성해주는 도구입니다. 사용법은 매우 간단합니다. 사용자는 " +"인터페이스 파일(튜토리얼과 문서에 자세히 설명됨)을 정의하고, 필요한 C/C++ 헤더를 포함시킨 다음, 빌드 도구를 그것들에 대해 " +"실행하기만 하면 됩니다. 일부 한계가 있긴 하지만(현재 일부 최신 C++ 기능에서 문제가 있는 것으로 보이며, 템플릿이 많은 코드를 " +"동작시키려면 다소 장황해질 수 있습니다), 적은 노력으로 파이썬에 많은 기능을 노출시킬 수 있는 강력한 도구입니다. 또한 SWIG가 " +"생성한 바인딩을 (인터페이스 파일에서) 손쉽게 확장하여 연산자나 내장 메소드를 오버로드하거나, C++ 예외를 파이썬이 잡을 수 있도록 " +"다시 캐스팅하는 등의 작업도 할 수 있습니다." + +#: ../../scenarios/clibs.rst:94 +msgid "Example: Overloading __repr__" +msgstr "예시: __repr__ 오버로딩하기" + +#: ../../scenarios/clibs.rst:96 +msgid ":file:`MyClass.h`" +msgstr ":file:`MyClass.h`" + +#: ../../scenarios/clibs.rst:110 +msgid ":file:`myclass.i`" +msgstr ":file:`myclass.i`" + +#: ../../scenarios/clibs.rst:135 +msgid "Boost.Python" +msgstr "Boost.Python" + +#: ../../scenarios/clibs.rst:137 +msgid "" +"`Boost.Python `_ " +"requires a bit more manual work to expose C++ object functionality, but it " +"is capable of providing all the same features SWIG does and then some, to " +"include providing wrappers to access PyObjects in C++, extracting SWIG " +"wrapper objects, and even embedding bits of Python into your C++ code." +msgstr "" +"`Boost.Python `_ 은 " +"C++ 객체의 기능을 노출하기 위해 다소 더 수동적인 작업이 필요하지만, SWIG가 제공하는 모든 기능과 그 이상을 제공할 수 있습니다." +" 여기에는 C++에서 PyObject에 접근하기 위한 래퍼 제공, SWIG 래퍼 객체 추출, 심지어 C++ 코드에 파이썬 일부를 " +"임베딩하는 것까지 포함됩니다." + +#~ msgid "" +#~ "`CFFI `_ provides a simple to use " +#~ "mechanism for interfacing with C from both CPython and PyPy. It supports two" +#~ " modes: an inline ABI compatibility mode (example provided below), which " +#~ "allows you to dynamically load and run functions from executable modules " +#~ "(essentially exposing the same functionality as LoadLibrary or dlopen), and " +#~ "an API mode, which allows you to build C extension modules." +#~ msgstr "" + +#~ msgid "" +#~ "`ctypes `_ is the de facto " +#~ "library for interfacing with C/C++ from CPython, and it provides not only " +#~ "full access to the native C interface of most major operating systems (e.g.," +#~ " kernel32 on Windows, or libc on \\*nix), but also provides support for " +#~ "loading and interfacing with dynamic libraries, such as DLLs or shared " +#~ "objects at runtime. It does bring along with it a whole host of types for " +#~ "interacting with system APIs, and allows you to rather easily define your " +#~ "own complex types, such as structs and unions, and allows you to modify " +#~ "things such as padding and alignment, if needed. It can be a bit crufty to " +#~ "use, but in conjunction with the `struct " +#~ "`_ module, you are " +#~ "essentially provided full control over how your data types get translated " +#~ "into something usable by a pure C(++) method." +#~ msgstr "" + +#~ msgid "" +#~ "`SWIG `_, though not strictly Python focused (it " +#~ "supports a large number of scripting languages), is a tool for generating " +#~ "bindings for interpreted languages from C/C++ header files. It is extremely " +#~ "simple to use: the consumer simply needs to define an interface file " +#~ "(detailed in the tutorial and documentations), include the requisite C/C++ " +#~ "headers, and run the build tool against them. While it does have some " +#~ "limits, (it currently seems to have issues with a small subset of newer C++ " +#~ "features, and getting template-heavy code to work can be a bit verbose), it " +#~ "provides a great deal of power and exposes lots of features to Python with " +#~ "little effort. Additionally, you can easily extend the bindings SWIG creates" +#~ " (in the interface file) to overload operators and built-in methods, " +#~ "effectively re- cast C++ exceptions to be catchable by Python, etc." +#~ msgstr "" + +#~ msgid "" +#~ "`Boost.Python `_ " +#~ "requires a bit more manual work to expose C++ object functionality, but it " +#~ "is capable of providing all the same features SWIG does and then some, to " +#~ "include providing wrappers to access PyObjects in C++, extracting SWIG- " +#~ "wrapper objects, and even embedding bits of Python into your C++ code." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/client.mo b/docs/locale/ko/LC_MESSAGES/scenarios/client.mo new file mode 100644 index 00000000..cee1007a Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/client.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/client.po b/docs/locale/ko/LC_MESSAGES/scenarios/client.po new file mode 100644 index 00000000..b069ff22 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/client.po @@ -0,0 +1,132 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../scenarios/client.rst:4 +msgid "Network Applications" +msgstr "네트워크 어플리케이션" + +#: ../../scenarios/client.rst:11 +msgid "HTTP" +msgstr "HTTP" + +#: ../../scenarios/client.rst:13 +msgid "" +"The Hypertext Transfer Protocol (HTTP) is an application protocol for " +"distributed, collaborative, hypermedia information systems. HTTP is the " +"foundation of data communication for the World Wide Web." +msgstr "" +"HTTP(Hypertext Transfer Protocol)는 분산, 협업, 하이퍼미디어 정보 시스템을 위한 애플리케이션 " +"프로토콜입니다.HTTP는 월드 와이드 웹을 위한 데이터 통신의 기반입니니다." + +#: ../../scenarios/client.rst:18 +msgid "Requests" +msgstr "Requests" + +#: ../../scenarios/client.rst:20 +msgid "" +"Python’s standard urllib2 module provides most of the HTTP capabilities you " +"need, but the API is thoroughly broken. It was built for a different time — " +"and a different web. It requires an enormous amount of work (even method " +"overrides) to perform the simplest of tasks." +msgstr "" +"파이썬의 표준 urllib2 모듈은 필요한 HTTP의 기능 대부분을 지원하지만 API는 완전히 박살나 있습니다. 그것은 다른 시간과 다른" +" 웹을 위해 만들어졌습니다. 가장 간단한 작업을 수행하더라도 엄청난 양의 작업(메소드 재정의까지)이 필요합니다." + +#: ../../scenarios/client.rst:25 +msgid "" +"Requests takes all of the work out of Python HTTP — making your integration " +"with web services seamless. There’s no need to manually add query strings to" +" your URLs, or to form-encode your POST data. Keep-alive and HTTP connection" +" pooling are 100% automatic, powered by urllib3, which is embedded within " +"Requests." +msgstr "" +"Requests는 Python HTTP에서 모든 작업을 처리하므로 웹 서비스와 매끄럽게 통합할 수 있도록 해줍니다. URL에 쿼리 " +"문자열을 수동으로 추가하거나 POST 데이터를 폼 인코딩 할 필요가 없습니다. Requests에 포함된 urllib3에 의해 구동되는 " +"Keep-alive 및 HTTP 커넥션 풀링은 100% 자동입니다." + +#: ../../scenarios/client.rst:31 +msgid "`Documentation `_" +msgstr "`Documentation `_" + +#: ../../scenarios/client.rst:32 +msgid "`PyPi `_" +msgstr "`PyPi `_" + +#: ../../scenarios/client.rst:33 +msgid "`GitHub `_" +msgstr "`GitHub `_" + +#: ../../scenarios/client.rst:38 +msgid "Distributed Systems" +msgstr "분산 시스템" + +#: ../../scenarios/client.rst:42 +msgid "ZeroMQ" +msgstr "ZeroMQ" + +#: ../../scenarios/client.rst:44 +msgid "" +"ØMQ (also spelled ZeroMQ, 0MQ or ZMQ) is a high-performance asynchronous " +"messaging library aimed at use in scalable distributed or concurrent " +"applications. It provides a message queue, but unlike message-oriented " +"middleware, a ØMQ system can run without a dedicated message broker. The " +"library is designed to have a familiar socket-style API." +msgstr "" +"ØMQ(ZeroMQ, 0MQ, ZMQ로도 씀)는 대규모 분산 환경 어플리케이션이나 동시성 어플리케이션을 위한 고성능 비동기 메시징 " +"라이브러리입니다. 메시지큐를 제공하지만 다른 메시징 미들웨어와는 달리 제로엠큐는 메시지 브로커 없이도 동작합니다. 그 라이브러리는 소켓 " +"스타일 API처럼 디자인되어 있습니다. " + +#: ../../scenarios/client.rst:51 +msgid "RabbitMQ" +msgstr "RabbitMQ" + +#: ../../scenarios/client.rst:53 +msgid "" +"RabbitMQ is an open source message broker software that implements the " +"Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in" +" the Erlang programming language and is built on the Open Telecom Platform " +"framework for clustering and failover. Client libraries to interface with " +"the broker are available for all major programming languages." +msgstr "" +"RabbitMQ는 Advanced Message Queuing Protocol (AMQP)를 구현한 오픈소스 메시지 브로커 " +"소프트웨어입니다. 래빗MQ 서버는 얼랭 프로그래밍 언어로 개발되었고 클러스터링과 장애 복구를 위하여 Open Telecom " +"Platform 프레임워크에 기반하고 있습니다. 브로커와 인터페이스할 클라이언트 라이브러리는 모든 주요 프로그래밍 언어에 사용할 수 " +"있습니다." + +#: ../../scenarios/client.rst:59 +msgid "`Homepage `_" +msgstr "`Homepage `_" + +#: ../../scenarios/client.rst:60 +msgid "`GitHub Organization `_" +msgstr "`GitHub Organization `_" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "`PyPi `_" +#~ msgstr "" + +#~ msgid "" +#~ "`Documentation `_" +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/crypto.mo b/docs/locale/ko/LC_MESSAGES/scenarios/crypto.mo new file mode 100644 index 00000000..4685f519 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/crypto.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/crypto.po b/docs/locale/ko/LC_MESSAGES/scenarios/crypto.po new file mode 100644 index 00000000..2cdd1932 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/crypto.po @@ -0,0 +1,142 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/crypto.rst:4 +msgid "Cryptography" +msgstr "암호화(Cryptography)" + +#: ../../scenarios/crypto.rst:11 +msgid "cryptography" +msgstr "cryptography" + +#: ../../scenarios/crypto.rst:13 +msgid "" +"`cryptography `_ is an actively " +"developed library that provides cryptographic recipes and primitives. It " +"supports Python 2.6-2.7, Python 3.3+, and PyPy." +msgstr "" +"`cryptography `_ 는 활발히 개발되고 있는 라이브러리로, " +"암호화 레시피와 기본 구성요소를 제공합니다. 파이썬 2.6-2.7, 파이썬 3.3+, 그리고 PyPy를 지원합니다." + +#: ../../scenarios/crypto.rst:18 +msgid "" +"cryptography is divided into two layers of recipes and hazardous materials " +"(hazmat). The recipes layer provides a simple API for proper symmetric " +"encryption and the hazmat layer provides low-level cryptographic primitives." +msgstr "" +"cryptography는 레시피 계층과 위험 요소(hazmat) 계층의 두 가지로 나누어져 있습니다. 레시피 계층은 적절한 대칭키 " +"암호화를 위한 단순한 API를 제공하고, hazmat 계층은 저수준의 암호화 기본 구성요소를 제공합니다." + +#: ../../scenarios/crypto.rst:25 ../../scenarios/crypto.rst:57 +msgid "Installation" +msgstr "설치" + +#: ../../scenarios/crypto.rst:32 ../../scenarios/crypto.rst:62 +msgid "Example" +msgstr "예시" + +#: ../../scenarios/crypto.rst:34 +msgid "Example code using high level symmetric encryption recipe:" +msgstr "고수준 대칭키 암호화 레시피를 사용하는 예시 코드입니다:" + +#: ../../scenarios/crypto.rst:47 +msgid "GPGME bindings" +msgstr "GPGME 바인딩" + +#: ../../scenarios/crypto.rst:49 +msgid "" +"The `GPGME Python bindings " +"`_ provide " +"Pythonic access to `GPG Made Easy " +"`_, a C API for the " +"entire GNU Privacy Guard suite of projects, including GPG, libgcrypt, and " +"gpgsm (the S/MIME engine). It supports Python 2.6, 2.7, 3.4, and above. " +"Depends on the SWIG C interface for Python as well as the GnuPG software and" +" libraries." +msgstr "" +"`GPGME Python 바인딩 " +"`_ 은 GPG, " +"libgcrypt, gpgsm(S/MIME 엔진)을 포함한 GNU Privacy Guard 프로젝트 모음 전체를 위한 C API인 " +"`GPG Made Easy `_ 에 파이썬다운" +" 방식으로 접근할 수 있게 해줍니다. 파이썬 2.6, 2.7, 3.4 이상을 지원합니다. 파이썬용 SWIG C 인터페이스와 GnuPG " +"소프트웨어 및 라이브러리에 의존합니다." + +#: ../../scenarios/crypto.rst:52 +msgid "" +"A more comprehensive `GPGME Python Bindings HOWTO " +"`_" +" is available with the source, and an HTML version is available `at " +"http://files.au.adversary.org " +"`_. Python 3 " +"sample scripts from the examples in the HOWTO are also provided with the " +"source and are accessible `at gnupg.org " +"`_." +msgstr "" +"더 포괄적인 `GPGME Python Bindings HOWTO " +"`_" +" 가 소스와 함께 제공되며, HTML 버전은 `files.au.adversary.org에서 " +"`_ 볼 수 있습니다. " +"HOWTO의 예시에서 가져온 파이썬 3 샘플 스크립트도 소스와 함께 제공되며 `gnupg.org에서 " +"`_" +" 접근할 수 있습니다." + +#: ../../scenarios/crypto.rst:54 +msgid "" +"Available under the same terms as the rest of the GnuPG Project: GPLv2 and " +"LGPLv2.1, both with the \"or any later version\" clause." +msgstr "" +"GnuPG 프로젝트의 나머지와 동일한 조건, 즉 \"or any later version\" 조항이 포함된 GPLv2 및 LGPLv2.1" +" 하에서 이용할 수 있습니다." + +#: ../../scenarios/crypto.rst:59 +msgid "" +"Included by default when compiling GPGME if the configure script locates a " +"supported python version (which it will if it's in $PATH during " +"configuration)." +msgstr "" +"GPGME를 컴파일할 때 configure 스크립트가 지원되는 파이썬 버전을 찾으면 기본으로 포함됩니다(설정 시 $PATH에 있으면 찾을" +" 수 있습니다)." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "`Cryptography `_ is an actively " +#~ "developed library that provides cryptographic recipes and primitives. It " +#~ "supports Python 2.6-2.7, Python 3.3+ and PyPy." +#~ msgstr "" + +#~ msgid "" +#~ "Cryptography is divided into two layers of recipes and hazardous materials " +#~ "(hazmat). The recipes layer provides simple API for proper symmetric " +#~ "encryption and the hazmat layer provides low-level cryptographic primitives." +#~ msgstr "" + +#~ msgid "PyCrypto" +#~ msgstr "" + +#~ msgid "" +#~ "`PyCrypto `_ is another library, " +#~ "which provides secure hash functions and various encryption algorithms. It " +#~ "supports Python version 2.1 through 3.3." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/db.mo b/docs/locale/ko/LC_MESSAGES/scenarios/db.mo new file mode 100644 index 00000000..94e38fd4 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/db.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/db.po b/docs/locale/ko/LC_MESSAGES/scenarios/db.po new file mode 100644 index 00000000..6529453a --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/db.po @@ -0,0 +1,252 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/db.rst:4 +msgid "Databases" +msgstr "데이터베이스" + +#: ../../scenarios/db.rst:11 +msgid "DB-API" +msgstr "DB-API" + +#: ../../scenarios/db.rst:13 +msgid "" +"The Python Database API (DB-API) defines a standard interface for Python " +"database access modules. It's documented in :pep:`249`. Nearly all Python " +"database modules such as `sqlite3`, `psycopg`, and `mysql-python` conform to" +" this interface." +msgstr "" +"파이썬 데이베이스 API (DB-API)는 파이썬 데이터베이스 접근 모듈을 위한 표준 인터페이스를 정의합니다. :pep:`249` 에 " +"문서화가 되어 있습니다. `sqlite3`, `psycopg`, 그리고 `mysql-python` 와 같이 거의 모든 파이썬 데이터베이스" +" 모듈이 이 인터페이스를 따릅니다." + +#: ../../scenarios/db.rst:18 +msgid "" +"Tutorials that explain how to work with modules that conform to this " +"interface can be found `here " +"`__ and " +"`here " +"`__." +msgstr "" +"이 모듈이 어떻게 이 인터페이스를 따라 동작하는지 확인하고 싶으시다면 아래 튜토리얼을 확인해보세요. `요것 " +"`__ 과 " +"`이것 " +"`__." + +#: ../../scenarios/db.rst:25 +msgid "SQLAlchemy" +msgstr "SQLAlchemy" + +#: ../../scenarios/db.rst:27 +msgid "" +"`SQLAlchemy `_ is a commonly used database " +"toolkit. Unlike many database libraries it not only provides an ORM layer " +"but also a generalized API for writing database-agnostic code without SQL." +msgstr "" +"`SQLAlchemy `_ 는 일반적으로 사용되는 데이터베이스 툴킷입니다. 다른 " +"데이터베이스 라이브러리와 달리 ORM 레이어를 제공할 뿐만 아니라 SQL 없이도 데이터베이스와 무관하게 코드를 작성할 수 있도록 일반화 " +"된 API를 제공합니다." + +#: ../../scenarios/db.rst:38 +msgid "Records" +msgstr "Records" + +#: ../../scenarios/db.rst:40 +msgid "" +"`Records `_ is minimalist SQL " +"library, designed for sending raw SQL queries to various databases. Data can" +" be used programmatically or exported to a number of useful data formats." +msgstr "" +"`Records `_ 는 미니멀리스트 SQL 라이브러리입니다. " +"다양한 데이터베이스에 raw SQL 쿼리를 날릴 수 있도록 디자인되었습니다. 데이터는 프로그래밍방식으로 사용될 수도 있고 여러 유용한 " +"데이터 포맷응로도 추출할 수 있습니다. " + +#: ../../scenarios/db.rst:48 +msgid "Also included is a command-line tool for exporting SQL data." +msgstr "SQL 데이터를 추출할 수 있는 커맨드라인 도구를 포함하고 있습니다." + +#: ../../scenarios/db.rst:53 +msgid "PugSQL" +msgstr "PugSQL" + +#: ../../scenarios/db.rst:55 +msgid "" +"`PugSQL `_ is a simple Python interface for organizing " +"and using parameterized, handwritten SQL. It is an anti-ORM that is " +"philosophically lo-fi, but it still presents a clean interface in Python." +msgstr "" +"`PugSQL `_ 은 파라미터를 집어넣어 SQL을 직접 작성하기 위한 간단한 파이썬 " +"인터페이스입니다. ORM은 절대 아니지만 파이썬으로 깔끔한 인터페이스를 제공합니다. " + +#: ../../scenarios/db.rst:66 +msgid "Django ORM" +msgstr "장고 ORM" + +#: ../../scenarios/db.rst:68 +msgid "" +"The Django ORM is the interface used by `Django " +"`_ to provide database access." +msgstr "" +"장고 ORM은 `장고 `_ 가 데이터베이스에 접근하기 위해 사용하는 " +"인터페이스입니다. " + +#: ../../scenarios/db.rst:71 +msgid "" +"It's based on the idea of `models " +"`_, an abstraction " +"that makes it easier to manipulate data in Python." +msgstr "" +"이는 `모델 `_ , 즉 파이썬으로 " +"데이터를 조직하기 쉽게 해주는 추상화라는 아이디어에 기반하고 있습니다." + +#: ../../scenarios/db.rst:75 +msgid "The basics:" +msgstr "기본 지식: " + +#: ../../scenarios/db.rst:77 +msgid "Each model is a Python class that subclasses django.db.models.Model." +msgstr "각 모델은 django.db.models.Model. 의 하위 클래스인 파이썬 클래스이다." + +#: ../../scenarios/db.rst:78 +msgid "Each attribute of the model represents a database field." +msgstr "모델의 각 속성은 데이터베이스의 필드를 나타낸다." + +#: ../../scenarios/db.rst:79 +msgid "" +"Django gives you an automatically-generated database-access API; see `Making" +" queries `__." +msgstr "" +"장고는 자동으로 만들어진 데이터베이스 엑세스 API를 제공합니다. `Making queries " +"`__ 문서를 확인하세요." + +#: ../../scenarios/db.rst:85 +msgid "peewee" +msgstr "피위(peewee)" + +#: ../../scenarios/db.rst:87 +msgid "" +"`peewee `_ is another ORM with a " +"focus on being lightweight with support for Python 2.6+ and 3.2+ which " +"supports SQLite, MySQL, and PostgreSQL by default. The `model layer " +"`_ is similar to that of the Django ORM and it has `SQL-like " +"methods " +"`_ to query data. While SQLite, MySQL, and PostgreSQL are supported " +"out-of-the-box, there is a `collection of add-ons " +"`_ " +"available." +msgstr "" +"`peewee `_ 는 파이썬 2.6 이상을 지원하면서 3.2 " +"이상도 지원하는 가벼운 ORM입니다. SQLite, MySQL, 그리고 PostgreSQL을 기본적으로 지원합니다. `model " +"layer `_ 는 장고 ORM과 비슷합니다. `SQL 비스무리한 메소드 " +"`_ 로로 데이터를를 쿼리할 수도도 있습니다. SQLite, MySQL, PostgreSQL을 기본 지원하며 `다양한 애드온 " +"`_ " +"도 사용 가능합니다." + +#: ../../scenarios/db.rst:100 +msgid "PonyORM" +msgstr "포니ORM(PonyORM)" + +#: ../../scenarios/db.rst:102 +msgid "" +"`PonyORM `_ is an ORM that takes a different approach " +"to querying the database. Instead of writing an SQL-like language or boolean" +" expressions, Python's generator syntax is used. There's also a graphical " +"schema editor that can generate PonyORM entities for you. It supports Python" +" 2.6+ and Python 3.3+ and can connect to SQLite, MySQL, PostgreSQL, and " +"Oracle." +msgstr "" +"`PonyORM `_ 은 데이터베이스 쿼리를 위한 새로운 접근방식을 취하는 ORM입니다. SQL과 " +"비슷한 언어나 불리언 표현식을 작성하는 대신, 파이썬의 제너레이터 구문을 사용합니다. PonyORM 엔티티를 생성할 수 있는 그래픽 " +"스키마 편집기도 제공합니다. 파이썬 2.6 이상과 파이썬 3.3 이상을 지원하고 SQLite, MySQL, PostgreSQL, " +"Oracle에 연결할 수 있습니다." + +#: ../../scenarios/db.rst:111 +msgid "SQLObject" +msgstr "SQLObject" + +#: ../../scenarios/db.rst:113 +msgid "" +"`SQLObject `_ is yet another ORM. It supports a " +"wide variety of databases: common database systems like MySQL, PostgreSQL, " +"and SQLite and more exotic systems like SAP DB, SyBase, and Microsoft SQL " +"Server. It only supports Python 2 from Python 2.6 upwards." +msgstr "" +"`SQLObject `_ 도 또다른 ORM입니다. 다양한 데이터베이스를 지원합니다. " +"MySQL, PostgreSQL, SQLite처럼 일반적인 데이터베이스 뿐만 아니라 SAP DB, SyBase, Microsoft SQL" +" Server 같은 기묘한 데이터베이스 시스템도. 지원합니다.파이썬 2.6 이상의 파이썬2를 지원합니다다." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "The Python Database API (DB-API) defines a standard interface for Python " +#~ "database access modules. It's documented in :pep:`249`. Nearly all Python " +#~ "database modules such as `sqlite3`, `psycopg` and `mysql-python` conform to " +#~ "this interface." +#~ msgstr "" + +#~ msgid "" +#~ "`Records `_ is minimalist SQL " +#~ "library, designed for sending raw SQL queries to various databases. Data can" +#~ " be used programmatically, or exported to a number of useful data formats." +#~ msgstr "" + +#~ msgid "" +#~ "The Django ORM is the interface used by `Django " +#~ "`_ to provide database access." +#~ msgstr "" + +#~ msgid "" +#~ "`peewee `_ is another ORM with a " +#~ "focus on being lightweight with support for Python 2.6+ and 3.2+ which " +#~ "supports SQLite, MySQL and Postgres by default. The `model layer " +#~ "`_ is similar to that of the Django ORM and it has `SQL-like " +#~ "methods " +#~ "`_ to query data. While SQLite, MySQL and Postgres are supported out-" +#~ "of-the-box, there is a `collection of add-ons " +#~ "`_ " +#~ "available." +#~ msgstr "" + +#~ msgid "" +#~ "`PonyORM `_ is an ORM that takes a different approach " +#~ "to querying the database. Instead of writing an SQL-like language or boolean" +#~ " expressions, Python's generator syntax is used. There's also an graphical " +#~ "schema editor that can generate PonyORM entities for you. It supports Python" +#~ " 2.6+ and Python 3.3+ and can connect to SQLite, MySQL, Postgres & Oracle" +#~ msgstr "" + +#~ msgid "" +#~ "`SQLObject `_ is yet another ORM. It supports a " +#~ "wide variety of databases: Common database systems MySQL, Postgres and " +#~ "SQLite and more exotic systems like SAP DB, SyBase and MSSQL. It only " +#~ "supports Python 2 from Python 2.6 upwards." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/gui.mo b/docs/locale/ko/LC_MESSAGES/scenarios/gui.mo new file mode 100644 index 00000000..ac0b3583 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/gui.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/gui.po b/docs/locale/ko/LC_MESSAGES/scenarios/gui.po new file mode 100644 index 00000000..377af7e1 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/gui.po @@ -0,0 +1,392 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../scenarios/gui.rst:4 +msgid "GUI Applications" +msgstr "GUI 응용" + +#: ../../scenarios/gui.rst:9 +msgid "Alphabetical list of GUI Applications." +msgstr "GUI 응용의 알파벳 순 목록입니다." + +#: ../../scenarios/gui.rst:14 +msgid "Camelot" +msgstr "Camelot" + +#: ../../scenarios/gui.rst:16 +msgid "" +"`Camelot `_ provides components for building " +"applications on top of Python, SQLAlchemy, and Qt. It is inspired by the " +"Django admin interface." +msgstr "" +"`Camelot `_ 는 파이썬, SQLAlchemy, Qt 위에 응용을 만들기 " +"위한 컴포넌트를 제공합니다. Django의 관리자 인터페이스에서 영감을 받았습니다." + +#: ../../scenarios/gui.rst:20 +msgid "" +"The main resource for information is the website: http://www.python-" +"camelot.com and the mailing list " +"https://groups.google.com/forum/#!forum/project-camelot." +msgstr "" +"정보를 얻을 수 있는 주요 리소스는 웹사이트 http://www.python-camelot.com 와 메일링 리스트 " +"https://groups.google.com/forum/#!forum/project-camelot 입니다." + +#: ../../scenarios/gui.rst:27 +msgid "Cocoa" +msgstr "Cocoa" + +#: ../../scenarios/gui.rst:29 +msgid "" +"The Cocoa framework is only available on OS X. Don't pick this if you're " +"writing a cross-platform application!" +msgstr "Cocoa 프레임워크는 OS X에서만 사용할 수 있습니다. 크로스 플랫폼 응용을 만든다면 이것을 선택하지 마세요!" + +#: ../../scenarios/gui.rst:34 +msgid "GTk" +msgstr "GTk" + +#: ../../scenarios/gui.rst:36 +msgid "" +"PyGTK provides Python bindings for the GTK+ toolkit. However, it has been " +"superseded by PyGObject. PyGTK should not be used for new projects and " +"existing projects should be ported to PyGObject." +msgstr "" +"PyGTK는 GTK+ 툴킷을 위한 파이썬 바인딩을 제공합니다. 그러나 PyGObject로 대체되었습니다. PyGTK는 새 프로젝트에 " +"사용해서는 안 되며, 기존 프로젝트는 PyGObject로 이식되어야 합니다." + +#: ../../scenarios/gui.rst:41 +msgid "PyGObject aka (PyGi)" +msgstr "PyGObject (PyGi라고도 함)" + +#: ../../scenarios/gui.rst:43 +msgid "" +"`PyGObject `_ provides Python " +"bindings which gives access to the entire GNOME software platform. It is " +"fully compatible with GTK+ 3. Here is a tutorial to get started with `Python" +" GTK+ 3 Tutorial `_." +msgstr "" +"`PyGObject `_ 는 전체 GNOME 소프트웨어 " +"플랫폼에 접근할 수 있는 파이썬 바인딩을 제공합니다. GTK+ 3과 완전히 호환됩니다. 시작하기 위한 튜토리얼은 다음과 같습니다: " +"`Python GTK+ 3 Tutorial `_." + +#: ../../scenarios/gui.rst:48 +msgid "`API Reference `_" +msgstr "`API 레퍼런스 `_" + +#: ../../scenarios/gui.rst:53 +msgid "Kivy" +msgstr "Kivy" + +#: ../../scenarios/gui.rst:55 +msgid "" +"`Kivy `_ is a Python library for development of multi-touch" +" enabled media rich applications. The aim is to allow for quick and easy " +"interaction design and rapid prototyping, while making your code reusable " +"and deployable." +msgstr "" +"`Kivy `_ 는 멀티터치를 지원하는 미디어가 풍부한 응용을 개발하기 위한 파이썬 라이브러리입니다. " +"빠르고 쉬운 인터랙션 디자인과 신속한 프로토타이핑을 가능하게 하면서도, 코드를 재사용하고 배포할 수 있게 하는 것이 목표입니다." + +#: ../../scenarios/gui.rst:60 +msgid "" +"Kivy is written in Python, based on OpenGL, and supports different input " +"devices such as: Mouse, Dual Mouse, TUIO, WiiMote, WM_TOUCH, HIDtouch, " +"Apple's products, and so on." +msgstr "" +"Kivy는 파이썬으로 작성되어 있고 OpenGL을 기반으로 하며, 마우스, 듀얼 마우스, TUIO, WiiMote, WM_TOUCH, " +"HIDtouch, Apple 제품 등 다양한 입력 장치를 지원합니다." + +#: ../../scenarios/gui.rst:64 +msgid "" +"Kivy is actively being developed by a community and is free to use. It " +"operates on all major platforms (Linux, OS X, Windows, Android)." +msgstr "" +"Kivy는 커뮤니티에 의해 활발히 개발되고 있으며 무료로 사용할 수 있습니다. 주요 플랫폼(Linux, OS X, Windows, " +"Android) 모두에서 동작합니다." + +#: ../../scenarios/gui.rst:67 +msgid "The main resource for information is the website: http://kivy.org" +msgstr "정보를 얻을 수 있는 주요 리소스는 웹사이트 http://kivy.org 입니다." + +#: ../../scenarios/gui.rst:72 +msgid "PyObjC" +msgstr "PyObjC" + +#: ../../scenarios/gui.rst:74 +msgid "" +"Only available on OS X. Don't pick this if you're writing a cross-platform " +"application." +msgstr "OS X에서만 사용할 수 있습니다. 크로스 플랫폼 응용을 만든다면 이것을 선택하지 마세요." + +#: ../../scenarios/gui.rst:79 +msgid "PySide" +msgstr "PySide" + +#: ../../scenarios/gui.rst:81 +msgid "" +"PySide is a Python binding of the cross-platform GUI toolkit Qt. The package" +" name depends on the major Qt version (`PySide` for Qt4, `PySide2` for Qt5, " +"and `PySide6` for Qt6). This set of bindings is developed by `The Qt Company" +" `_." +msgstr "" +"PySide는 크로스 플랫폼 GUI 툴킷 Qt의 파이썬 바인딩입니다. 패키지 이름은 Qt의 메이저 버전에 따라 다릅니다(Qt4용은 " +"`PySide`, Qt5용은 `PySide2`, Qt6용은 `PySide6`). 이 바인딩 모음은 `The Qt Company " +"`_ 가 개발합니다." + +#: ../../scenarios/gui.rst:90 +msgid "https://pyside.org" +msgstr "https://pyside.org" + +#: ../../scenarios/gui.rst:95 +msgid "PyQt" +msgstr "PyQt" + +#: ../../scenarios/gui.rst:97 +msgid "" +"If your software does not fully comply with the GPL you will need a " +"commercial license!" +msgstr "여러분의 소프트웨어가 GPL을 완전히 준수하지 않는다면 상용 라이선스가 필요합니다!" + +#: ../../scenarios/gui.rst:99 +msgid "PyQt provides Python bindings for the Qt Framework (see below)." +msgstr "PyQt는 Qt 프레임워크(아래 참고)를 위한 파이썬 바인딩을 제공합니다." + +#: ../../scenarios/gui.rst:101 +msgid "http://www.riverbankcomputing.co.uk/software/pyqt/download" +msgstr "http://www.riverbankcomputing.co.uk/software/pyqt/download" + +#: ../../scenarios/gui.rst:106 +msgid "Pyjs Desktop (formerly Pyjamas Desktop)" +msgstr "Pyjs Desktop (이전 명칭 Pyjamas Desktop)" + +#: ../../scenarios/gui.rst:108 +msgid "" +"Pyjs Desktop is a application widget set for desktop and a cross-platform " +"framework. It allows the exact same Python web application source code to be" +" executed as a standalone desktop application." +msgstr "" +"Pyjs Desktop은 데스크톱을 위한 응용 위젯 세트이자 크로스 플랫폼 프레임워크입니다. 정확히 동일한 파이썬 웹 응용 소스 코드를 " +"독립적인 데스크톱 응용으로 실행할 수 있게 해줍니다." + +#: ../../scenarios/gui.rst:113 +msgid "The main website: `pyjs `_." +msgstr "메인 웹사이트: `pyjs `_." + +#: ../../scenarios/gui.rst:118 +msgid "Qt" +msgstr "Qt" + +#: ../../scenarios/gui.rst:120 +msgid "" +"`Qt `_ is a cross-platform application framework " +"that is widely used for developing software with a GUI but can also be used " +"for non-GUI applications." +msgstr "" +"`Qt `_ 는 크로스 플랫폼 응용 프레임워크로, GUI를 갖춘 소프트웨어 개발에 널리 " +"사용되지만 GUI가 없는 응용에도 사용할 수 있습니다." + +#: ../../scenarios/gui.rst:127 +msgid "PySimpleGUI" +msgstr "PySimpleGUI" + +#: ../../scenarios/gui.rst:129 +msgid "" +"`PySimpleGUI `_ is a wrapper for " +"Tkinter and Qt (others on the way). The amount of code required to " +"implement custom GUIs is much shorter using PySimpleGUI than if the same GUI" +" were written directly using Tkinter or Qt. PySimpleGUI code can be " +"\"ported\" between GUI frameworks by changing import statements." +msgstr "" +"`PySimpleGUI `_ 는 Tkinter와 Qt(그 외의 것들도 " +"준비 중)를 위한 래퍼입니다. Tkinter나 Qt를 직접 사용하여 같은 GUI를 작성하는 것에 비해, PySimpleGUI를 사용하면 " +"사용자 정의 GUI를 구현하는 데 필요한 코드 양이 훨씬 짧습니다. PySimpleGUI 코드는 import 구문만 바꾸면 GUI " +"프레임워크 사이에 \"이식\"할 수 있습니다." + +#: ../../scenarios/gui.rst:139 +msgid "" +"PySimpleGUI is contained in a single PySimpleGUI.py file. Should pip " +"installation be impossible, copying the PySimpleGUI.py file into a project's" +" folder is all that's required to import and begin using." +msgstr "" +"PySimpleGUI는 단일 PySimpleGUI.py 파일에 들어 있습니다. pip 설치가 불가능한 경우, PySimpleGUI.py " +"파일을 프로젝트 폴더에 복사하기만 하면 임포트하여 사용할 수 있습니다." + +#: ../../scenarios/gui.rst:146 +msgid "Toga" +msgstr "Toga" + +#: ../../scenarios/gui.rst:148 +msgid "" +"`Toga `_ is a Python native, OS " +"native, cross platform GUI toolkit. Toga consists of a library of base " +"components with a shared interface to simplify platform-agnostic GUI " +"development." +msgstr "" +"`Toga `_ 는 파이썬 네이티브이자 OS 네이티브인 크로스 " +"플랫폼 GUI 툴킷입니다. Toga는 플랫폼에 구애받지 않는 GUI 개발을 단순화하기 위해 공유 인터페이스를 갖춘 기본 컴포넌트 " +"라이브러리로 구성되어 있습니다." + +#: ../../scenarios/gui.rst:152 +msgid "" +"Toga is available on macOS, Windows, Linux (GTK), and mobile platforms such " +"as Android and iOS." +msgstr "" +"Toga는 macOS, Windows, Linux(GTK), 그리고 Android와 iOS 같은 모바일 플랫폼에서 사용할 수 있습니다." + +#: ../../scenarios/gui.rst:158 +msgid "Tk" +msgstr "Tk" + +#: ../../scenarios/gui.rst:160 +msgid "" +"Tkinter is a thin object-oriented layer on top of Tcl/Tk. **It has the " +"advantage of being included with the Python standard library, making it the " +"most convenient and compatible toolkit to program with.**" +msgstr "" +"Tkinter는 Tcl/Tk 위에 올라간 얇은 객체지향 계층입니다. **파이썬 표준 라이브러리에 포함되어 있다는 이점이 있어, " +"프로그래밍하기에 가장 편리하고 호환성이 좋은 툴킷입니다.**" + +#: ../../scenarios/gui.rst:164 +msgid "" +"Both Tk and Tkinter are available on most Unix platforms, as well as on " +"Windows and Macintosh systems. Starting with the 8.0 release, Tk offers " +"native look and feel on all platforms." +msgstr "" +"Tk와 Tkinter는 대부분의 Unix 플랫폼과 Windows, Macintosh 시스템에서 사용할 수 있습니다. 8.0 릴리즈부터 " +"Tk는 모든 플랫폼에서 네이티브 룩앤필을 제공합니다." + +#: ../../scenarios/gui.rst:168 +msgid "" +"There's a good multi-language Tk tutorial with Python examples at `TkDocs " +"`_. There's more information " +"available on the `Python Wiki `_." +msgstr "" +"파이썬 예시가 포함된 좋은 다국어 Tk 튜토리얼이 `TkDocs " +"`_ 에 있습니다. 더 많은 정보는 `Python Wiki " +"`_ 에서 볼 수 있습니다." + +#: ../../scenarios/gui.rst:175 +msgid "wxPython" +msgstr "wxPython" + +#: ../../scenarios/gui.rst:177 +msgid "" +"wxPython is a GUI toolkit for the Python programming language. It allows " +"Python programmers to create programs with a robust, highly functional " +"graphical user interface, simply and easily. It is implemented as a Python " +"extension module (native code) that wraps the popular wxWidgets cross " +"platform GUI library, which is written in C++." +msgstr "" +"wxPython은 파이썬 프로그래밍 언어를 위한 GUI 툴킷입니다. 파이썬 프로그래머가 견고하고 기능이 풍부한 그래픽 사용자 인터페이스를" +" 갖춘 프로그램을 단순하고 쉽게 만들 수 있게 해줍니다. C++로 작성된 인기 있는 크로스 플랫폼 GUI 라이브러리 wxWidgets를 " +"감싸는 파이썬 확장 모듈(네이티브 코드)로 구현되어 있습니다." + +#: ../../scenarios/gui.rst:183 +msgid "" +"**Install (Stable) wxPython** *go to " +"https://www.wxpython.org/pages/downloads/ and download the appropriate " +"package for your OS.*" +msgstr "" +"**(안정 버전) wxPython 설치** *https://www.wxpython.org/pages/downloads/ 로 가서 사용하는" +" OS에 맞는 패키지를 다운로드하세요.*" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "http://developer.qt.nokia.com/wiki/PySideDownloads/" +#~ msgstr "" + +#~ msgid "" +#~ "`Camelot `_ provides components for building " +#~ "applications on top of Python, SQLAlchemy and Qt. It is inspired by the " +#~ "Django admin interface." +#~ msgstr "" + +#~ msgid "" +#~ "The main resource for information is the website: http://www.python-" +#~ "camelot.com and the mailing list " +#~ "https://groups.google.com/forum/#!forum/project-camelot" +#~ msgstr "" + +#~ msgid "" +#~ "PyGTK provides Python bindings for the GTK+ toolkit. Like the GTK+ library " +#~ "itself, it is currently licensed under the GNU LGPL. It is worth noting that" +#~ " PyGTK only currently supports the Gtk-2.X API (NOT Gtk-3.0). It is " +#~ "currently recommended that PyGTK not be used for new projects and that " +#~ "existing applications be ported from PyGTK to PyGObject." +#~ msgstr "" + +#~ msgid "" +#~ "`PyGObject `_ provides Python " +#~ "bindings, which gives access to the entire GNOME software platform. It is " +#~ "fully compatible with GTK+ 3. Here is a tutorial to get started with `Python" +#~ " GTK+ 3 Tutorial `_." +#~ msgstr "" + +#~ msgid "" +#~ "Kivy is written in Python, based on OpenGL and supports different input " +#~ "devices such as: Mouse, Dual Mouse, TUIO, WiiMote, WM_TOUCH, HIDtouch, " +#~ "Apple's products and so on." +#~ msgstr "" + +#~ msgid "" +#~ "Kivy is actively being developed by a community and is free to use. It " +#~ "operates on all major platforms (Linux, OSX, Windows, Android)." +#~ msgstr "" + +#~ msgid "pip install pyside" +#~ msgstr "" + +#~ msgid "PyjamasDesktop (pyjs Desktop)" +#~ msgstr "" + +#~ msgid "" +#~ "PyjamasDesktop is a port of Pyjamas. PyjamasDesktop is application widget " +#~ "set for desktop and a cross-platform framework. (After release v0.6 " +#~ "PyjamasDesktop is a part of Pyjamas (Pyjs)). Briefly, it allows the exact " +#~ "same Python web application source code to be executed as a standalone " +#~ "desktop application." +#~ msgstr "" + +#~ msgid "" +#~ "`Python Wiki for PyjamasDesktop " +#~ "`_." +#~ msgstr "" + +#~ msgid "The main website; `pyjs Desktop `_." +#~ msgstr "" + +#~ msgid "" +#~ "**Install (Stable) wxPython** *go to " +#~ "http://www.wxpython.org/download.php#stable and download the appropriate " +#~ "package for your OS.*" +#~ msgstr "" + +#~ msgid "PySide is a Python binding of the cross-platform GUI toolkit Qt." +#~ msgstr "" + +#~ msgid "https://wiki.qt.io/Category:LanguageBindings::PySide::Downloads" +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/imaging.mo b/docs/locale/ko/LC_MESSAGES/scenarios/imaging.mo new file mode 100644 index 00000000..f7e1b378 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/imaging.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/imaging.po b/docs/locale/ko/LC_MESSAGES/scenarios/imaging.po new file mode 100644 index 00000000..4437c11a --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/imaging.po @@ -0,0 +1,172 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../scenarios/imaging.rst:4 +msgid "Image Manipulation" +msgstr "이미지 조작" + +#: ../../scenarios/imaging.rst:8 +msgid "" +"Most image processing and manipulation techniques can be carried out " +"effectively using two libraries: Python Imaging Library (PIL) and Open " +"Source Computer Vision (OpenCV)." +msgstr "" +"대부분의 이미지 처리 및 조작 기법은 두 라이브러리, 즉 Python Imaging Library(PIL)와 Open Source " +"Computer Vision(OpenCV)을 사용하여 효과적으로 수행할 수 있습니다." + +#: ../../scenarios/imaging.rst:12 +msgid "A brief description of both is given below." +msgstr "아래에 두 라이브러리에 대한 간단한 설명이 있습니다." + +#: ../../scenarios/imaging.rst:17 +msgid "Python Imaging Library" +msgstr "Python Imaging Library" + +#: ../../scenarios/imaging.rst:19 +msgid "" +"The `Python Imaging Library `_, or " +"PIL for short, is one of the core libraries for image manipulation in " +"Python. Unfortunately, its development has stagnated, with its last release " +"in 2009." +msgstr "" +"`Python Imaging Library `_, 줄여서 " +"PIL은 파이썬에서 이미지 조작을 위한 핵심 라이브러리 중 하나입니다. 안타깝게도 2009년의 마지막 릴리즈 이후 개발이 정체된 " +"상태입니다." + +#: ../../scenarios/imaging.rst:23 +msgid "" +"Luckily for you, there's an actively-developed fork of PIL called `Pillow " +"`_ -- it's easier to install, runs on all " +"major operating systems, and supports Python 3." +msgstr "" +"다행히 PIL의 활발히 개발 중인 포크인 `Pillow `_ 가 있습니다. " +"설치가 더 쉽고, 주요 운영체제에서 모두 동작하며, 파이썬 3을 지원합니다." + +#: ../../scenarios/imaging.rst:28 ../../scenarios/imaging.rst:77 +msgid "Installation" +msgstr "설치" + +#: ../../scenarios/imaging.rst:30 +msgid "" +"Before installing Pillow, you'll have to install Pillow's prerequisites. " +"Find the instructions for your platform in the `Pillow installation " +"instructions `_." +msgstr "" +"Pillow를 설치하기 전에 Pillow의 사전 요구사항을 먼저 설치해야 합니다. `Pillow 설치 안내 " +"`_ 에서 사용 중인 플랫폼에 " +"맞는 안내를 찾으세요." + +#: ../../scenarios/imaging.rst:34 +msgid "After that, it's straightforward:" +msgstr "그 다음은 간단합니다:" + +#: ../../scenarios/imaging.rst:41 ../../scenarios/imaging.rst:92 +msgid "Example" +msgstr "예시" + +#: ../../scenarios/imaging.rst:64 +msgid "" +"There are more examples of the Pillow library in the `Pillow tutorial " +"`_." +msgstr "" +"Pillow 라이브러리의 더 많은 예시는 `Pillow 튜토리얼 " +"`_ 에서 볼 수 " +"있습니다." + +#: ../../scenarios/imaging.rst:70 +msgid "Open Source Computer Vision" +msgstr "Open Source Computer Vision" + +#: ../../scenarios/imaging.rst:72 +msgid "" +"Open Source Computer Vision, more commonly known as OpenCV, is a more " +"advanced image manipulation and processing software than PIL. It has been " +"implemented in several languages and is widely used." +msgstr "" +"Open Source Computer Vision, 흔히 OpenCV로 알려진 이 소프트웨어는 PIL보다 더 발전된 이미지 조작 및 처리" +" 도구입니다. 여러 언어로 구현되어 있으며 널리 사용됩니다." + +#: ../../scenarios/imaging.rst:79 +msgid "" +"In Python, image processing using OpenCV is implemented using the ``cv2`` " +"and ``NumPy`` modules. The `installation instructions for OpenCV " +"`_ should guide you through configuring the project " +"for yourself." +msgstr "" +"파이썬에서 OpenCV를 사용한 이미지 처리는 ``cv2`` 와 ``NumPy`` 모듈을 사용하여 구현됩니다. `OpenCV 설치 안내 " +"`_ 를 따라 프로젝트를 직접 설정할 수 있습니다." + +#: ../../scenarios/imaging.rst:84 +msgid "NumPy can be downloaded from the Python Package Index(PyPI):" +msgstr "NumPy는 Python Package Index(PyPI)에서 다운로드할 수 있습니다:" + +#: ../../scenarios/imaging.rst:110 +msgid "" +"There are more Python-implemented examples of OpenCV in this `collection of " +"tutorials `_." +msgstr "" +"파이썬으로 구현된 OpenCV 예시는 이 `튜토리얼 모음 `_ 에서 더 많이 볼 수 있습니다." + +#~ msgid "Add introduction about image manipulation and its Python libraries." +#~ msgstr "" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Todo" +#~ msgstr "" + +#~ msgid "" +#~ "Most image processing and manipulation techniques can be carried out " +#~ "effectively using two libraries: Python Imaging Library (PIL) and " +#~ "OpenSource Computer Vision (OpenCV)." +#~ msgstr "" + +#~ msgid "" +#~ "Luckily for you, there's an actively-developed fork of PIL called `Pillow " +#~ "`_ - it's easier to install, runs on all " +#~ "operating systems, and supports Python 3." +#~ msgstr "" + +#~ msgid "OpenSource Computer Vision" +#~ msgstr "" + +#~ msgid "" +#~ "OpenSource Computer Vision, more commonly known as OpenCV, is a more " +#~ "advanced image manipulation and processing software than PIL. It has been " +#~ "implemented in several languages and is widely used." +#~ msgstr "" + +#~ msgid "" +#~ "There are more examples of the Pillow library in the `Pillow tutorial " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "There are more Python-implemented examples of OpenCV in this `collection of " +#~ "tutorials `_." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/json.mo b/docs/locale/ko/LC_MESSAGES/scenarios/json.mo new file mode 100644 index 00000000..b855d24d Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/json.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/json.po b/docs/locale/ko/LC_MESSAGES/scenarios/json.po new file mode 100644 index 00000000..d1ffa4e6 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/json.po @@ -0,0 +1,91 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/json.rst:4 +msgid "JSON" +msgstr "JSON" + +#: ../../scenarios/json.rst:8 +msgid "" +"The `json `_ library can parse " +"JSON from strings or files. The library parses JSON into a Python dictionary" +" or list. It can also convert Python dictionaries or lists into JSON " +"strings." +msgstr "" +"`json `_ 라이브러리는 문자열이나 파일로부터 " +"JSON을 파싱할 수 있습니다. 이 라이브러리는 JSON을 파이썬 딕셔너리나 리스트로 파싱합니다. 반대로 파이썬 딕셔너리나 리스트를 " +"JSON 문자열로 변환할 수도 있습니다." + +#: ../../scenarios/json.rst:15 +msgid "Parsing JSON" +msgstr "JSON 파싱하기" + +#: ../../scenarios/json.rst:17 +msgid "Take the following string containing JSON data:" +msgstr "JSON 데이터를 포함한 다음과 같은 문자열이 있다고 합시다:" + +#: ../../scenarios/json.rst:23 +msgid "It can be parsed like this:" +msgstr "이렇게 파싱할 수 있습니다:" + +#: ../../scenarios/json.rst:30 +msgid "and can now be used as a normal dictionary:" +msgstr "이제 일반적인 딕셔너리처럼 사용할 수 있습니다:" + +#: ../../scenarios/json.rst:37 +msgid "You can also convert the following to JSON:" +msgstr "다음과 같이 JSON으로 변환할 수도 있습니다:" + +#~ msgid "" +#~ "The `json `_ library can parse " +#~ "JSON from strings or files. The library parses JSON into a Python dictionary" +#~ " or list. It can also convert Python dictionaries or lists into JSON " +#~ "strings." +#~ msgstr "" + +#~ msgid "simplejson" +#~ msgstr "" + +#~ msgid "" +#~ "The JSON library was added to Python in version 2.6. If you're using an " +#~ "earlier version of Python, the `simplejson " +#~ "`_ library is available via " +#~ "PyPI." +#~ msgstr "" + +#~ msgid "" +#~ "simplejson mimics the json standard library. It is available so that " +#~ "developers that use older versions of Python can use the latest features " +#~ "available in the json lib." +#~ msgstr "" + +#~ msgid "" +#~ "You can start using simplejson when the json library is not available by " +#~ "importing simplejson under a different name:" +#~ msgstr "" + +#~ msgid "" +#~ "After importing simplejson as json, the above examples will all work as if " +#~ "you were using the standard json library." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/ml.mo b/docs/locale/ko/LC_MESSAGES/scenarios/ml.mo new file mode 100644 index 00000000..e846d651 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/ml.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/ml.po b/docs/locale/ko/LC_MESSAGES/scenarios/ml.po new file mode 100644 index 00000000..d5df27c5 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/ml.po @@ -0,0 +1,271 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/ml.rst:5 +msgid "Machine Learning" +msgstr "머신러닝" + +#: ../../scenarios/ml.rst:9 +msgid "" +"Python has a vast number of libraries for data analysis, statistics, and " +"Machine Learning itself, making it a language of choice for many data " +"scientists." +msgstr "파이썬은 데이터 분석, 통계, 그리고 머신러닝 자체를 위한 라이브러리가 방대해서, 많은 데이터 과학자가 선택하는 언어입니다." + +#: ../../scenarios/ml.rst:11 +msgid "" +"Some widely used packages for Machine Learning and other data science " +"applications are listed below." +msgstr "머신러닝과 기타 데이터 과학 응용에서 널리 사용되는 패키지 몇 가지를 아래에 나열합니다." + +#: ../../scenarios/ml.rst:16 +msgid "SciPy Stack" +msgstr "SciPy Stack" + +#: ../../scenarios/ml.rst:18 +msgid "" +"The SciPy stack consists of a bunch of core helper packages used in data " +"science for statistical analysis and visualising data. Because of its huge " +"number of functionalities and ease of use, the Stack is considered a must-" +"have for most data science applications." +msgstr "" +"SciPy 스택은 데이터 과학에서 통계 분석과 데이터 시각화에 사용되는 핵심 헬퍼 패키지들로 구성됩니다. 방대한 기능과 사용 편의성 " +"덕분에, 이 스택은 대부분의 데이터 과학 응용에서 필수로 여겨집니다." + +#: ../../scenarios/ml.rst:20 +msgid "" +"The Stack consists of the following packages (link to documentation given):" +msgstr "이 스택은 다음 패키지로 구성되어 있습니다(문서 링크 제공):" + +#: ../../scenarios/ml.rst:22 +msgid "`NumPy `_" +msgstr "`NumPy `_" + +#: ../../scenarios/ml.rst:23 +msgid "`SciPy library `_" +msgstr "`SciPy 라이브러리 `_" + +#: ../../scenarios/ml.rst:24 +msgid "`Matplotlib `_" +msgstr "`Matplotlib `_" + +#: ../../scenarios/ml.rst:25 +msgid "`IPython `_" +msgstr "`IPython `_" + +#: ../../scenarios/ml.rst:26 +msgid "`pandas `_" +msgstr "`pandas `_" + +#: ../../scenarios/ml.rst:27 +msgid "`Sympy `_" +msgstr "`Sympy `_" + +#: ../../scenarios/ml.rst:28 +msgid "`nose `_" +msgstr "`nose `_" + +#: ../../scenarios/ml.rst:30 +msgid "" +"The stack also comes with Python bundled in, but has been excluded from the " +"above list." +msgstr "이 스택에는 파이썬도 함께 포함되어 있지만 위 목록에서는 제외했습니다." + +#: ../../scenarios/ml.rst:33 ../../scenarios/ml.rst:49 +msgid "Installation" +msgstr "설치" + +#: ../../scenarios/ml.rst:35 +msgid "" +"For installing the full stack, or individual packages, you can refer to the " +"instructions given `here `_." +msgstr "" +"스택 전체나 개별 패키지를 설치하려면 `여기 `_ 에 있는 안내를 " +"참고하세요." + +#: ../../scenarios/ml.rst:37 +msgid "" +"**NB:** `Anaconda `_ is highly " +"preferred and recommended for installing and maintaining data science " +"packages seamlessly." +msgstr "" +"**참고:** 데이터 과학 패키지를 매끄럽게 설치하고 유지하기 위해서는 `Anaconda " +"`_ 가 매우 선호되고 권장됩니다." + +#: ../../scenarios/ml.rst:42 +msgid "scikit-learn" +msgstr "scikit-learn" + +#: ../../scenarios/ml.rst:44 +msgid "" +"Scikit is a free and open source machine learning library for Python. It " +"offers off-the-shelf functions to implement many algorithms like linear " +"regression, classifiers, SVMs, k-means, Neural Networks, etc. It also has a " +"few sample datasets which can be directly used for training and testing." +msgstr "" +"Scikit는 파이썬을 위한 무료 오픈 소스 머신러닝 라이브러리입니다. 선형 회귀, 분류기, SVM, k-평균, 신경망 등 많은 " +"알고리즘을 구현할 수 있는 즉시 사용 가능한 함수를 제공합니다. 또한 학습과 테스트에 바로 사용할 수 있는 몇 가지 샘플 데이터셋도 " +"가지고 있습니다." + +#: ../../scenarios/ml.rst:46 +msgid "" +"Because of its speed, robustness, and ease of, it's one of the most widely-" +"used libraries for many Machine Learning applications." +msgstr "속도, 견고함, 사용 편의성 덕분에 많은 머신러닝 응용에서 가장 널리 사용되는 라이브러리 중 하나입니다." + +#: ../../scenarios/ml.rst:51 +msgid "Through PyPI:" +msgstr "PyPI를 통해서:" + +#: ../../scenarios/ml.rst:57 +msgid "Through conda:" +msgstr "conda를 통해서:" + +#: ../../scenarios/ml.rst:63 +msgid "" +"scikit-learn also comes shipped with Anaconda (mentioned above). For more " +"installation instructions, refer to `this link `_." +msgstr "" +"scikit-learn은 (위에서 언급한) Anaconda에도 함께 포함되어 있습니다. 더 자세한 설치 안내는 `이 링크 " +"`_ 를 참고하세요." + +#: ../../scenarios/ml.rst:66 +msgid "Example" +msgstr "예시" + +#: ../../scenarios/ml.rst:68 +msgid "" +"For this example, we train a simple classifier on the `Iris dataset " +"`_, which comes bundled " +"in with scikit-learn." +msgstr "" +"이 예시에서는 scikit-learn에 함께 포함되어 있는 `Iris 데이터셋 " +"`_ 으로 간단한 분류기를 학습시킵니다." + +#: ../../scenarios/ml.rst:70 +msgid "" +"The dataset takes four features of flowers: sepal length, sepal width, petal" +" length, and petal width, and classifies them into three flower species " +"(labels): setosa, versicolor, or virginica. The labels have been represented" +" as numbers in the dataset: 0 (setosa), 1 (versicolor), and 2 (virginica)." +msgstr "" +"이 데이터셋은 꽃잎의 네 가지 특징(꽃받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비)을 입력으로 받아, 세 가지 꽃 종(라벨)인 " +"setosa, versicolor, virginica로 분류합니다. 데이터셋에서 라벨은 0(setosa), 1(versicolor), " +"2(virginica)와 같이 숫자로 표현되어 있습니다." + +#: ../../scenarios/ml.rst:72 +msgid "" +"We shuffle the Iris dataset and divide it into separate training and testing" +" sets, keeping the last 10 data points for testing and rest for training. We" +" then train the classifier on the training set and predict on the testing " +"set." +msgstr "" +"Iris 데이터셋을 섞은 다음 학습용과 테스트용으로 나누어, 마지막 10개의 데이터 포인트는 테스트용으로, 나머지는 학습용으로 둡니다. " +"그런 다음 학습 세트로 분류기를 학습시키고 테스트 세트에 대해 예측합니다." + +#: ../../scenarios/ml.rst:115 +msgid "" +"Since we're splitting randomly and the classifier trains on every iteration," +" the accuracy may vary. Running the above code gives:" +msgstr "" +"무작위로 나누고 매 반복마다 분류기가 학습되기 때문에 정확도는 달라질 수 있습니다. 위 코드를 실행하면 다음과 같은 결과가 나옵니다:" + +#: ../../scenarios/ml.rst:123 +msgid "" +"The first line contains the labels (i.e. flower species) of the testing data" +" as predicted by our classifier, and the second line contains the actual " +"flower species as given in the dataset. We thus get an accuracy of 100% this" +" time." +msgstr "" +"첫 번째 줄에는 분류기가 예측한 테스트 데이터의 라벨(즉, 꽃 종)이 있고, 두 번째 줄에는 데이터셋에 주어진 실제 꽃 종이 있습니다. " +"따라서 이번에는 100%의 정확도를 얻었습니다." + +#: ../../scenarios/ml.rst:125 +msgid "" +"More on scikit-learn can be read in the `documentation `_." +msgstr "" +"scikit-learn에 대해 더 알고 싶다면 `문서 `_ 에서 읽을 수 있습니다." + +#~ msgid "" +#~ "Python has a vast number of libraries for data analysis, statistics and " +#~ "Machine Learning itself, making it a language of choice for many data " +#~ "scientists." +#~ msgstr "" + +#~ msgid "" +#~ "Some widely used packages for Machine Learning and other Data Science " +#~ "applications are enlisted below." +#~ msgstr "" + +#~ msgid "Scipy Stack" +#~ msgstr "" + +#~ msgid "" +#~ "The Scipy stack consists of a bunch of core helper packages used in data " +#~ "science, for statistical analysis and visualising data. Because of its huge " +#~ "number of functionalities and ease of use, the Stack is considered a must-" +#~ "have for most data science applications." +#~ msgstr "" + +#~ msgid "" +#~ "Scikit is a free and open-source machine learning library for Python. It " +#~ "offers off-the-shelf functions to implement many algorithms like linear " +#~ "regression, classifiers, SVMs, k-means, Neural Networks etc. It also has a " +#~ "few sample datasets which can be directly used for training and testing." +#~ msgstr "" + +#~ msgid "" +#~ "Because of its speed, robustness and easiness to use, it's one of the most " +#~ "widely-used libraries for many Machine Learning applications." +#~ msgstr "" + +#~ msgid "" +#~ "scikit-learn also comes in shipped with Anaconda (mentioned above). For more" +#~ " installation instructions, refer to `this link `_." +#~ msgstr "" + +#~ msgid "" +#~ "The dataset takes four features of flowers: sepal length, sepal width, petal" +#~ " length and petal width, and classifies them into three flower species " +#~ "(labels): setosa, versicolor or virginica. The labels have been represented " +#~ "as numbers in the dataset: 0 (setosa), 1 (versicolor) and 2 (virginica)." +#~ msgstr "" + +#~ msgid "" +#~ "We shuffle the Iris dataset, and divide it into separate training and " +#~ "testing sets: keeping the last 10 data points for testing and rest for " +#~ "training. We then train the classifier on the training set, and predict on " +#~ "the testing set." +#~ msgstr "" + +#~ msgid "" +#~ "The first line contains the labels (i.e flower species) of the testing data " +#~ "as predicted by our classifier, and the second line contains the actual " +#~ "flower species as given in the dataset. We thus get an accuracy of 100% this" +#~ " time." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/network.mo b/docs/locale/ko/LC_MESSAGES/scenarios/network.mo new file mode 100644 index 00000000..76e1afe3 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/network.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/network.po b/docs/locale/ko/LC_MESSAGES/scenarios/network.po new file mode 100644 index 00000000..4f75ed51 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/network.po @@ -0,0 +1,143 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Ahn Young Seon \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/network.rst:4 +msgid "Networking" +msgstr "네트워킹" + +#: ../../scenarios/network.rst:11 +msgid "Twisted" +msgstr "Twisted" + +#: ../../scenarios/network.rst:13 +msgid "" +"`Twisted `_ is an event-driven " +"networking engine. It can be used to build applications around many " +"different networking protocols, including HTTP servers and clients, " +"applications using SMTP, POP3, IMAP, or SSH protocols, instant messaging," +" and `much more `_." +msgstr "" +"`Twisted `_ 는 이벤트 드리븐 네트워킹 엔진이야. " +"HTTP 서버 및 클라이언트, SMTP, POP3, IMAP 또는 " +"SSH 프로토콜을 사용하는 애플리케이션, 인스턴트 메시징 등을 포함한 " +"다양한 네트워킹 프로토콜을 두루 사용하여 애플리케이션을 구축할 수 있습니다." +"`더 많은 정보는 `_ 를 보세요." + +#: ../../scenarios/network.rst:22 +msgid "PyZMQ" +msgstr "PyZMQ" + +#: ../../scenarios/network.rst:24 +msgid "" +"`PyZMQ `_ is the Python binding for " +"`ZeroMQ `_, which is a high-performance asynchronous " +"messaging library. One great advantage of ZeroMQ is that it can be used " +"for message queuing without a message broker. The basic patterns for this" +" are:" +msgstr "" +"`PyZMQ `_ 는 고성능 비동기 메시징 라이브러리 " +"`ZeroMQ `_ 를 위한 파이썬 바인딩입니다. " +"ZeroMQ의 가장 큰 장점은 메시지 브로커 없이도 메시지 큐를 쌓을 수 있다는 점입니다. " +"기본적인 사용 패턴은: " + +#: ../../scenarios/network.rst:29 +msgid "" +"request-reply: connects a set of clients to a set of services. This is a " +"remote procedure call and task distribution pattern." +msgstr "" +"요청 응답(request-reply) 패턴: 여러 클라이언트 집합을 여러 서비스 집합에 연결하는 패턴. " +"원격 프로시저 호출(RPC)와 분산 작업 패턴입니다. " + +#: ../../scenarios/network.rst:31 +msgid "" +"publish-subscribe: connects a set of publishers to a set of subscribers. " +"This is a data distribution pattern." +msgstr "" +"발행-구독(publish-subscribe) 패턴: " +"여러 발행자 집합을 여러 구독자 집합에 연결하는 패턴." +"데이터 분산 패턴입니다. " + +#: ../../scenarios/network.rst:33 +msgid "" +"push-pull (or pipeline): connects nodes in a fan-out/fan-in pattern that " +"can have multiple steps and loops. This is a parallel task distribution " +"and collection pattern." +msgstr "" +"push-pull (또는 pipeline) 패턴: " +"여러 단계의 스텝과 루프를 수행하는 fan-out/fan-in 패턴에서 노드들을 잇는 패턴." +"작업을 분산해서 병렬로 수행하고 이를 한 데 모으는 패턴이야." + +#: ../../scenarios/network.rst:37 +msgid "" +"For a quick start, read the `ZeroMQ guide " +"`_." +msgstr "" +"퀵스타트를 하려면 읽어요! `ZeroMQ guide " +"`_." + +#: ../../scenarios/network.rst:42 +msgid "gevent" +msgstr "게븐트(gevent)" + +#: ../../scenarios/network.rst:44 +msgid "" +"`gevent `_ is a coroutine-based Python networking" +" library that uses greenlets to provide a high-level synchronous API on " +"top of the libev event loop." +msgstr "" +"`gevent `_ 는 코루틴을 사용하는 파이썬 네트워킹 라이브러리 입니다. " +"그린렛(역주: https://greenlet.readthedocs.io/en/latest/)" +"(역주: http://leekchan.com/gevent-tutorial-ko/)을 사용하여 고수준의 동기 API를 " +"libev(역주: http://software.schmorp.de/pkg/libev.html) 이벤트 루프 위에서 돌릴 수 있습니다." + +#~ msgid "" +#~ "`Twisted `_ is an" +#~ " event-driven networking engine. It " +#~ "can be used to build applications " +#~ "around many different networking protocols," +#~ " including http servers and clients, " +#~ "applications using SMTP, POP3, IMAP or" +#~ " SSH protocols, instant messaging and " +#~ "`much more " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "`PyZMQ `_ is the" +#~ " Python binding for `ZeroMQ " +#~ "`_, which is a " +#~ "high-performance asynchronous messaging library." +#~ " One great advantage of ZeroMQ is " +#~ "that it can be used for message" +#~ " queuing without a message broker. " +#~ "The basic patterns for this are:" +#~ msgstr "" + +#~ msgid "" +#~ "push-pull (or pipeline): connects nodes" +#~ " in a fan-out / fan-in " +#~ "pattern that can have multiple steps," +#~ " and loops. This is a parallel " +#~ "task distribution and collection pattern." +#~ msgstr "" + diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/scientific.mo b/docs/locale/ko/LC_MESSAGES/scenarios/scientific.mo new file mode 100644 index 00000000..f0dd77e7 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/scientific.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/scientific.po b/docs/locale/ko/LC_MESSAGES/scenarios/scientific.po new file mode 100644 index 00000000..58b28f2e --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/scientific.po @@ -0,0 +1,396 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/scientific.rst:4 +msgid "Scientific Applications" +msgstr "과학 응용" + +#: ../../scenarios/scientific.rst:11 +msgid "Context" +msgstr "배경" + +#: ../../scenarios/scientific.rst:13 +msgid "" +"Python is frequently used for high-performance scientific applications. It " +"is widely used in academia and scientific projects because it is easy to " +"write and performs well." +msgstr "파이썬은 고성능 과학 응용에 자주 사용됩니다. 작성하기 쉽고 성능도 좋아서 학계와 과학 프로젝트에서 널리 사용됩니다." + +#: ../../scenarios/scientific.rst:17 +msgid "" +"Due to its high performance nature, scientific computing in Python often " +"utilizes external libraries, typically written in faster languages (like C, " +"or Fortran for matrix operations). The main libraries used are `NumPy`_, " +"`SciPy`_ and `Matplotlib`_. Going into detail about these libraries is " +"beyond the scope of the Python guide. However, a comprehensive introduction " +"to the scientific Python ecosystem can be found in the `Python Scientific " +"Lecture Notes `_." +msgstr "" +"고성능을 추구하는 특성상, 파이썬에서의 과학 계산은 보통 더 빠른 언어(예: C, 행렬 연산에는 Fortran)로 작성된 외부 " +"라이브러리를 활용하는 경우가 많습니다. 주로 사용되는 라이브러리는 `NumPy`_, `SciPy`_, `Matplotlib`_ 입니다. " +"이 라이브러리들을 자세히 다루는 것은 파이썬 안내서의 범위를 벗어납니다. 그러나 과학용 파이썬 생태계에 대한 포괄적인 소개는 " +"`Python Scientific Lecture Notes `_ 에서 찾을" +" 수 있습니다." + +#: ../../scenarios/scientific.rst:28 +msgid "Tools" +msgstr "도구" + +#: ../../scenarios/scientific.rst:31 +msgid "IPython" +msgstr "IPython" + +#: ../../scenarios/scientific.rst:33 +msgid "" +"`IPython `_ is an enhanced version of Python " +"interpreter, which provides features of great interest to scientists. The " +"`inline mode` allows graphics and plots to be displayed in the terminal (Qt " +"based version). Moreover, the `notebook` mode supports literate programming " +"and reproducible science generating a web-based Python notebook. This " +"notebook allows you to store chunks of Python code alongside the results and" +" additional comments (HTML, LaTeX, Markdown). The notebook can then be " +"shared and exported in various file formats." +msgstr "" +"`IPython `_ 은 파이썬 인터프리터의 향상된 버전으로, 과학자에게 큰 관심을 끄는 기능을 " +"제공합니다. `인라인 모드(inline mode)` 는 (Qt 기반 버전에서) 그래픽과 플롯을 터미널에 표시할 수 있게 해줍니다. 또한 " +"`노트북(notebook)` 모드는 웹 기반의 파이썬 노트북을 생성하여 문서 중심 프로그래밍과 재현 가능한 과학을 지원합니다. 이 " +"노트북에는 파이썬 코드 조각을 결과 및 추가 설명(HTML, LaTeX, Markdown)과 함께 저장할 수 있습니다. 그런 다음 " +"노트북을 공유하고 다양한 파일 형식으로 내보낼 수 있습니다." + +#: ../../scenarios/scientific.rst:45 +msgid "Libraries" +msgstr "라이브러리" + +#: ../../scenarios/scientific.rst:48 +msgid "NumPy" +msgstr "NumPy" + +#: ../../scenarios/scientific.rst:50 +msgid "" +"`NumPy `_ is a low level library written in C (and " +"Fortran) for high level mathematical functions. NumPy cleverly overcomes the" +" problem of running slower algorithms on Python by using multidimensional " +"arrays and functions that operate on arrays. Any algorithm can then be " +"expressed as a function on arrays, allowing the algorithms to be run " +"quickly." +msgstr "" +"`NumPy `_ 는 고수준의 수학 함수를 제공하기 위해 C(와 Fortran)로 작성된 " +"저수준 라이브러리입니다. NumPy는 다차원 배열과 배열에서 동작하는 함수를 사용해, 파이썬에서 알고리즘이 더 느리게 실행되는 문제를 " +"영리하게 극복합니다. 그러면 어떤 알고리즘이든 배열에 대한 함수로 표현할 수 있어, 알고리즘을 빠르게 실행할 수 있습니다." + +#: ../../scenarios/scientific.rst:56 +msgid "" +"NumPy is part of the SciPy project, and is released as a separate library so" +" people who only need the basic requirements can use it without installing " +"the rest of SciPy." +msgstr "" +"NumPy는 SciPy 프로젝트의 일부이며, 기본적인 요구만 필요한 사람이 SciPy의 나머지를 설치하지 않고도 사용할 수 있도록 별도의" +" 라이브러리로 배포됩니다." + +#: ../../scenarios/scientific.rst:60 +msgid "NumPy is compatible with Python versions 2.4 through 2.7.2 and 3.1+." +msgstr "NumPy는 파이썬 2.4부터 2.7.2까지, 그리고 3.1 이상과 호환됩니다." + +#: ../../scenarios/scientific.rst:63 +msgid "Numba" +msgstr "Numba" + +#: ../../scenarios/scientific.rst:65 +msgid "" +"`Numba `_ is a NumPy aware Python compiler (just-" +"in-time (JIT) specializing compiler) which compiles annotated Python (and " +"NumPy) code to LLVM (Low Level Virtual Machine) through special decorators. " +"Briefly, Numba uses a system that compiles Python code with LLVM to code " +"which can be natively executed at runtime." +msgstr "" +"`Numba `_ 는 NumPy를 인식하는 파이썬 컴파일러(즉시(JIT) 특화 컴파일러)로," +" 특수한 데코레이터를 통해 주석이 달린 파이썬(및 NumPy) 코드를 LLVM(Low Level Virtual Machine)으로 " +"컴파일합니다. 간단히 말해, Numba는 파이썬 코드를 LLVM으로 컴파일하여 런타임에 네이티브로 실행할 수 있는 코드로 만드는 시스템을" +" 사용합니다." + +#: ../../scenarios/scientific.rst:72 +msgid "SciPy" +msgstr "SciPy" + +#: ../../scenarios/scientific.rst:74 +msgid "" +"`SciPy `_ is a library that uses NumPy for more " +"mathematical functions. SciPy uses NumPy arrays as the basic data structure," +" and comes with modules for various commonly used tasks in scientific " +"programming, including linear algebra, integration (calculus), ordinary " +"differential equation solving, and signal processing." +msgstr "" +"`SciPy `_ 는 더 많은 수학 함수를 위해 NumPy를 사용하는 라이브러리입니다. SciPy는 " +"NumPy 배열을 기본 데이터 구조로 사용하며, 선형 대수, 적분(미적분), 상미분방정식 풀이, 신호 처리 등 과학 프로그래밍에서 흔히 " +"사용되는 다양한 작업을 위한 모듈과 함께 제공됩니다." + +#: ../../scenarios/scientific.rst:81 +msgid "Matplotlib" +msgstr "Matplotlib" + +#: ../../scenarios/scientific.rst:83 +msgid "" +"`Matplotlib `_ is a flexible plotting " +"library for creating interactive 2D and 3D plots that can also be saved as " +"manuscript-quality figures. The API in many ways reflects that of `MATLAB " +"`_, easing transition of MATLAB " +"users to Python. Many examples, along with the source code to recreate them," +" are available in the `matplotlib gallery " +"`_." +msgstr "" +"`Matplotlib `_ 은 인터랙티브한 2D 및 3D 플롯을 생성할 " +"수 있는 유연한 플로팅 라이브러리이며, 출판물 수준의 그림으로 저장할 수도 있습니다. API는 여러 면에서 `MATLAB " +"`_ 을 반영하고 있어, MATLAB 사용자가 파이썬으로 " +"옮겨오기 쉽게 해줍니다. `matplotlib 갤러리 " +"`_ 에서 많은 예시와 그것을 재현할 수 있는 소스" +" 코드를 함께 볼 수 있습니다." + +#: ../../scenarios/scientific.rst:92 +msgid "Pandas" +msgstr "Pandas" + +#: ../../scenarios/scientific.rst:94 +msgid "" +"`Pandas `_ is a data manipulation library based " +"on NumPy which provides many useful functions for accessing, indexing, " +"merging, and grouping data easily. The main data structure (DataFrame) is " +"close to what could be found in the R statistical package; that is, " +"heterogeneous data tables with name indexing, time series operations, and " +"auto-alignment of data." +msgstr "" +"`Pandas `_ 는 NumPy를 기반으로 한 데이터 조작 라이브러리로, 데이터 접근," +" 인덱싱, 병합, 그룹화 등을 쉽게 할 수 있는 유용한 함수를 많이 제공합니다. 주요 데이터 구조인 DataFrame은 R 통계 " +"패키지에서 찾을 수 있는 것과 가깝습니다. 즉, 이름 인덱싱, 시계열 연산, 데이터 자동 정렬 등을 지원하는 이종 데이터 테이블입니다." + +#: ../../scenarios/scientific.rst:102 +msgid "xarray" +msgstr "xarray" + +#: ../../scenarios/scientific.rst:104 +msgid "" +"`xarray `_ is similar to Pandas, but it" +" is intended for wrapping multidimensional scientific data. By labelling the" +" data with dimensions, coordinates, and attributes, it makes complex " +"multidimensional operations clearer and more intuitive. It also wraps " +"matplotlib for quick plotting, and can apply most operations in parallel " +"using `dask `_." +msgstr "" +"`xarray `_ 는 Pandas와 비슷하지만, 다차원 과학 데이터를" +" 감싸기 위한 목적의 라이브러리입니다. 데이터에 차원, 좌표, 어트리뷰트로 라벨을 붙여, 복잡한 다차원 연산을 더 명확하고 직관적으로 " +"만들어줍니다. 또한 빠른 플로팅을 위해 matplotlib을 래핑하며, `dask " +"`_ 를 사용하여 대부분의 연산을 병렬로 처리할 수 " +"있습니다." + +#: ../../scenarios/scientific.rst:113 +msgid "Rpy2" +msgstr "Rpy2" + +#: ../../scenarios/scientific.rst:115 +msgid "" +"`Rpy2 `_ is a Python binding for the R " +"statistical package allowing the execution of R functions from Python and " +"passing data back and forth between the two environments. Rpy2 is the object" +" oriented implementation of the `Rpy `_" +" bindings." +msgstr "" +"`Rpy2 `_ 는 R 통계 패키지를 위한 파이썬 바인딩으로, 파이썬에서 R 함수를 " +"실행하고 두 환경 사이에 데이터를 주고받을 수 있게 해줍니다. Rpy2는 `Rpy " +"`_ 바인딩의 객체지향 구현입니다." + +#: ../../scenarios/scientific.rst:122 +msgid "PsychoPy" +msgstr "PsychoPy" + +#: ../../scenarios/scientific.rst:124 +msgid "" +"`PsychoPy `_ is a library for cognitive scientists" +" allowing the creation of cognitive psychology and neuroscience experiments." +" The library handles presentation of stimuli, scripting of experimental " +"design, and data collection." +msgstr "" +"`PsychoPy `_ 는 인지 과학자를 위한 라이브러리로, 인지 심리학과 신경과학 실험을" +" 만들 수 있게 해줍니다. 이 라이브러리는 자극 제시, 실험 설계 스크립팅, 데이터 수집을 다룹니다." + +#: ../../scenarios/scientific.rst:132 +msgid "Resources" +msgstr "리소스" + +#: ../../scenarios/scientific.rst:134 +msgid "" +"Installation of scientific Python packages can be troublesome, as many of " +"these packages are implemented as Python C extensions which need to be " +"compiled. This section lists various so-called scientific Python " +"distributions which provide precompiled and easy-to-install collections of " +"scientific Python packages." +msgstr "" +"과학용 파이썬 패키지의 설치는 번거로울 수 있습니다. 많은 패키지가 컴파일이 필요한 파이썬 C 확장으로 구현되어 있기 때문입니다. 이 " +"섹션에서는 미리 컴파일되고 쉽게 설치할 수 있는 과학용 파이썬 패키지 모음을 제공하는 이른바 과학용 파이썬 배포판들을 나열합니다." + +#: ../../scenarios/scientific.rst:141 +msgid "Unofficial Windows Binaries for Python Extension Packages" +msgstr "파이썬 확장 패키지를 위한 비공식 Windows 바이너리" + +#: ../../scenarios/scientific.rst:143 +msgid "" +"Many people who do scientific computing are on Windows, yet many of the " +"scientific computing packages are notoriously difficult to build and install" +" on this platform. `Christoph Gohlke " +"`_, however, has compiled a list" +" of Windows binaries for many useful Python packages. The list of packages " +"has grown from a mainly scientific Python resource to a more general list. " +"If you're on Windows, you may want to check it out." +msgstr "" +"과학 계산을 하는 사람 중 많은 수가 Windows를 사용하지만, 많은 과학 계산 패키지가 이 플랫폼에서 빌드하고 설치하기로 악명이 " +"높습니다. 그러나 `Christoph Gohlke `_ 가" +" 많은 유용한 파이썬 패키지의 Windows 바이너리 목록을 정리해두었습니다. 이 패키지 목록은 주로 과학용 파이썬 리소스에서 시작해 더" +" 일반적인 목록으로 성장했습니다. Windows를 사용한다면 한 번 확인해 보세요." + +#: ../../scenarios/scientific.rst:152 +msgid "Anaconda" +msgstr "Anaconda" + +#: ../../scenarios/scientific.rst:154 +msgid "" +"The `Anaconda Python Distribution `_ includes all" +" the common scientific Python packages as well as many packages related to " +"data analytics and big data. Anaconda itself is free, and a number of " +"proprietary add-ons are available for a fee. Free licenses for the add-ons " +"are available for academics and researchers." +msgstr "" +"`Anaconda Python Distribution `_ 은 일반적인 과학용 파이썬 " +"패키지를 모두 포함하고 있을 뿐 아니라, 데이터 분석과 빅데이터 관련 패키지도 많이 포함합니다. Anaconda 자체는 무료이며, 다수의" +" 상용 애드온이 유료로 제공됩니다. 학계와 연구자에게는 애드온에 대한 무료 라이선스가 제공됩니다." + +#: ../../scenarios/scientific.rst:161 +msgid "Canopy" +msgstr "Canopy" + +#: ../../scenarios/scientific.rst:163 +msgid "" +"`Canopy `_ is another scientific " +"Python distribution, produced by `Enthought `_. " +"A limited 'Canopy Express' variant is available for free, but Enthought " +"charges for the full distribution. Free licenses are available for " +"academics." +msgstr "" +"`Canopy `_ 는 또 다른 과학용 파이썬 배포판으로, " +"`Enthought `_ 가 만들었습니다. 제한된 'Canopy Express' 버전은" +" 무료로 제공되지만, Enthought는 전체 배포판에 대해 비용을 부과합니다. 학계에는 무료 라이선스가 제공됩니다." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "Due to its high performance nature, scientific computing in Python often " +#~ "utilizes external libraries, typically written in faster languages (like C, " +#~ "or FORTRAN for matrix operations). The main libraries used are `NumPy`_, " +#~ "`SciPy`_ and `Matplotlib`_. Going into detail about these libraries is " +#~ "beyond the scope of the Python guide. However, a comprehensive introduction " +#~ "to the scientific Python ecosystem can be found in the `Python Scientific " +#~ "Lecture Notes `_" +#~ msgstr "" + +#~ msgid "" +#~ "`IPython `_ is an enhanced version of Python " +#~ "interpreter, which provides features of great interest to scientists. The " +#~ "`inline mode` allows graphics and plots to be displayed in the terminal (Qt " +#~ "based version). Moreover, the `notebook` mode supports literate programming " +#~ "and reproducible science generating a web-based Python notebook. This " +#~ "notebook allows you to store chunks of Python code along side the results " +#~ "and additional comments (HTML, LaTeX, Markdown). The notebook can then be " +#~ "shared and exported in various file formats." +#~ msgstr "" + +#~ msgid "" +#~ "`NumPy `_ is a low level library written in C (and " +#~ "FORTRAN) for high level mathematical functions. NumPy cleverly overcomes the" +#~ " problem of running slower algorithms on Python by using multidimensional " +#~ "arrays and functions that operate on arrays. Any algorithm can then be " +#~ "expressed as a function on arrays, allowing the algorithms to be run " +#~ "quickly." +#~ msgstr "" + +#~ msgid "" +#~ "NumPy is compatible with Python versions 2.4 through to 2.7.2 and 3.1+." +#~ msgstr "" + +#~ msgid "" +#~ "`SciPy `_ is a library that uses NumPy for more " +#~ "mathematical functions. SciPy uses NumPy arrays as the basic data structure," +#~ " and comes with modules for various commonly used tasks in scientific " +#~ "programming, including linear algebra, integration (calculus), ordinary " +#~ "differential equation solving and signal processing." +#~ msgstr "" + +#~ msgid "" +#~ "`Matplotlib `_ is a flexible plotting " +#~ "library for creating interactive 2D and 3D plots that can also be saved as " +#~ "manuscript-quality figures. The API in many ways reflects that of `MATLAB " +#~ "`_, easing transition of MATLAB " +#~ "users to Python. Many examples, along with the source code to re-create " +#~ "them, are available in the `matplotlib gallery " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "`Pandas `_ is data manipulation library based on " +#~ "Numpy which provides many useful functions for accessing, indexing, merging " +#~ "and grouping data easily. The main data structure (DataFrame) is close to " +#~ "what could be found in the R statistical package; that is, heterogeneous " +#~ "data tables with name indexing, time series operations and auto-alignment of" +#~ " data." +#~ msgstr "" + +#~ msgid "" +#~ "`PsychoPy `_ is a library for cognitive scientists" +#~ " allowing the creation of cognitive psychology and neuroscience experiments." +#~ " The library handles presentation of stimuli, scripting of experimental " +#~ "design and data collection." +#~ msgstr "" + +#~ msgid "" +#~ "Many people who do scientific computing are on Windows, yet many of the " +#~ "scientific computing packages are notoriously difficult to build and install" +#~ " on this platform. `Christoph Gohlke " +#~ "`_ however, has compiled a list " +#~ "of Windows binaries for many useful Python packages. The list of packages " +#~ "has grown from a mainly scientific Python resource to a more general list. " +#~ "If you're on Windows, you may want to check it out." +#~ msgstr "" + +#~ msgid "" +#~ "`Continuum Analytics `_ offers the `Anaconda Python " +#~ "Distribution `_ which includes " +#~ "all the common scientific Python packages as well as many packages related " +#~ "to data analytics and big data. Anaconda itself is free, and Continuum sells" +#~ " a number of proprietary add-ons. Free licenses for the add-ons are " +#~ "available for academics and researchers." +#~ msgstr "" + +#~ msgid "" +#~ "`Canopy `_ is another scientific" +#~ " Python distribution, produced by `Enthought `_." +#~ " A limited 'Canopy Express' variant is available for free, but Enthought " +#~ "charges for the full distribution. Free licenses are available for " +#~ "academics." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/scrape.mo b/docs/locale/ko/LC_MESSAGES/scenarios/scrape.mo new file mode 100644 index 00000000..6522da33 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/scrape.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/scrape.po b/docs/locale/ko/LC_MESSAGES/scenarios/scrape.po new file mode 100644 index 00000000..fb5f8c77 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/scrape.po @@ -0,0 +1,211 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Ahn Young Seon \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../scenarios/scrape.rst:4 +msgid "HTML Scraping" +msgstr "HTML 스크랩 하기" + +#: ../../scenarios/scrape.rst:11 +msgid "Web Scraping" +msgstr "웹 스크랩 하기" + +#: ../../scenarios/scrape.rst:13 +msgid "" +"Web sites are written using HTML, which means that each web page is a " +"structured document. Sometimes it would be great to obtain some data from" +" them and preserve the structure while we're at it. Web sites don't " +"always provide their data in comfortable formats such as CSV or JSON." +msgstr "" +"웹사이트는 HTML로 작성된다. 이는 곧 각각의 웹페이지는 구조화된 문서라는 의미이다. 구조화 된 포맷 덕분에 HTML에서 데이터를" +" 얻기에 아주 좋다. 그러니 이 작업을 하는 동안 데이터 구조를 보존하는 게 좋다. 웹사이트들이 항상 자신의 데이터를 CSV나 " +"JSON 처럼 쓰기 편한 방식으로 제공하는 것은 아니다." + +#: ../../scenarios/scrape.rst:18 +msgid "" +"This is where web scraping comes in. Web scraping is the practice of " +"using a computer program to sift through a web page and gather the data " +"that you need in a format most useful to you while at the same time " +"preserving the structure of the data." +msgstr "" +"이 지점에서 웹 스크랩이 시작된다. 웹 스크랩핑은 컴퓨터 프로그램을 사용하여 웹 페이지를 검색한 후 데이터 구조를 보존하면서 " +"사용자에게 가장 유용한 형식으로 필요한 데이터를 수집하는 작업입니다." + +#: ../../scenarios/scrape.rst:26 +msgid "lxml and Requests" +msgstr "lxml과 Requests" + +#: ../../scenarios/scrape.rst:28 +msgid "" +"`lxml `_ is a pretty extensive library written for " +"parsing XML and HTML documents very quickly, even handling messed up tags" +" in the process. We will also be using the `Requests " +"`_ module instead of the " +"already built-in urllib2 module due to improvements in speed and " +"readability. You can easily install both using ``pip install lxml`` and " +"``pip install requests``." +msgstr "" +"`lxml `_ 은 XML과 HTML 문서를 아주 빠르게 처리하기 위하여 작성된 대규모 " +"라이브러리이다. 심지어 구문 분석 중에 잘못된 태그를 처리해주기도 한다. `Requests " +"`_ 모듈도 사용할 것이다. 이미 내장된 urllib2 " +"모듈보다 속도와 가독성 면에서 뛰어나기 때문이다. ``pip install lxml`` 과 ``pip install " +"requests`` 로 둘 다 간단히 설치할 수 있다." + +#: ../../scenarios/scrape.rst:36 +msgid "Let's start with the imports:" +msgstr "import부터 시작하자" + +#: ../../scenarios/scrape.rst:43 +msgid "" +"Next we will use ``requests.get`` to retrieve the web page with our data," +" parse it using the ``html`` module, and save the results in ``tree``:" +msgstr "" +"그 단계는 ``requests.get`` 이다. 우리의 데이터로 웹페이지를 조회하고 ``html`` 모듈로 파싱할 것이다. 그리고" +" ``tree`` 에에 저장할 것이다. " + +#: ../../scenarios/scrape.rst:51 +msgid "" +"(We need to use ``page.content`` rather than ``page.text`` because " +"``html.fromstring`` implicitly expects ``bytes`` as input.)" +msgstr "" +"(``page.text`` 보다는 ``page.content`` 를 사용하는 게 좋다. 왜냐하면 ``html.fromstring``" +" 은 묵시적으로 ``bytes`` 을 인풋으로 하기 때문이다." + +#: ../../scenarios/scrape.rst:54 +msgid "" +"``tree`` now contains the whole HTML file in a nice tree structure which " +"we can go over two different ways: XPath and CSSSelect. In this example, " +"we will focus on the former." +msgstr "" +"이제 ``tree`` 는 HTML 파일 전체를 멋진 트리 구조에 담았다. 이제 2가지 접근법이 가능하다. XPath 와 " +"CSSSelect 이다. 예제에서는 XPath로 하겠다." + +#: ../../scenarios/scrape.rst:58 +msgid "" +"XPath is a way of locating information in structured documents such as " +"HTML or XML documents. A good introduction to XPath is on `W3Schools " +"`_ ." +msgstr "" +"XPath는 HTML 또는 XML 문서와 같은 구조화된 문서에서 정보를 찾는 방법입니다. XPath에 대한 좋은 소개는 " +"`W3Schools `_에 있습니다." + +#: ../../scenarios/scrape.rst:62 +msgid "" +"There are also various tools for obtaining the XPath of elements such as " +"FireBug for Firefox or the Chrome Inspector. If you're using Chrome, you " +"can right click an element, choose 'Inspect element', highlight the code," +" right click again, and choose 'Copy XPath'." +msgstr "" +"또한 FireBug for Firefox 또는 Chrome Inspector와 같은 엘리먼트의 XPath를 얻기 위한 다양한 도구가" +" 있습니다. 크롬을 사용하는 경우 엘리먼트를 마우스 오른쪽 버튼으로 클릭하고 '요소 검사'를 선택한 후 코드를 강조 표시하고 다시 " +"마우스 오른쪽 버튼을 클릭한 후 'Copy XPath'를 선택할 수 있습니다." + +#: ../../scenarios/scrape.rst:67 +msgid "" +"After a quick analysis, we see that in our page the data is contained in " +"two elements -- one is a div with title 'buyer-name' and the other is a " +"span with class 'item-price':" +msgstr "" +"빠른 분석 후, 우리는 우리 페이지에서 데이터가 두 가지 요소에 포함되어 있음을 알 수 있습니다. 하나는 'buyer-" +"name'이라는 제목이 있는 div고 다른 하나는 class 'item-price'이 있는 span입니다." + +#: ../../scenarios/scrape.rst:76 +msgid "" +"Knowing this we can create the correct XPath query and use the lxml " +"``xpath`` function like this:" +msgstr "이를 알고 올바른 XPath 쿼리를 만들어 다음과 같은 lxml ``xpath`` 함수를 사용할 수 있습니다." + +#: ../../scenarios/scrape.rst:86 +msgid "Let's see what we got exactly:" +msgstr "정확히 어떤 것들이 있는지 봅시다." + +#: ../../scenarios/scrape.rst:106 +msgid "" +"Congratulations! We have successfully scraped all the data we wanted from" +" a web page using lxml and Requests. We have it stored in memory as two " +"lists. Now we can do all sorts of cool stuff with it: we can analyze it " +"using Python or we can save it to a file and share it with the world." +msgstr "" +"축하합니다! lxml 와 Requests를 사용하여 웹 페이지에서 원하는 모든 데이터를 성공적으로 스크랩했습니다. 우리는 그것을 두" +" 개의 목록으로 메모리에 저장했습니다. 이제 우리는 파이썬을 사용하여 웹을 분석하거나 파일에 저장하여 세상과 공유할 수 있습니다." + +#: ../../scenarios/scrape.rst:111 +msgid "" +"Some more cool ideas to think about are modifying this script to iterate " +"through the rest of the pages of this example dataset, or rewriting this " +"application to use threads for improved speed." +msgstr "" +"이 예제 데이터 세트의 나머지 페이지를 반복하도록 이 스크립트를 수정하거나, 속도를 높이기 위해 스레드를 사용하도록 이 응용 " +"프로그램을 다시 작성하는 방법을 생각해 볼 수 있습니다." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "Web sites are written using HTML, " +#~ "which means that each web page is" +#~ " a structured document. Sometimes it " +#~ "would be great to obtain some data" +#~ " from them and preserve the structure" +#~ " while we're at it. Web sites " +#~ "don't always provide their data in " +#~ "comfortable formats such as ``csv`` or" +#~ " ``json``." +#~ msgstr "" + +#~ msgid "" +#~ "Next we will use ``requests.get`` to " +#~ "retrieve the web page with our " +#~ "data, parse it using the ``html`` " +#~ "module and save the results in " +#~ "``tree``:" +#~ msgstr "" + +#~ msgid "" +#~ "XPath is a way of locating " +#~ "information in structured documents such " +#~ "as HTML or XML documents. A good" +#~ " introduction to XPath is on " +#~ "`W3Schools `_ " +#~ "." +#~ msgstr "" + +#~ msgid "" +#~ "There are also various tools for " +#~ "obtaining the XPath of elements such " +#~ "as FireBug for Firefox or the " +#~ "Chrome Inspector. If you're using " +#~ "Chrome, you can right click an " +#~ "element, choose 'Inspect element', highlight" +#~ " the code, right click again and " +#~ "choose 'Copy XPath'." +#~ msgstr "" + +#~ msgid "" +#~ "After a quick analysis, we see " +#~ "that in our page the data is " +#~ "contained in two elements - one is" +#~ " a div with title 'buyer-name' " +#~ "and the other is a span with " +#~ "class 'item-price':" +#~ msgstr "" + diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/serialization.mo b/docs/locale/ko/LC_MESSAGES/scenarios/serialization.mo new file mode 100644 index 00000000..3aeb86e4 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/serialization.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/serialization.po b/docs/locale/ko/LC_MESSAGES/scenarios/serialization.po new file mode 100644 index 00000000..82e30793 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/serialization.po @@ -0,0 +1,254 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/serialization.rst:4 +msgid "Data Serialization" +msgstr "데이터 직렬화" + +#: ../../scenarios/serialization.rst:11 +msgid "What is data serialization?" +msgstr "데이터 직렬화란?" + +#: ../../scenarios/serialization.rst:13 +msgid "" +"Data serialization is the process of converting structured data to a format " +"that allows sharing or storage of the data in a form that allows recovery of" +" its original structure. In some cases, the secondary intention of data " +"serialization is to minimize the data's size which then reduces disk space " +"or bandwidth requirements." +msgstr "" +"데이터 직렬화는 구조화된 데이터를 원래 구조를 복원할 수 있는 형태로 공유하거나 저장할 수 있게 해주는 포맷으로 변환하는 과정입니다. " +"경우에 따라 데이터 직렬화의 부차적인 목적은 데이터 크기를 최소화하여 디스크 공간이나 대역폭 요구를 줄이는 것입니다." + +#: ../../scenarios/serialization.rst:21 +msgid "Flat vs. Nested data" +msgstr "평면(Flat) 데이터 vs. 중첩(Nested) 데이터" + +#: ../../scenarios/serialization.rst:23 +msgid "" +"Before beginning to serialize data, it is important to identify or decide " +"how the data should be structured during data serialization - flat or " +"nested. The differences in the two styles are shown in the below examples." +msgstr "" +"데이터를 직렬화하기 전에, 직렬화 과정에서 데이터를 어떻게 구조화할지 — 평면으로 할지 중첩으로 할지 — 를 파악하거나 결정하는 것이 " +"중요합니다. 두 스타일의 차이는 아래 예시에서 볼 수 있습니다." + +#: ../../scenarios/serialization.rst:27 +msgid "Flat style:" +msgstr "평면(Flat) 스타일:" + +#: ../../scenarios/serialization.rst:34 +msgid "Nested style:" +msgstr "중첩(Nested) 스타일:" + +#: ../../scenarios/serialization.rst:42 +msgid "" +"For more reading on the two styles, please see the discussion on `Python " +"mailing list `__, `IETF mailing list " +"`__ and " +"`in stackexchange " +"`__." +msgstr "" +"두 스타일에 대한 더 자세한 내용은 `Python 메일링 리스트 " +"`__," +" `IETF 메일링 리스트 `__, `Stack Exchange " +"`__ 의 논의를 참고하세요." + +#: ../../scenarios/serialization.rst:49 +msgid "Serializing Text" +msgstr "텍스트 직렬화" + +#: ../../scenarios/serialization.rst:53 +msgid "Simple file (flat data)" +msgstr "단순한 파일(평면 데이터)" + +#: ../../scenarios/serialization.rst:55 +msgid "" +"If the data to be serialized is located in a file and contains flat data, " +"Python offers two methods to serialize data." +msgstr "직렬화할 데이터가 파일에 있고 평면 데이터로 구성되어 있다면, 파이썬은 데이터를 직렬화하는 두 가지 방법을 제공합니다." + +#: ../../scenarios/serialization.rst:58 +msgid "repr" +msgstr "repr" + +#: ../../scenarios/serialization.rst:60 +msgid "" +"The repr method in Python takes a single object parameter and returns a " +"printable representation of the input:" +msgstr "파이썬의 repr 메소드는 객체 하나를 파라미터로 받아 입력을 출력 가능한 표현으로 반환합니다:" + +#: ../../scenarios/serialization.rst:79 +msgid "ast.literal_eval" +msgstr "ast.literal_eval" + +#: ../../scenarios/serialization.rst:81 +msgid "" +"The literal_eval method safely parses and evaluates an expression for a " +"Python datatype. Supported data types are: strings, numbers, tuples, lists, " +"dicts, booleans, and None." +msgstr "" +"literal_eval 메소드는 파이썬 데이터 타입에 대한 표현식을 안전하게 파싱하고 평가합니다. 지원하는 데이터 타입은 문자열, 숫자," +" 튜플, 리스트, 딕셔너리, 불린, None입니다." + +#: ../../scenarios/serialization.rst:90 +msgid "CSV file (flat data)" +msgstr "CSV 파일(평면 데이터)" + +#: ../../scenarios/serialization.rst:92 +msgid "" +"The CSV module in Python implements classes to read and write tabular data " +"in CSV format." +msgstr "파이썬의 CSV 모듈은 CSV 포맷의 테이블 데이터를 읽고 쓰는 클래스를 구현합니다." + +#: ../../scenarios/serialization.rst:95 +msgid "Simple example for reading:" +msgstr "읽기 간단 예시:" + +#: ../../scenarios/serialization.rst:106 +msgid "Simple example for writing:" +msgstr "쓰기 간단 예시:" + +#: ../../scenarios/serialization.rst:117 +msgid "" +"The module's contents, functions, and examples can be found `in the Python " +"documentation `__." +msgstr "" +"모듈의 내용, 함수, 예시는 `파이썬 문서 `__ 에서 볼" +" 수 있습니다." + +#: ../../scenarios/serialization.rst:122 +msgid "YAML (nested data)" +msgstr "YAML(중첩 데이터)" + +#: ../../scenarios/serialization.rst:124 +msgid "" +"There are many third party modules to parse and read/write YAML file " +"structures in Python. One such example is below." +msgstr "파이썬에서 YAML 파일 구조를 파싱하고 읽고 쓰는 서드파티 모듈이 많이 있습니다. 그 예시 중 하나가 아래에 있습니다." + +#: ../../scenarios/serialization.rst:137 +msgid "" +"Documentation on the third party module can be found `in the PyYAML " +"Documentation `__." +msgstr "" +"서드파티 모듈에 대한 문서는 `PyYAML 문서 `__ " +"에서 볼 수 있습니다." + +#: ../../scenarios/serialization.rst:142 +msgid "JSON file (nested data)" +msgstr "JSON 파일(중첩 데이터)" + +#: ../../scenarios/serialization.rst:144 +msgid "" +"Python's JSON module can be used to read and write JSON files. Example code " +"is below." +msgstr "파이썬의 JSON 모듈로 JSON 파일을 읽고 쓸 수 있습니다. 예시 코드는 아래와 같습니다." + +#: ../../scenarios/serialization.rst:147 +msgid "Reading:" +msgstr "읽기:" + +#: ../../scenarios/serialization.rst:156 +msgid "Writing:" +msgstr "쓰기:" + +#: ../../scenarios/serialization.rst:167 +msgid "XML (nested data)" +msgstr "XML(중첩 데이터)" + +#: ../../scenarios/serialization.rst:169 +msgid "XML parsing in Python is possible using the `xml` package." +msgstr "파이썬에서의 XML 파싱은 `xml` 패키지를 사용하여 가능합니다." + +#: ../../scenarios/serialization.rst:171 ../../scenarios/serialization.rst:194 +msgid "Example:" +msgstr "예시:" + +#: ../../scenarios/serialization.rst:180 +msgid "" +"More documentation on using the `xml.dom` and `xml.sax` packages can be " +"found `in the Python XML library documentation " +"`__." +msgstr "" +"`xml.dom` 과 `xml.sax` 패키지 사용에 대한 더 자세한 문서는 `파이썬 XML 라이브러리 문서 " +"`__ 에서 볼 수 있습니다." + +#: ../../scenarios/serialization.rst:186 +msgid "Binary" +msgstr "바이너리" + +#: ../../scenarios/serialization.rst:190 +msgid "NumPy Array (flat data)" +msgstr "NumPy 배열(평면 데이터)" + +#: ../../scenarios/serialization.rst:192 +msgid "" +"Python's NumPy array can be used to serialize and deserialize data to and " +"from byte representation." +msgstr "파이썬의 NumPy 배열은 데이터를 바이트 표현으로 직렬화하거나 바이트 표현으로부터 역직렬화하는 데 사용할 수 있습니다." + +#: ../../scenarios/serialization.rst:210 +msgid "Pickle (nested data)" +msgstr "Pickle(중첩 데이터)" + +#: ../../scenarios/serialization.rst:212 +msgid "" +"The native data serialization module for Python is called `Pickle " +"`_." +msgstr "" +"파이썬의 기본 데이터 직렬화 모듈은 `Pickle " +"`_ 이라고 합니다." + +#: ../../scenarios/serialization.rst:215 +msgid "Here's an example:" +msgstr "예시는 다음과 같습니다:" + +#: ../../scenarios/serialization.rst:233 +msgid "Protobuf" +msgstr "Protobuf" + +#: ../../scenarios/serialization.rst:235 +msgid "" +"If you're looking for a serialization module that has support in multiple " +"languages, Google's `Protobuf `_ library is an option." +msgstr "" +"여러 언어에서 지원되는 직렬화 모듈을 찾고 있다면, Google의 `Protobuf " +"`_ 라이브러리가 한 선택지입니다." + +#~ msgid "" +#~ "Data serialization is the concept of converting structured data into a " +#~ "format that allows it to be shared or stored in such a way that its original" +#~ " structure to be recovered. In some cases, the secondary intention of data " +#~ "serialization is to minimize the size of the serialized data which then " +#~ "minimizes disk space or bandwidth requirements." +#~ msgstr "" + +#~ msgid "Pickle" +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/speed.mo b/docs/locale/ko/LC_MESSAGES/scenarios/speed.mo new file mode 100644 index 00000000..47cb013f Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/speed.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/speed.po b/docs/locale/ko/LC_MESSAGES/scenarios/speed.po new file mode 100644 index 00000000..a79a1403 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/speed.po @@ -0,0 +1,492 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/speed.rst:4 +msgid "Speed" +msgstr "속도" + +#: ../../scenarios/speed.rst:8 +msgid "" +"CPython, the most commonly used implementation of Python, is slow for CPU " +"bound tasks. `PyPy`_ is fast." +msgstr "파이썬의 가장 일반적으로 사용되는 구현체인 CPython은 CPU 바운드 작업에서 느립니다. `PyPy`_ 는 빠릅니다." + +#: ../../scenarios/speed.rst:11 +msgid "" +"Using a slightly modified version of `David Beazley's`_ CPU bound test code " +"(added loop for multiple tests), you can see the difference between CPython " +"and PyPy's processing." +msgstr "" +"`David Beazley의`_ CPU 바운드 테스트 코드를 약간 수정한 버전(여러 번의 테스트를 위해 루프 추가)을 사용하여, " +"CPython과 PyPy의 처리 차이를 볼 수 있습니다." + +#: ../../scenarios/speed.rst:43 +msgid "Context" +msgstr "배경" + +#: ../../scenarios/speed.rst:47 ../../scenarios/speed.rst:65 +msgid "The GIL" +msgstr "GIL" + +#: ../../scenarios/speed.rst:49 +msgid "" +"`The GIL`_ (Global Interpreter Lock) is how Python allows multiple threads " +"to operate at the same time. Python's memory management isn't entirely " +"thread-safe, so the GIL is required to prevent multiple threads from running" +" the same Python code at once." +msgstr "" +"`GIL`_ (Global Interpreter Lock)은 파이썬이 여러 스레드가 동시에 동작하도록 허용하는 방식입니다. 파이썬의 " +"메모리 관리는 완전히 스레드 안전하지 않기 때문에, 여러 스레드가 동시에 같은 파이썬 코드를 실행하는 것을 막기 위해 GIL이 " +"필요합니다." + +#: ../../scenarios/speed.rst:54 +msgid "" +"David Beazley has a great `guide`_ on how the GIL operates. He also covers " +"the `new GIL`_ in Python 3.2. His results show that maximizing performance " +"in a Python application requires a strong understanding of the GIL, how it " +"affects your specific application, how many cores you have, and where your " +"application bottlenecks are." +msgstr "" +"David Beazley는 GIL이 어떻게 동작하는지에 대한 훌륭한 `가이드`_ 를 가지고 있습니다. 그는 또한 파이썬 3.2의 `새로운" +" GIL`_ 도 다룹니다. 그의 결과는 파이썬 응용에서 성능을 극대화하려면 GIL에 대한 강한 이해, 그것이 특정 응용에 어떻게 영향을 " +"미치는지, 코어가 몇 개인지, 그리고 응용의 병목이 어디인지에 대한 강한 이해가 필요함을 보여줍니다." + +#: ../../scenarios/speed.rst:61 ../../scenarios/speed.rst:73 +msgid "C Extensions" +msgstr "C 확장" + +#: ../../scenarios/speed.rst:67 +msgid "" +"`Special care`_ must be taken when writing C extensions to make sure you " +"register your threads with the interpreter." +msgstr "C 확장을 작성할 때는 스레드를 인터프리터에 등록하도록 `각별한 주의`_ 를 기울여야 합니다." + +#: ../../scenarios/speed.rst:77 +msgid "Cython" +msgstr "Cython" + +#: ../../scenarios/speed.rst:79 +msgid "" +"`Cython `_ implements a superset of the Python language" +" with which you are able to write C and C++ modules for Python. Cython also " +"allows you to call functions from compiled C libraries. Using Cython allows " +"you to take advantage of Python's strong typing of variables and operations." +msgstr "" +"`Cython `_ 은 파이썬 언어의 상위 집합(superset)을 구현하여, 그것으로 파이썬을 " +"위한 C 및 C++ 모듈을 작성할 수 있게 해줍니다. Cython은 또한 컴파일된 C 라이브러리의 함수를 호출할 수 있게 해줍니다. " +"Cython을 사용하면 파이썬의 변수와 연산에 대한 강타입(strong typing)의 이점을 누릴 수 있습니다." + +#: ../../scenarios/speed.rst:84 +msgid "Here's an example of strong typing with Cython:" +msgstr "다음은 Cython으로 강타입을 사용하는 예시입니다:" + +#: ../../scenarios/speed.rst:111 +msgid "" +"This implementation of an algorithm to find prime numbers has some " +"additional keywords compared to the next one, which is implemented in pure " +"Python:" +msgstr "소수를 찾는 알고리즘의 이 구현은 순수 파이썬으로 구현된 다음 것과 비교했을 때 몇 가지 추가 키워드를 가지고 있습니다:" + +#: ../../scenarios/speed.rst:136 +msgid "" +"Notice that in the Cython version you declare integers and integer arrays to" +" be compiled into C types while also creating a Python list:" +msgstr "Cython 버전에서는 파이썬 리스트를 만드는 동시에, C 타입으로 컴파일될 정수와 정수 배열을 선언하는 것을 눈여겨보세요:" + +#: ../../scenarios/speed.rst:159 +msgid "" +"What is the difference? In the upper Cython version you can see the " +"declaration of the variable types and the integer array in a similar way as " +"in standard C. For example `cdef int n,k,i` in line 3. This additional type " +"declaration (i.e. integer) allows the Cython compiler to generate more " +"efficient C code from the second version. While standard Python code is " +"saved in :file:`*.py` files, Cython code is saved in :file:`*.pyx` files." +msgstr "" +"차이가 무엇일까요? 위의 Cython 버전에서는 표준 C와 유사한 방식으로 변수 타입과 정수 배열의 선언을 볼 수 있습니다. 예를 들어 " +"3번째 줄의 `cdef int n,k,i` 같은 것입니다. 이러한 추가 타입 선언(즉, 정수) 덕분에 Cython 컴파일러는 두 번째 " +"버전으로부터 더 효율적인 C 코드를 생성할 수 있습니다. 표준 파이썬 코드가 :file:`*.py` 파일에 저장되는 반면, Cython " +"코드는 :file:`*.pyx` 파일에 저장됩니다." + +#: ../../scenarios/speed.rst:166 +msgid "What's the difference in speed? Let's try it!" +msgstr "속도 차이는 어떨까요? 시도해봅시다!" + +#: ../../scenarios/speed.rst:190 +msgid "These lines both need a remark:" +msgstr "이 두 줄은 모두 설명이 필요합니다:" + +#: ../../scenarios/speed.rst:198 +msgid "" +"The `pyximport` module allows you to import :file:`*.pyx` files (e.g., " +":file:`primesCy.pyx`) with the Cython-compiled version of the `primes` " +"function. The `pyximport.install()` command allows the Python interpreter to" +" start the Cython compiler directly to generate C code, which is " +"automatically compiled to a :file:`*.so` C library. Cython is then able to " +"import this library for you in your Python code, easily and efficiently. " +"With the `time.time()` function you are able to compare the time between " +"these 2 different calls to find 500 prime numbers. On a standard notebook " +"(dual core AMD E-450 1.6 GHz), the measured values are:" +msgstr "" +"`pyximport` 모듈은 :file:`*.pyx` 파일(예: :file:`primesCy.pyx`)을 Cython으로 컴파일된 버전의" +" `primes` 함수와 함께 임포트할 수 있게 해줍니다. `pyximport.install()` 명령은 파이썬 인터프리터가 Cython" +" 컴파일러를 직접 시작하여 C 코드를 생성하게 하고, 그 C 코드는 자동으로 :file:`*.so` C 라이브러리로 컴파일됩니다. 그러면" +" Cython은 여러분의 파이썬 코드에서 이 라이브러리를 쉽고 효율적으로 임포트할 수 있게 해줍니다. `time.time()` 함수를 " +"사용하면 500개의 소수를 찾기 위한 이 두 가지 다른 호출 사이의 시간을 비교할 수 있습니다. 표준 노트북(듀얼 코어 AMD E-450" +" 1.6 GHz)에서 측정된 값은 다음과 같습니다:" + +#: ../../scenarios/speed.rst:215 +msgid "" +"And here is the output of an embedded `ARM beaglebone " +"`_ machine:" +msgstr "" +"그리고 다음은 임베디드 `ARM beaglebone `_ " +"머신의 출력입니다:" + +#: ../../scenarios/speed.rst:225 +msgid "Pyrex" +msgstr "Pyrex" + +#: ../../scenarios/speed.rst:229 +msgid "Shedskin?" +msgstr "Shedskin?" + +#: ../../scenarios/speed.rst:234 +msgid "Concurrency" +msgstr "동시성" + +#: ../../scenarios/speed.rst:238 +msgid "Concurrent.futures" +msgstr "Concurrent.futures" + +#: ../../scenarios/speed.rst:240 +msgid "" +"The `concurrent.futures`_ module is a module in the standard library that " +"provides a \"high-level interface for asynchronously executing callables\". " +"It abstracts away a lot of the more complicated details about using multiple" +" threads or processes for concurrency, and allows the user to focus on " +"accomplishing the task at hand." +msgstr "" +"`concurrent.futures`_ 모듈은 \"콜러블을 비동기적으로 실행하기 위한 고수준 인터페이스\"를 제공하는 표준 라이브러리의 " +"모듈입니다. 동시성을 위해 여러 스레드나 프로세스를 사용하는 더 복잡한 세부 사항을 많이 추상화하여, 사용자가 당면한 작업을 완수하는 데" +" 집중할 수 있게 해줍니다." + +#: ../../scenarios/speed.rst:246 +msgid "" +"The `concurrent.futures`_ module exposes two main classes, the " +"`ThreadPoolExecutor` and the `ProcessPoolExecutor`. The ThreadPoolExecutor " +"will create a pool of worker threads that a user can submit jobs to. These " +"jobs will then be executed in another thread when the next worker thread " +"becomes available." +msgstr "" +"`concurrent.futures`_ 모듈은 두 가지 주요 클래스, `ThreadPoolExecutor` 와 " +"`ProcessPoolExecutor` 를 노출합니다. ThreadPoolExecutor는 사용자가 작업을 제출할 수 있는 워커 스레드 " +"풀을 만듭니다. 이러한 작업은 다음 워커 스레드를 사용할 수 있게 되면 다른 스레드에서 실행됩니다." + +#: ../../scenarios/speed.rst:252 +msgid "" +"The ProcessPoolExecutor works in the same way, except instead of using " +"multiple threads for its workers, it will use multiple processes. This makes" +" it possible to side-step the GIL; however, because of the way things are " +"passed to worker processes, only picklable objects can be executed and " +"returned." +msgstr "" +"ProcessPoolExecutor도 같은 방식으로 동작하지만, 워커로 여러 스레드 대신 여러 프로세스를 사용한다는 점이 다릅니다. " +"이로써 GIL을 우회할 수 있습니다. 다만 워커 프로세스로 전달되는 방식 때문에, picklable한 객체만 실행하고 반환할 수 " +"있습니다." + +#: ../../scenarios/speed.rst:257 +msgid "" +"Because of the way the GIL works, a good rule of thumb is to use a " +"ThreadPoolExecutor when the task being executed involves a lot of blocking " +"(i.e. making requests over the network) and to use a ProcessPoolExecutor " +"executor when the task is computationally expensive." +msgstr "" +"GIL의 동작 방식 때문에, 좋은 경험 법칙은 실행하는 작업이 블로킹을 많이 동반할 때(예: 네트워크 요청)는 " +"ThreadPoolExecutor를 사용하고, 계산이 무거운 작업일 때는 ProcessPoolExecutor를 사용하는 것입니다." + +#: ../../scenarios/speed.rst:262 +msgid "" +"There are two main ways of executing things in parallel using the two " +"Executors. One way is with the `map(func, iterables)` method. This works " +"almost exactly like the builtin `map()` function, except it will execute " +"everything in parallel." +msgstr "" +"두 Executor를 사용하여 병렬로 작업을 실행하는 주요 방법은 두 가지가 있습니다. 한 가지는 `map(func, " +"iterables)` 메소드를 사용하는 것입니다. 이는 내장 `map()` 함수와 거의 동일하게 동작하지만, 모든 것을 병렬로 실행한다는" +" 점이 다릅니다." + +#: ../../scenarios/speed.rst:284 +msgid "" +"For even more control, the `submit(func, *args, **kwargs)` method will " +"schedule a callable to be executed ( as `func(*args, **kwargs)`) and returns" +" a `Future`_ object that represents the execution of the callable." +msgstr "" +"더 세밀한 제어를 위해, `submit(func, *args, **kwargs)` 메소드는 콜러블을 실행하도록 " +"스케줄링하고(`func(*args, **kwargs)` 형태로), 콜러블의 실행을 나타내는 `Future`_ 객체를 반환합니다." + +#: ../../scenarios/speed.rst:288 +msgid "" +"The Future object provides various methods that can be used to check on the " +"progress of the scheduled callable. These include:" +msgstr "" +"Future 객체는 스케줄링된 콜러블의 진행 상황을 확인하는 데 사용할 수 있는 다양한 메소드를 제공합니다. 다음과 같은 것들이 " +"있습니다:" + +#: ../../scenarios/speed.rst:291 +msgid "cancel()" +msgstr "cancel()" + +#: ../../scenarios/speed.rst:292 +msgid "Attempt to cancel the call." +msgstr "호출을 취소하려고 시도합니다." + +#: ../../scenarios/speed.rst:293 +msgid "cancelled()" +msgstr "cancelled()" + +#: ../../scenarios/speed.rst:294 +msgid "Return True if the call was successfully cancelled." +msgstr "호출이 성공적으로 취소되었다면 True를 반환합니다." + +#: ../../scenarios/speed.rst:296 +msgid "running()" +msgstr "running()" + +#: ../../scenarios/speed.rst:296 +msgid "" +"Return True if the call is currently being executed and cannot be cancelled." +msgstr "호출이 현재 실행 중이고 취소할 수 없다면 True를 반환합니다." + +#: ../../scenarios/speed.rst:298 +msgid "done()" +msgstr "done()" + +#: ../../scenarios/speed.rst:299 +msgid "" +"Return True if the call was successfully cancelled or finished running." +msgstr "호출이 성공적으로 취소되었거나 실행이 끝났다면 True를 반환합니다." + +#: ../../scenarios/speed.rst:301 +msgid "result()" +msgstr "result()" + +#: ../../scenarios/speed.rst:301 +msgid "" +"Return the value returned by the call. Note that this call will block until " +"the scheduled callable returns by default." +msgstr "호출이 반환한 값을 반환합니다. 기본적으로 이 호출은 스케줄링된 콜러블이 반환할 때까지 블로킹된다는 점에 유의하세요." + +#: ../../scenarios/speed.rst:304 +msgid "exception()" +msgstr "exception()" + +#: ../../scenarios/speed.rst:304 +msgid "" +"Return the exception raised by the call. If no exception was raised then " +"this returns None. Note that this will block just like `result()`." +msgstr "" +"호출이 발생시킨 예외를 반환합니다. 예외가 발생하지 않았다면 None을 반환합니다. `result()` 와 마찬가지로 이 호출도 " +"블로킹된다는 점에 유의하세요." + +#: ../../scenarios/speed.rst:309 +msgid "add_done_callback(fn)" +msgstr "add_done_callback(fn)" + +#: ../../scenarios/speed.rst:307 +msgid "" +"Attach a callback function that will be executed (as `fn(future)`) when the " +"scheduled callable returns." +msgstr "스케줄링된 콜러블이 반환할 때 (`fn(future)` 형태로) 실행될 콜백 함수를 부착합니다." + +#: ../../scenarios/speed.rst:348 +msgid "" +"The `concurrent.futures`_ module contains two helper functions for working " +"with Futures. The `as_completed(futures)` function returns an iterator over " +"the list of futures, yielding the futures as they complete." +msgstr "" +"`concurrent.futures`_ 모듈에는 Future를 다루기 위한 두 가지 헬퍼 함수가 들어 있습니다. " +"`as_completed(futures)` 함수는 future 리스트에 대한 이터레이터를 반환하며, future가 완료되는 대로 " +"yield합니다." + +#: ../../scenarios/speed.rst:352 +msgid "" +"The `wait(futures)` function will simply block until all futures in the list" +" of futures provided have completed." +msgstr "`wait(futures)` 함수는 단순히 제공된 future 리스트의 모든 future가 완료될 때까지 블로킹됩니다." + +#: ../../scenarios/speed.rst:355 +msgid "" +"For more information, on using the `concurrent.futures`_ module, consult the" +" official documentation." +msgstr "`concurrent.futures`_ 모듈 사용에 대한 더 많은 정보는 공식 문서를 참고하세요." + +#: ../../scenarios/speed.rst:359 +msgid "threading" +msgstr "threading" + +#: ../../scenarios/speed.rst:361 +msgid "" +"The standard library comes with a `threading`_ module that allows a user to " +"work with multiple threads manually." +msgstr "표준 라이브러리에는 사용자가 여러 스레드를 수동으로 다룰 수 있게 해주는 `threading`_ 모듈이 함께 제공됩니다." + +#: ../../scenarios/speed.rst:364 +msgid "" +"Running a function in another thread is as simple as passing a callable and " +"its arguments to `Thread`'s constructor and then calling `start()`:" +msgstr "" +"다른 스레드에서 함수를 실행하는 것은 콜러블과 그 인자를 `Thread` 생성자에 전달한 다음 `start()` 를 호출하기만 하면 될 " +"정도로 간단합니다:" + +#: ../../scenarios/speed.rst:379 +msgid "To wait until the thread has terminated, call `join()`:" +msgstr "스레드가 종료될 때까지 기다리려면, `join()` 을 호출하세요:" + +#: ../../scenarios/speed.rst:385 +msgid "" +"After calling `join()`, it is always a good idea to check whether the thread" +" is still alive (because the join call timed out):" +msgstr "" +"`join()` 을 호출한 다음에는 (join 호출이 타임아웃되었기 때문일 수 있으므로) 스레드가 여전히 살아 있는지 확인하는 것이 항상" +" 좋은 생각입니다:" + +#: ../../scenarios/speed.rst:395 +msgid "" +"Because multiple threads have access to the same section of memory, " +"sometimes there might be situations where two or more threads are trying to " +"write to the same resource at the same time or where the output is dependent" +" on the sequence or timing of certain events. This is called a `data race`_ " +"or race condition. When this happens, the output will be garbled or you may " +"encounter problems which are difficult to debug. A good example is this " +"`Stack Overflow post`_." +msgstr "" +"여러 스레드가 메모리의 같은 영역에 접근하기 때문에, 두 개 이상의 스레드가 동시에 같은 리소스에 쓰려고 하거나, 출력이 특정 이벤트의 " +"순서나 타이밍에 의존하는 상황이 발생할 수 있습니다. 이를 `데이터 레이스`_ 또는 경합 상황(race condition)이라고 합니다." +" 이런 일이 발생하면 출력이 엉망이 되거나 디버깅하기 어려운 문제에 부딪힐 수 있습니다. 좋은 예시는 이 `Stack Overflow " +"글`_ 입니다." + +#: ../../scenarios/speed.rst:402 +msgid "" +"The way this can be avoided is by using a `Lock`_ that each thread needs to " +"acquire before writing to a shared resource. Locks can be acquired and " +"released through either the contextmanager protocol (`with` statement), or " +"by using `acquire()` and `release()` directly. Here is a (rather contrived) " +"example:" +msgstr "" +"이를 피하는 방법은 각 스레드가 공유 리소스에 쓰기 전에 획득해야 하는 `Lock`_ 을 사용하는 것입니다. 락은 " +"contextmanager 프로토콜(`with` 구문)을 통해 또는 `acquire()` 와 `release()` 를 직접 사용하여 " +"획득하고 해제할 수 있습니다. 다음은 (다소 인위적인) 예시입니다:" + +#: ../../scenarios/speed.rst:434 +msgid "" +"Here, we have a bunch of threads checking for changes on a list of sites and" +" whenever there are any changes, they attempt to write those changes to a " +"file by calling `log(changes)`. When `log()` is called, it will wait to " +"acquire the lock with `with file_lock:`. This ensures that at any one time, " +"only one thread is writing to the file." +msgstr "" +"여기서는 여러 스레드가 사이트 목록의 변경을 확인하고, 변경 사항이 있을 때마다 `log(changes)` 를 호출하여 그 변경을 파일에" +" 쓰려고 합니다. `log()` 가 호출되면, `with file_lock:` 으로 락을 획득할 때까지 기다립니다. 이로써 어느 " +"시점에서든 오직 하나의 스레드만 파일에 쓰도록 보장됩니다." + +#: ../../scenarios/speed.rst:441 +msgid "Spawning Processes" +msgstr "프로세스 생성" + +#: ../../scenarios/speed.rst:445 +msgid "Multiprocessing" +msgstr "Multiprocessing" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Numba" +#~ msgstr "" + +#~ msgid "Todo" +#~ msgstr "" + +#~ msgid "Write about Numba and the autojit compiler for NumPy" +#~ msgstr "" + +#~ msgid "" +#~ "`Cython `_ implements a superset of the Python language " +#~ "with which you are able to write C and C++ modules for Python. Cython also " +#~ "allows you to call functions from compiled C libraries. Using Cython allows " +#~ "you to take advantage of Python's strong typing of variables and operations." +#~ msgstr "" + +#~ msgid "" +#~ "The `pyximport` module allows you to import :file:`*.pyx` files (e.g., " +#~ ":file:`primesCy.pyx`) with the Cython-compiled version of the `primes` " +#~ "function. The `pyximport.install()` command allows the Python interpreter to" +#~ " start the Cython compiler directly to generate C-code, which is " +#~ "automatically compiled to a :file:`*.so` C-library. Cython is then able to " +#~ "import this library for you in your Python code, easily and efficiently. " +#~ "With the `time.time()` function you are able to compare the time between " +#~ "these 2 different calls to find 500 prime numbers. On a standard notebook " +#~ "(dual core AMD E-450 1.6 GHz), the measured values are:" +#~ msgstr "" + +#~ msgid "" +#~ "And here the output of an embedded `ARM beaglebone " +#~ "`_ machine:" +#~ msgstr "" + +#~ msgid "" +#~ "The ProcessPoolExecutor works in the same way, except instead of using " +#~ "multiple threads for its workers, it will use multiple processes. This makes" +#~ " it possible to side-step the GIL, however because of the way things are " +#~ "passed to worker processes, only picklable objects can be executed and " +#~ "returned." +#~ msgstr "" + +#~ msgid "" +#~ "There are two main ways of executing things in parallel using the two " +#~ "Executors. One way is with the `map(func, iterables)` method. This works " +#~ "almost exactly like the builtin `map()` function, except it will execute " +#~ "everything in parallel. :" +#~ msgstr "" + +#~ msgid "" +#~ "Return the exception raised by the call. If no exception was raised then " +#~ "this returns `None`. Note that this will block just like `result()`." +#~ msgstr "" + +#~ msgid "Threading" +#~ msgstr "" + +#~ msgid "" +#~ "Running a function in another thread is as simple as passing a callable and " +#~ "it's arguments to `Thread`'s constructor and then calling `start()`:" +#~ msgstr "" + +#~ msgid "" +#~ "Because multiple threads have access to the same section of memory, " +#~ "sometimes there might be situations where two or more threads are trying to " +#~ "write to the same resource at the same time or where the output is dependent" +#~ " on the sequence or timing of certain events. This is called a `data race`_ " +#~ "or race condition. When this happens, the output will be garbled or you may " +#~ "encounter problems which are difficult to debug. A good example is this " +#~ "`stackoverflow post`_." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/web.mo b/docs/locale/ko/LC_MESSAGES/scenarios/web.mo new file mode 100644 index 00000000..16b239c2 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/web.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/web.po b/docs/locale/ko/LC_MESSAGES/scenarios/web.po new file mode 100644 index 00000000..01592a1a --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/web.po @@ -0,0 +1,978 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../scenarios/web.rst:4 +msgid "Web Applications & Frameworks" +msgstr "웹 어플리케이션 & 프레임워크" + +#: ../../scenarios/web.rst:8 +msgid "" +"As a powerful scripting language adapted to both fast prototyping and bigger" +" projects, Python is widely used in web application development." +msgstr "" +"파이썬은 빠른 프로토타이핑과 거대한 프로젝트에 두루 사용되는 강력한 스크립트 언어로서, 웹 어플리케이션 개발에 널리 사용된다." + +#: ../../scenarios/web.rst:15 +msgid "Context" +msgstr "Context" + +#: ../../scenarios/web.rst:20 +msgid "WSGI" +msgstr "WSGI" + +#: ../../scenarios/web.rst:22 +msgid "" +"The Web Server Gateway Interface (or \"WSGI\" for short) is a standard " +"interface between web servers and Python web application frameworks. By " +"standardizing behavior and communication between web servers and Python web " +"frameworks, WSGI makes it possible to write portable Python web code that " +"can be deployed in any :ref:`WSGI-compliant web server `. " +"WSGI is documented in :pep:`3333`." +msgstr "" +"Web Server Gateway Interface(웹 서버 게이트웨이 인터페이스)(줄여서 \"WSGI\") 는 웹서버와 파이썬 웹 " +"어플리케이션 프레임워크 간의 표준 인터페이스입니다. 웹 서버와 파이썬 웹 프레임워크 간의 동작과 통신을 표준화함으로써 WSGI는 모든 " +":ref:`WSGI 호환 웹서버 ` 에 복사해 넣어 배포할 수 있는 파이썬 웹서버 코드를 작성할 수 " +"있도록 합니다." + +#: ../../scenarios/web.rst:32 +msgid "Frameworks" +msgstr "프레임워크" + +#: ../../scenarios/web.rst:34 +msgid "" +"Broadly speaking, a web framework consists of a set of libraries and a main " +"handler within which you can build custom code to implement a web " +"application (i.e. an interactive web site). Most web frameworks include " +"patterns and utilities to accomplish at least the following:" +msgstr "" +"일반적으로 웹 프레임워크란 웹 어플리케이션(예를 들면 대화형 웹사이트)을 구현하기 위해 사용되는일련의 라이브러리 묶음과 사용자 정의 " +"코드를 빌드할 수 있는 기본 핸들러로 구성됩니다.대부분의 웹 프레임워크는 적어도 다음과 같은 사항들을 달성하기 위한 패턴과 유틸리티를 " +"갖추고 있습니다:" + +#: ../../scenarios/web.rst:41 +msgid "URL Routing" +msgstr "URL 라우팅" + +#: ../../scenarios/web.rst:40 +msgid "" +"Matches an incoming HTTP request to a particular piece of Python code to be " +"invoked" +msgstr "들어오는 HTTP 요청을 특정 파이썬 코드 조각에 연결시켜 실행합니다." + +#: ../../scenarios/web.rst:44 +msgid "Request and Response Objects" +msgstr "요청 & 응답 객체" + +#: ../../scenarios/web.rst:44 +msgid "Encapsulates the information received from or sent to a user's browser" +msgstr "사용자의 브라우저가 주고 받는 정보를 캡슐화합니다." + +#: ../../scenarios/web.rst:48 +msgid "Template Engine" +msgstr "템플릿 엔진" + +#: ../../scenarios/web.rst:47 +msgid "" +"Allows for separating Python code implementing an application's logic from " +"the HTML (or other) output that it produces" +msgstr "어플리케이션의 로직을 구현하는 파이썬 코드를 그 파이썬 코드가 생성하는 HTML(또는 다른 무언가)로부터 분리합니다." + +#: ../../scenarios/web.rst:53 +msgid "Development Web Server" +msgstr "개발 웹서버" + +#: ../../scenarios/web.rst:51 +msgid "" +"Runs an HTTP server on development machines to enable rapid development; " +"often automatically reloads server-side code when files are updated" +msgstr "" +"신속한 개발이 가능하도록 개발용 머신에 HTTP 서버를 실행합니다. 그리고 파일이 업데이트 될 때 자동으로 서버 측 코드를 다시 " +"불러옵니다." + +#: ../../scenarios/web.rst:56 +msgid "Django" +msgstr "장고" + +#: ../../scenarios/web.rst:58 +msgid "" +"`Django `_ is a \"batteries included\" web " +"application framework, and is an excellent choice for creating content-" +"oriented websites. By providing many utilities and patterns out of the box, " +"Django aims to make it possible to build complex, database-backed web " +"applications quickly, while encouraging best practices in code written using" +" it." +msgstr "" +"`장고 `_ 는 \"batteries included\" 웹 어플리케이션 " +"프레임워크입니다. 컨텐츠 중심 웹사이트를 위한 훌륭한 선택입니다. 많은 유틸리티와 패턴을 기본적으로 제공함으로써 장고는 복잡한 " +"데이터베이스 기반 웹 어플리케이션을 빠르게 개발할 수 있도록 해줍니다. 또한 장고를 사용하면 베스트 프랙티스라 할 코드 작성이 쉽습니다." +" " + +#: ../../scenarios/web.rst:64 +msgid "" +"Django has a large and active community, and many pre-built `re-usable " +"modules `_ that can be incorporated into a new " +"project as-is, or customized to fit your needs." +msgstr "" +"장고는 크고 활발한 커뮤니티를 가지고 있고, 바로 사용할 수 있는 다양한 `재사용 가능 모듈 " +"`_ 이 있다. 이 것을 새 프로젝트에 바로 적용할 수도 있고 필요하다면 커스터마이징 " +"해서 사용할 수도 있다. " + +#: ../../scenarios/web.rst:68 +msgid "" +"There are annual Django conferences `in the United States " +"`_, `Europe `_, and `Australia " +"`_." +msgstr "" +"`미국 `_, `유렵 `_, 그리고 `오스트레일리아 " +"`_ 에서 매년 장고 컨퍼런스를 한다." + +#: ../../scenarios/web.rst:71 +msgid "" +"The majority of new Python web applications today are built with Django." +msgstr "요즘 새로 개발하는 파이썬 웹 어플리케이션은 대부분 장고로 만든다." + +#: ../../scenarios/web.rst:74 +msgid "Flask" +msgstr "플라스크" + +#: ../../scenarios/web.rst:76 +msgid "" +"`Flask `_ is a \"microframework\" for Python, and " +"is an excellent choice for building smaller applications, APIs, and web " +"services." +msgstr "" +"`Flask `_ 는 파이썬의 \"마이크로프레임워크\" 입니다. 플라스크는 작은 " +"어플리케이션, API, 웹 서비스를 만들기에 좋습니다." + +#: ../../scenarios/web.rst:79 +msgid "" +"Building an app with Flask is a lot like writing standard Python modules, " +"except some functions have routes attached to them. It's really beautiful." +msgstr "" +"플라스크로 앱을 만드는 일은 라우터가 연결된 함수라는 점을 제외하고는 파이썬 표준 모듈을 작성하는 것과 비슷합니다.정말 아름다워요." + +#: ../../scenarios/web.rst:82 +msgid "" +"Rather than aiming to provide everything you could possibly need, Flask " +"implements the most commonly-used core components of a web application " +"framework, like URL routing, request and response objects, and templates." +msgstr "" +"플라스크의 목표는 필요할지 어떨지도 모를 모든 것들을 제공하는 게 아닙니다. 플라스크는 웹 어플리케이션에서 가장 많이 쓰이는 핵심 " +"구성요소들(URL 라우팅, 리퀘스트-리스폰스 오브젝트, 템플릿)을 구현합니다. " + +#: ../../scenarios/web.rst:86 +msgid "" +"If you use Flask, it is up to you to choose other components for your " +"application, if any. For example, database access or form generation and " +"validation are not built-in functions of Flask." +msgstr "" +"플라스크를 사용할 때 어플리케이션을 어떻게 구성할 것인지는 전적으로 당신에게 달려있습니다. 예를 들어 데이터베이스 접근, 폼 생성 및 " +"유효성 체크는 플라스크의 빌트인 함수가 아닙니다." + +#: ../../scenarios/web.rst:90 +msgid "" +"This is great, because many web applications don't need those features. For " +"those that do, there are many `Extensions " +"`_ available that may suit your needs. " +"Or, you can easily use any library you want yourself!" +msgstr "" +"많은 웹 어플리케이션은 이런 기능을 필요로 하지 않습니다. 그러니 이런 기능이 내장되어 있지 않다는 것은 좋은 일입니다. 이런 기능이 " +"필요하다면 적당한 `익스텐션 `_ 이 많이 있습니다. 달리 사용하고 싶은" +" 라이브러리를 써도 됩니다! " + +#: ../../scenarios/web.rst:95 +msgid "" +"Flask is default choice for any Python web application that isn't a good fit" +" for Django." +msgstr "플라스크는 장고에 적당하지 않은 파이썬 웹 어플리케이션을 위한 기본 선택지입니다. " + +#: ../../scenarios/web.rst:99 +msgid "Falcon" +msgstr "팔콘" + +#: ../../scenarios/web.rst:101 +msgid "" +"`Falcon `_ is a good choice when your goal is " +"to build RESTful API microservices that are fast and scalable." +msgstr "" +"`Falcon `_ 은 빠르고 확장 가능한 RESTful API 마이크로서비스 " +"개발을 위한 좋은 선택입니다." + +#: ../../scenarios/web.rst:104 +msgid "" +"It is a reliable, high-performance Python web framework for building large-" +"scale app backends and microservices. Falcon encourages the REST " +"architectural style of mapping URIs to resources, trying to do as little as " +"possible while remaining highly effective." +msgstr "" +"팔콘은 대규모 앱 백엔드와 마이크로서비스를 개발하기 위한 신뢰성 있고 성능 좋은 파이썬 웹 프레임워크입니다.Falcon은 URI를 " +"리소스에 매핑하는 REST 아키텍처 스타일을 권장하며, 높은 효율성을 유지하면서 가능한 한 적은 작업을 시도합니다." + +#: ../../scenarios/web.rst:108 +msgid "" +"Falcon highlights four main focuses: speed, reliability, flexibility, and " +"debuggability. It implements HTTP through \"responders\" such as " +"``on_get()``, ``on_put()``, etc. These responders receive intuitive request " +"and response objects." +msgstr "" +"Falcon은 주요 4요소에 집중합니다. 속도, 신뢰성, 유연성 및 디버깅.on_get(), on_put() 등과 같은 \"응답자\"를 " +"통해 HTTP를 구현합니다. 이러한 응답자는 직관적인 request 및 response 오브젝트를 수신 받습니다." + +#: ../../scenarios/web.rst:113 +msgid "Tornado" +msgstr "토네이도" + +#: ../../scenarios/web.rst:115 +msgid "" +"`Tornado `_ is an asynchronous web framework for" +" Python that has its own event loop. This allows it to natively support " +"WebSockets, for example. Well-written Tornado applications are known to have" +" excellent performance characteristics." +msgstr "" +"`Tornado `_ 는 자체 이벤트 루프가 있는 파이썬을 위한 비동기 웹 " +"프레임워크입니다. 이를 통해 웹소켓을 네이티브하게 지원합니다. 잘 작성된 토네이도 어플리케이션은 우서한 성능이 특징인 것으로 잘 알려져 " +"있습니다.." + +#: ../../scenarios/web.rst:120 +msgid "I do not recommend using Tornado unless you think you need it." +msgstr "토네이도가 필요하다고 생각하지 않는 한 저는 토네이도 사용을 추천하지 않습니다." + +#: ../../scenarios/web.rst:123 +msgid "Pyramid" +msgstr "피라미드" + +#: ../../scenarios/web.rst:125 +msgid "" +"`Pyramid `_ is a very flexible framework with a " +"heavy focus on modularity. It comes with a small number of libraries " +"(\"batteries\") built-in, and encourages users to extend its base " +"functionality. A set of provided cookiecutter templates helps making new " +"project decisions for users. It powers one of the most important parts of " +"python infrastructure `PyPI `_." +msgstr "" +"`Pyramid `_ 는 모듈성에 크게 중점을 둔 유연한 프레임워크다. 빌트인 라이브러리 " +"(\"배터리\") 가 많이 포함되어 있지 않기 때문에, 피라미드는 사용자가 피라미드의 기본 기능을 확장하도록 지원합니다. 붕어빵 틀처럼" +" 쓸 수 있는 템플릿들을 제공하여 사용자가 새 프로젝트를 어떻게 만들지를 돕습니다. 피라미드는 가장 중요한 파이썬 인프라스트럭쳐 중 " +"하나인 `PyPI `_ 를 지원합니다." + +#: ../../scenarios/web.rst:132 +msgid "" +"Pyramid does not have a large user base, unlike Django and Flask. It's a " +"capable framework, but not a very popular choice for new Python web " +"applications today." +msgstr "" +"비록 피라미드의 사용자 수는 장고나 플라스크만큼 많지 않습니다. 피라미드는 써봄직한 프레임워크지만 오늘날 새 파이썬 웹 어플리케이션에는 " +"인기가 없습니다." + +#: ../../scenarios/web.rst:137 +msgid "Masonite" +msgstr "매서나이트" + +#: ../../scenarios/web.rst:139 +msgid "" +"`Masonite `_ is a modern and developer " +"centric, \"batteries included\", web framework." +msgstr "" +"`Masonite `_ 는 모던하고 개발자 중심적이며 \"batteries " +"included\" 인 웹 프레임워크입니다. " + +#: ../../scenarios/web.rst:141 +msgid "" +"The Masonite framework follows the MVC (Model-View-Controller) architecture " +"pattern and is heavily inspired by frameworks such as Rails and Laravel, so " +"if you are coming to Python from a Ruby or PHP background then you will feel" +" right at home!" +msgstr "" +"매서나이트 프레임워크는 MVC(Model-View-Controller) 아키텍쳐 패턴을 따릅니다. 그리고 레일즈와 라바렐 같은 " +"프레임워크로부터 강하게 영감을 받았습니다. 그렇기 때문에 루비나 PHP를 개발하다가 파이썬으로 오셨다면 내 집 같은 편안함을 " +"느끼실겁니다. " + +#: ../../scenarios/web.rst:143 +msgid "" +"Masonite comes with a lot of functionality out of the box including a " +"powerful IOC container with auto resolving dependency injection, craft " +"command line tools, and the Orator active record style ORM." +msgstr "" +"매서나이트는 의존성 자둥 주입 기능이 있는 강력한 IOC 컨테이너, 정교한 커맨드라인 툴, Orator active record " +"style ORM를 제공합니다." + +#: ../../scenarios/web.rst:145 +msgid "" +"Masonite is perfect for beginners or experienced developers alike and works " +"hard to be fast and easy from install through to deployment. Try it once and" +" you’ll fall in love." +msgstr "" +"매서나이트는 초보자부터 숙련된 개발자에 이르기까지 모두에게 적합합니다. 설치부터 개발에 이르기까지 빠르고 쉽게 작업할 수 있습니다. 한 " +"번만 써보시면 사랑에 빠지게 될겁니다." + +#: ../../scenarios/web.rst:148 +msgid "FastAPI" +msgstr "FastAPI" + +#: ../../scenarios/web.rst:150 +msgid "" +"`FastAPI `_ is a modern web framework for " +"building APIs with Python 3.6+." +msgstr "" +"`FastAPI `_ 는 파이썬 3.6 이상 버전으로 API 개발을 하기 위한 모던" +" 웹 프레임워크입니다. " + +#: ../../scenarios/web.rst:153 +msgid "" +"It has very high performance as it is based on `Starlette " +"`_ and `Pydantic `_." +msgstr "" +"`Starlette `_ 와 `Pydantic `_ 을 기반으로하여 매우 높은 성능을 가지고 있습니다" + +#: ../../scenarios/web.rst:156 +msgid "" +"FastAPI takes advantage of standard Python type declarations in function " +"parameters to declare request parameters and bodies, perform data conversion" +" (serialization, parsing), data validation, and automatic API documentation " +"with **OpenAPI 3** (including **JSON Schema**)." +msgstr "" +"FastAPI는 함수 매개 변수의 표준 Python 형식 선언을 활용하여 요청 매개 변수 및 본문을 선언하고, 데이터 변환(시리얼화, " +"구문 분석), 데이터 유효성 검사 및 **OpenAPI 3** (**JSON Schema** 포함) 를 사용한 API 문서 자동화 기능을" +" 제공합니다. " + +#: ../../scenarios/web.rst:161 +msgid "" +"It includes tools and utilities for security and authentication (including " +"OAuth2 with JWT tokens), a dependency injection system, automatic generation" +" of interactive API documentation, and other features." +msgstr "" +"여기에는 보안 및 인증을 위한 툴과 유틸리티(JWT 토큰이 있는 OAuth2 포함), 종속 주입 시스템, 대화형 API 문서의 자동 생성" +" 및 기타 기능이 포함됩니다." + +#: ../../scenarios/web.rst:168 +msgid "Web Servers" +msgstr "웹 서버" + +#: ../../scenarios/web.rst:173 +msgid "Nginx" +msgstr "Nginx" + +#: ../../scenarios/web.rst:175 +msgid "" +"`Nginx `_ (pronounced \"engine-x\") is a web server and " +"reverse-proxy for HTTP, SMTP, and other protocols. It is known for its high " +"performance, relative simplicity, and compatibility with many application " +"servers (like WSGI servers). It also includes handy features like load-" +"balancing, basic authentication, streaming, and others. Designed to serve " +"high-load websites, Nginx is gradually becoming quite popular." +msgstr "" +"`Nginx `_ (\"엔진-엑스\" 라고 발음함) 는 HTTP, SMTP, 그리고 다른 프로토콜을 " +"위한 웹서버 및 리버스 프록시 입니다. 고성능, 상대적으로 단순함 및 WSGI 서버와 같은 많은 애플리케이션 서버와의 호환성으로 " +"유명합니다. 또한 로드 밸런싱, 기본 인증, 스트리밍 등과 같은 편리한 기능도 포함합니다. Nginx는 부하가 많은 웹 사이트를 " +"제공하도록 설계되었으며, 점점 인기가 많아지고 있습니다." + +#: ../../scenarios/web.rst:188 +msgid "WSGI Servers" +msgstr "WSGI 서버" + +#: ../../scenarios/web.rst:190 +msgid "" +"Stand-alone WSGI servers typically use less resources than traditional web " +"servers and provide top performance [1]_." +msgstr "스탠드얼론 WSGI 서버는 일반적으로 전통적인 웹서버보다 리소스를 덜 잡아먹습니다. 그리고 성능이 좋습니다 [1]_." + +#: ../../scenarios/web.rst:196 +msgid "Gunicorn" +msgstr "지유니콘(Gunicorn)" + +#: ../../scenarios/web.rst:198 +msgid "" +"`Gunicorn `_ (Green Unicorn) is a pure-Python WSGI " +"server used to serve Python applications. Unlike other Python web servers, " +"it has a thoughtful user interface, and is extremely easy to use and " +"configure." +msgstr "" +"`지유니콘 `_ (그린 유니콘)은 순수 파이썬 WSGI 서버로서 파이썬 어플리케이션을 서비스하는" +" 데 쓰입니다. 다른 파이썬 웹서버와 달리 유저 인터페이스가 좋고 사용하기도 편하고 설정하기도 편합니다. " + +#: ../../scenarios/web.rst:203 +msgid "" +"Gunicorn has sane and reasonable defaults for configurations. However, some " +"other servers, like uWSGI, are tremendously more customizable, and " +"therefore, are much more difficult to effectively use." +msgstr "" +"지유니콘은 건전하고 합리적인 기본 설정을 두고 있습니다. 대조적으로 uWSGI 같은 다른 서버들은 무서울 정도로 커스터마이징이 가능한 " +"대신 효율적으로 사용하기는 어렵습니다." + +#: ../../scenarios/web.rst:207 +msgid "" +"Gunicorn is the recommended choice for new Python web applications today." +msgstr "지유니콘을 현재 새로 만드는 파이썬 웹 어플리케이션을 위한 선택으로 추천드립니다. " + +#: ../../scenarios/web.rst:211 +msgid "Waitress" +msgstr "웨이트리스(Waitress)" + +#: ../../scenarios/web.rst:213 +msgid "" +"`Waitress `_ is a pure-Python WSGI server " +"that claims \"very acceptable performance\". Its documentation is not very " +"detailed, but it does offer some nice functionality that Gunicorn doesn't " +"have (e.g. HTTP request buffering)." +msgstr "" +"`Waitress `_ 는 순수 파이썬으로 만들어진 WSGI 서버로서 " +"\"납득하고도 남을 만한 성능\" 이 있다고 주장합니다. 문서는 상세하지 않습니다. 하지만 Gunicorn에 없는 멋진 기능(예를 들면 " +"HTTP 리퀘스트 버퍼링)을 제공합니다." + +#: ../../scenarios/web.rst:218 +msgid "" +"Waitress is gaining popularity within the Python web development community." +msgstr "웨이트리스는 파이썬 웹 개발 커뮤니티 사이에서 인기를 얻고 있습니다. " + +#: ../../scenarios/web.rst:223 +msgid "uWSGI" +msgstr "uWSGI" + +#: ../../scenarios/web.rst:225 +msgid "" +"`uWSGI `_ is a full stack for building " +"hosting services. In addition to process management, process monitoring, " +"and other functionality, uWSGI acts as an application server for various " +"programming languages and protocols -- including Python and WSGI. uWSGI can " +"either be run as a stand-alone web router, or be run behind a full web " +"server (such as Nginx or Apache). In the latter case, a web server can " +"configure uWSGI and an application's operation over the `uwsgi protocol " +"`_. uWSGI's web " +"server support allows for dynamically configuring Python, passing " +"environment variables, and further tuning. For full details, see `uWSGI " +"magic variables `_." +msgstr "" +"`uWSGI `_ 는 호스팅 서비스를 구축하는 용도로 쓰이는 풀스택 " +"서버입니다. 프로세스 관리 뿐 아니라 프로세스 모니터링, 그리고 다른 기능까지 uWSGI는 다양한 프로그래밍 언어와 프로토콜(파이썬과 " +"WSGI 포함)을 위한 어플리케이션 서버로서 동작합니다. uWSGI는 스탠드얼론 웹 라우터로서도 사용할 수 있고, (엔진엑스나 아피치 " +"같은) 완전한 웹서버 뒤에서 동작할 수도 있습니다. 후자의 경우 웹서버는 `uwsgi protocol `_ 를 통해 uWSGI와 어플리케이션을 설정할 수 있다." +" uWSGI의 웹서버 지원 덕분에 파이썬의 설정을 동적으로 변경할 수 있고 환경변수도 넘길 수 있으며 추가 튜닝도 가능합니다. 더이상의 " +"자세한 설명은 생략한다. `uWSGI magic variables `_ 을 참고하도록." + +#: ../../scenarios/web.rst:238 +msgid "I do not recommend using uWSGI unless you know why you need it." +msgstr "왜 uWSGI가 필요한지 이유를 알기 전까지는 이걸 사용하지 않기를 추천합니다." + +#: ../../scenarios/web.rst:245 +msgid "Server Best Practices" +msgstr "서버 베스트 프랙티스" + +#: ../../scenarios/web.rst:247 +msgid "" +"The majority of self-hosted Python applications today are hosted with a WSGI" +" server such as :ref:`Gunicorn `, either directly or behind a " +"lightweight web server such as :ref:`nginx `." +msgstr "" +"요즘은 자체 호스팅할 경우 대부분의 파이썬 어플리케이션을 :ref:`Gunicorn ` 같은 WSGI 서버에 " +"바로 호스팅합니다. 그렇지 않으면 :ref:`nginx ` 처럼 가벼운 웹서버 뒤에서 호스팅합니다." + +#: ../../scenarios/web.rst:251 +msgid "" +"The WSGI servers serve the Python applications while the web server handles " +"tasks better suited for it such as static file serving, request routing, " +"DDoS protection, and basic authentication." +msgstr "" +"WSGI서버는 웹서버가 정적 파일 전송, 리퀘스트 라우팅, 디도스 보호, 기본적인 인증 같이 웹서버가 보다 잘하는 작업들을 수행하는 동안" +" 파이썬 어플리케이션을 서빙합니다. " + +#: ../../scenarios/web.rst:258 +msgid "Hosting" +msgstr "호스팅" + +#: ../../scenarios/web.rst:260 +msgid "" +"Platform-as-a-Service (PaaS) is a type of cloud computing infrastructure " +"which abstracts and manages infrastructure, routing, and scaling of web " +"applications. When using a PaaS, application developers can focus on writing" +" application code rather than needing to be concerned with deployment " +"details." +msgstr "" +"Platform-as-a-Service (PaaS)는 인프라스트럭쳐와 라우팅, 웹 어플리케이션 확장을 추상화하고 관리하는 유형의 클라우드" +" 컴퓨팅 인프라스트럭쳐입니다. PaaS를 사용하면 어플리케이션 개발자가 배포에 관해서 신경 쓸 필요없이 어플리케이션 코드 작성에 집중할 " +"수 있습니다. " + +#: ../../scenarios/web.rst:267 +msgid "Heroku" +msgstr "헤로쿠" + +#: ../../scenarios/web.rst:269 +msgid "" +"`Heroku `_ offers first-class support for " +"Python 2.7–3.5 applications." +msgstr "" +"`Heroku `_ 는 파이썬 2.7부터 3.5까지의 모든 어플리케이션을 확실하게" +" 지원 보증합니다. " + +#: ../../scenarios/web.rst:272 +msgid "" +"Heroku supports all types of Python web applications, servers, and " +"frameworks. Applications can be developed on Heroku for free. Once your " +"application is ready for production, you can upgrade to a Hobby or " +"Professional application." +msgstr "" +"헤로쿠는 모든 종류의 파이썬 웹 어플리케이션과 서버 그리고 프레임워크를 지원합니다. 어플리케이션을 헤로쿠에 공짜로 배포할 수 있습니다. " +"일단 어플리케이션 배포 준비가 다 끝났다면 취미용 어플리케이션으로든 프로페셔널한 어플리케이션으로든 업그레이드 가능합니다." + +#: ../../scenarios/web.rst:276 +msgid "" +"Heroku maintains `detailed articles " +"`_ on using Python " +"with Heroku, as well as `step-by-step instructions " +"`_ on how" +" to set up your first application." +msgstr "" +"헤로쿠는 파이썬을 헤로쿠에서 돌리기 위한 `상세한 글 " +"`_ 을 제공합니다. 뿐만 아니라 첫" +" 어플리케이션을 셋업하기 위한 `step-by-step 안내서 " +"`_ 도 " +"제공합니다." + +#: ../../scenarios/web.rst:281 +msgid "" +"Heroku is the recommended PaaS for deploying Python web applications today." +msgstr "현대 파이썬 웹 어플리케이션 배포를 위한 PaaS로 헤로쿠를 추천합니다. " + +#: ../../scenarios/web.rst:286 +msgid "Templating" +msgstr "템플릿" + +#: ../../scenarios/web.rst:288 +msgid "" +"Most WSGI applications are responding to HTTP requests to serve content in " +"HTML or other markup languages. Instead of directly generating textual " +"content from Python, the concept of separation of concerns advises us to use" +" templates. A template engine manages a suite of template files, with a " +"system of hierarchy and inclusion to avoid unnecessary repetition, and is in" +" charge of rendering (generating) the actual content, filling the static " +"content of the templates with the dynamic content generated by the " +"application." +msgstr "" +"대부분의 WSGI 어플리케이션은 HTTP 요청에 대한 응답으로 HTML이나 다른 마크업 언어 형식의 컨텐츠를 제공합니다. 파이썬에서 직접" +" 텍스트 컨텐츠를 들기보다는 관심사의 분리 개념을 적용하여 템플릿을 사용해봅시다. 템플릿 엔진은 불필요한 반복을 피하기 위해 계층 구조 " +"및 포함 구조로서 여러 템플릿 파일들을 관리합니다. 그리고 템플릿의 정적 컨텐츠를 어플리케이션에서 만들어진 동적 컨텐츠로 채워서 실제 " +"컨텐츠를 렌더링(생성)하는 역할을 합니다. " + +#: ../../scenarios/web.rst:296 +msgid "" +"As template files are sometimes written by designers or front-end " +"developers, it can be difficult to handle increasing complexity." +msgstr "템플릿 파일은 종종 디자이너나 프론트엔드 개발자가 작성하는데, 이러면 복잡성이 올라가 다루기 힘들어질 수 있습니다. " + +#: ../../scenarios/web.rst:300 +msgid "" +"Some general good practices apply to the part of the application passing " +"dynamic content to the template engine, and to the templates themselves." +msgstr "몇 가지 일반적인 good 프랙티스를 적용하여 템플릿 엔진에 동적 컨텐츠를 전달하거나, 아니면 템플릿 자체를 전달해봅시다." + +#: ../../scenarios/web.rst:303 +msgid "" +"Template files should be passed only the dynamic content that is needed for " +"rendering the template. Avoid the temptation to pass additional content " +"\"just in case\": it is easier to add some missing variable when needed than" +" to remove a likely unused variable later." +msgstr "" +"템플릿에 동적 컨텐츠를 전달할 때는 템플릿 렌더링에 필요한 것들만 넘겨야 합니다. \"만약의 경우\": 를 대비한 추가적인 컨텐츠를 " +"템플릿에 전달하지 마세요. 사용하지 않는 변수를 제거하는 것보다 빼먹은 변수를 추가하는 게 더 쉽다. " + +#: ../../scenarios/web.rst:309 +msgid "" +"Many template engines allow for complex statements or assignments in the " +"template itself, and many allow some Python code to be evaluated in the " +"templates. This convenience can lead to uncontrolled increase in complexity," +" and often make it harder to find bugs." +msgstr "" +"많은 템플릿 엔진이 템플릿 자체 내에서 복잡한 구문과 할당을 합니다. 그리고 템플릿 안에서 파이썬 코드들이 평가되도록 합니다. 이 방법은" +" 편리하지만 감당할 수 없는 복잡성을 증가시킵니다. 가끔은 버그를 찾기 힘들게 합니다. " + +#: ../../scenarios/web.rst:315 +msgid "" +"It is often necessary to mix JavaScript templates with HTML templates. A " +"sane approach to this design is to isolate the parts where the HTML template" +" passes some variable content to the JavaScript code." +msgstr "" +"자바스크립트 템플릿과 HTML 템플릿을 섞어 써야 할 때가 있습니다. 이러한 디자인에 대한 제정신 박힌 접근법은 HTML 템플릿에서 " +"자바스크립트로 값을 전달하는 부분을 분리하는 것입니다." + +#: ../../scenarios/web.rst:323 +msgid "Jinja2" +msgstr "Jinja2" + +#: ../../scenarios/web.rst:324 +msgid "" +"`Jinja2 `_ is a very well-regarded template engine." +msgstr "`Jinja2 `_ 는 아주 잘 다듬어진 템플릿 엔진입니다. " + +#: ../../scenarios/web.rst:326 +msgid "" +"It uses a text-based template language and can thus be used to generate any " +"type of markup, not just HTML. It allows customization of filters, tags, " +"tests, and globals. It features many improvements over Django's templating " +"system." +msgstr "" +"텍스트 기반 템플릿 언어를 사용하기 때문에 HTML뿐만 아니라 모든 유형의 마크업을 생성하는 데 사용할 수 있으며 필터 태그, 테스트 및" +" 전역 변수의 사용자 지정을 허용합니다. Django의 템플릿 시스템에 비해 많은 개선점을 가지고 있습니다." + +#: ../../scenarios/web.rst:330 +msgid "Here some important HTML tags in Jinja2:" +msgstr "Jinja2의 중요한 HTML 태그를 소개합니다: " + +#: ../../scenarios/web.rst:350 +msgid "" +"The next listings are an example of a web site in combination with the " +"Tornado web server. Tornado is not very complicated to use." +msgstr "다음은 토네이도 웹서버와 함께 Jinja2를 사용하는 예시입니다. 토네이도는 사용하기에 복잡하지 않습니다. " + +#: ../../scenarios/web.rst:391 +msgid "" +"The :file:`base.html` file can be used as base for all site pages which are " +"for example implemented in the content block." +msgstr "" +"예를 들어 :file:`base.html` base.html 파일은 컨텐츠 블록에 구현된 모든 사이트 페이지의 기준으로 사용할 수 " +"있습니다." + +#: ../../scenarios/web.rst:416 +msgid "" +"The next listing is our site page (:file:`site.html`) loaded in the Python " +"app which extends :file:`base.html`. The content block is automatically set " +"into the corresponding block in the :file:`base.html` page." +msgstr "" +"다음 예시는 :file:`base.html` 파일을 확장해서 python 앱에 사이트 페이지 (:file:`site.html`) 를 " +"로드한 경우입니다. base.html을 확장합니다. 컨텐츠 블록은 :file:`base.html` 페이지의 해당 블록으로 자동 " +"설정됩니다." + +#: ../../scenarios/web.rst:438 +msgid "" +"Jinja2 is the recommended templating library for new Python web " +"applications." +msgstr "새 파이썬 웹 엎ㄹ리케이션을 위한 템플릿 라이브러리로 Jinja2를 추천합니다. " + +#: ../../scenarios/web.rst:441 +msgid "Chameleon" +msgstr "카멜레온(Chameleon)" + +#: ../../scenarios/web.rst:443 +msgid "" +"`Chameleon `_ Page Templates are an " +"HTML/XML template engine implementation of the `Template Attribute Language " +"(TAL) `_, `TAL " +"Expression Syntax (TALES) " +"`_, and `Macro Expansion TAL (Metal) " +"`_ " +"syntaxes." +msgstr "" +"`Chameleon `_ Page Templates 은 HTML/XML " +"template engine 구현체로서, `Template Attribute Language (TAL) " +"`_, `TAL " +"Expression Syntax (TALES) " +"`_, 그리고 `Macro Expansion TAL (Metal) " +"`_ " +"구문을 사용합니다." + +#: ../../scenarios/web.rst:448 +msgid "" +"Chameleon is available for Python 2.5 and up (including 3.x and PyPy), and " +"is commonly used by the `Pyramid Framework `_." +msgstr "" +"카멜레온은 파이썬 2.5와 그 이상 (3.x와 PyPy 포함)에서 사용 가능하며, `Pyramid Framework " +"`_ 에서 일반적으로 사용합니다." + +#: ../../scenarios/web.rst:451 +msgid "" +"Page Templates add within your document structure special element attributes" +" and text markup. Using a set of simple language constructs, you control the" +" document flow, element repetition, text replacement, and translation. " +"Because of the attribute-based syntax, unrendered page templates are valid " +"HTML and can be viewed in a browser and even edited in WYSIWYG editors. This" +" can make round-trip collaboration with designers and prototyping with " +"static files in a browser easier." +msgstr "" +"페이지 템플릿은 문서 구조에 특수 엘리먼트 어트리뷰트와 텍스트 마크업을 추가합니다. 간단한 언어 구문으로 문서의 흐름과 엘리먼트의 반복," +" 텍스트 교체, 다국어 처리가 가능합니다. 어트리뷰트에 기반한 구문 덕분에 렌더링 되지 않은 페이지도 HTML 포맷으로 유효하며 " +"브라우저에서 볼 수 있고 WYSIWYG 에디터로 수정도 가능합니다. 이를 통해 디자이너와 양방향 협업이 가능하고 브라우저에서 정적 파일을" +" 프로토타이핑 하기도 쉽습니다. " + +#: ../../scenarios/web.rst:459 +msgid "The basic TAL language is simple enough to grasp from an example:" +msgstr "기본 TAL 언어는 예제 하나만 봐도 이해할 수 있을 만큼 간단합니다: " + +#: ../../scenarios/web.rst:477 +msgid "" +"The `` pattern for text insertion is " +"common enough that if you do not require strict validity in your unrendered " +"templates, you can replace it with a more terse and readable syntax that " +"uses the pattern `${expression}`, as follows:" +msgstr "" +"`` 패턴을 텍스트 삽입에 사용하고 렌더링 되기 전의 템플릿이 유효한 " +"HTML 구문일 필요가 없다면 다음과 같이 `${expression}` 패턴을 사용해서 보다 간결하고 가독성 높은 구문으로 바꿀 수 " +"있다." + +#: ../../scenarios/web.rst:498 +msgid "" +"But keep in mind that the full `Default " +"Text` syntax also allows for default content in the unrendered " +"template." +msgstr "" +"하지만 `Default Text` 구문이 렌더링 되지 않았을 때 " +"Default Text가 기본 값으로 찍힌다는 것을 명심하세요." + +#: ../../scenarios/web.rst:501 +msgid "Being from the Pyramid world, Chameleon is not widely used." +msgstr "Pyramid를 사용하는 사람들은 Chameleon은 잘 안 씁니다." + +#: ../../scenarios/web.rst:504 +msgid "Mako" +msgstr "마코(Mako)" + +#: ../../scenarios/web.rst:506 +msgid "" +"`Mako `_ is a template language that compiles" +" to Python for maximum performance. Its syntax and API are borrowed from the" +" best parts of other templating languages like Django and Jinja2 templates. " +"It is the default template language included with the `Pylons and Pyramid " +"`_ web frameworks." +msgstr "" +"`Mako `_ 는 파이썬의 최대 성능을 내기 위해 파이썬으로 컴파일 작업을 하는" +" 템플릿 엔진입니다. Django와 Jinja2 같이 다른 템플릿 언어로부터 멋진 부분을 가져와 구문과 API를 만들었습니다. " +"`Pylons 과 Pyramid `_ 웹 프레임워크의 기본 템플릿 언어입니다. " + +#: ../../scenarios/web.rst:512 +msgid "An example template in Mako looks like:" +msgstr "마코 템플릿 예제입니다: " + +#: ../../scenarios/web.rst:534 +msgid "To render a very basic template, you can do the following:" +msgstr "다음과 같이 아주 간단한 템플릿을 렌더링 할 수 있습니다: " + +#: ../../scenarios/web.rst:541 +msgid "Mako is well respected within the Python web community." +msgstr "마코는 파이썬 웹 커뮤니티가 좋아하는 템플릿입니다." + +#: ../../scenarios/web.rst:544 +msgid "References" +msgstr "참고" + +#: ../../scenarios/web.rst:545 +msgid "" +"`Benchmark of Python WSGI Servers `_" +msgstr "" +"`Python WSGI Servers 벤치마크 `_" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Werkzeug" +#~ msgstr "" + +#~ msgid "Platform-as-a-Service" +#~ msgstr "" + +#~ msgid "DotCloud" +#~ msgstr "" + +#~ msgid "Web Applications" +#~ msgstr "" + +#~ msgid "Encapsulate the information received from or sent to a user's browser" +#~ msgstr "" + +#~ msgid "" +#~ "`Django `_ is a \"batteries included\" web " +#~ "application framework, and is an excellent choice for creating content-" +#~ "oriented websites. By providing many utilities and patterns out of the box, " +#~ "Django aims to make it possible to build complex, database-backed web " +#~ "applications quickly, while encouraging best practices in code written using" +#~ " it." +#~ msgstr "" + +#~ msgid "" +#~ "There are annual Django conferences `in the United States " +#~ "`_ and `in Europe `_." +#~ msgstr "" + +#~ msgid "" +#~ "`Tornado `_ is an asyncronous web framework for " +#~ "Python that has its own event loop. This allows it to natively support " +#~ "WebSockets, for example. Well-written Tornado applications are known to have" +#~ " excellent performance characteristics." +#~ msgstr "" + +#~ msgid "" +#~ "`Pyramid `_ is a very flexible framework with a " +#~ "heavy focus on modularity. It comes with a small number of libraries " +#~ "(\"batteries\") built-in, and encourages users to extend its base " +#~ "functionality." +#~ msgstr "" + +#~ msgid "" +#~ "`Nginx `_ (pronounced \"engine-x\") is a web server and " +#~ "reverse-proxy for HTTP, SMTP and other protocols. It is known for its high " +#~ "performance, relative simplicity, and compatibility with many application " +#~ "servers (like WSGI servers). It also includes handy features like load-" +#~ "balancing, basic authentication, streaming, and others. Designed to serve " +#~ "high-load websites, Nginx is gradually becoming quite popular." +#~ msgstr "" + +#~ msgid "" +#~ "Stand-alone WSGI servers typically use less resources than traditional web " +#~ "servers and provide top performance [3]_." +#~ msgstr "" + +#~ msgid "" +#~ "`Gunicorn `_ (Green Unicorn) is a pure-python WSGI " +#~ "server used to serve Python applications. Unlike other Python web servers, " +#~ "it has a thoughtful user-interface, and is extremely easy to use and " +#~ "configure." +#~ msgstr "" + +#~ msgid "" +#~ "`Waitress `_ is a pure-python WSGI server " +#~ "that claims \"very acceptable performance\". Its documentation is not very " +#~ "detailed, but it does offer some nice functionality that Gunicorn doesn't " +#~ "have (e.g. HTTP request buffering)." +#~ msgstr "" + +#~ msgid "" +#~ "`uWSGI `_ is a full stack for building " +#~ "hosting services. In addition to process management, process monitoring, " +#~ "and other functionality, uWSGI acts as an application server for various " +#~ "programming languages and protocols - including Python and WSGI. uWSGI can " +#~ "either be run as a stand-alone web router, or be run behind a full web " +#~ "server (such as Nginx or Apache). In the latter case, a web server can " +#~ "configure uWSGI and an application's operation over the `uwsgi protocol " +#~ "`_. uWSGI's web " +#~ "server support allows for dynamically configuring Python, passing " +#~ "environment variables and further tuning. For full details, see `uWSGI " +#~ "magic variables `_." +#~ msgstr "" + +#~ msgid "" +#~ "`Heroku `_ offers first-class support for " +#~ "Python 2.7–3.5 applications." +#~ msgstr "" + +#~ msgid "" +#~ "Heroku maintains `detailed articles " +#~ "`_ on using Python with " +#~ "Heroku, as well as `step-by-step instructions " +#~ "`_ on how" +#~ " to set up your first application." +#~ msgstr "" + +#~ msgid "Gondor" +#~ msgstr "" + +#~ msgid "" +#~ "`Gondor `_ is a PaaS specialized for deploying Django " +#~ "and Pinax applications. Gondor recommends Django version 1.6 and supports " +#~ "any WSGI application on Python version 2.7. Gondor can automatically " +#~ "configure your Django site if you use :file:`local_settings.py` for site-" +#~ "specific configuration information." +#~ msgstr "" + +#~ msgid "" +#~ "Gondor has a guide on deploying `Django projects " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "Gondor is run by a small company and focuses on helping businesses find " +#~ "success with Python and Django." +#~ msgstr "" + +#~ msgid "" +#~ "Most WSGI applications are responding to HTTP requests to serve content in " +#~ "HTML or other markup languages. Instead of generating directly textual " +#~ "content from Python, the concept of separation of concerns advises us to use" +#~ " templates. A template engine manages a suite of template files, with a " +#~ "system of hierarchy and inclusion to avoid unnecessary repetition, and is in" +#~ " charge of rendering (generating) the actual content, filling the static " +#~ "content of the templates with the dynamic content generated by the " +#~ "application." +#~ msgstr "" + +#~ msgid "" +#~ "It uses a text-based template language and can thus be used to generate any " +#~ "type markup, not just HTML. It allows customization of filters, tags, tests " +#~ "and globals. It features many improvements over Django's templating system." +#~ msgstr "" + +#~ msgid "Here some important html tags in Jinja2:" +#~ msgstr "" + +#~ msgid "" +#~ "The next listings is an example of a web site in combination with the " +#~ "Tornado web server. Tornado is not very complicated to use." +#~ msgstr "" + +#~ msgid "" +#~ "`Chameleon `_ Page Templates are an " +#~ "HTML/XML template engine implementation of the `Template Attribute Language " +#~ "(TAL) `_, `TAL " +#~ "Expression Syntax (TALES) " +#~ "`_, and `Macro Expansion TAL (Metal) " +#~ "`_ " +#~ "syntaxes." +#~ msgstr "" + +#~ msgid "" +#~ "Chameleon is available for Python 2.5 and up (including 3.x and pypy), and " +#~ "is commonly used by the `Pyramid Framework `_." +#~ msgstr "" + +#~ msgid "" +#~ "Page Templates add within your document structure special element attributes" +#~ " and text markup. Using a set of simple language constructs, you control the" +#~ " document flow, element repetition, text replacement and translation. " +#~ "Because of the attribute-based syntax, unrendered page templates are valid " +#~ "HTML and can be viewed in a browser and even edited in WYSIWYG editors. This" +#~ " can make round-trip collaboration with designers and prototyping with " +#~ "static files in a browser easier." +#~ msgstr "" + +#~ msgid "" +#~ "`Mako `_ is a template language that compiles" +#~ " to Python for maximum performance. Its syntax and api is borrowed from the " +#~ "best parts of other templating languages like Django and Jinja2 templates. " +#~ "It is the default template language included with the `Pylons and Pyramid " +#~ "`_ web frameworks." +#~ msgstr "" + +#~ msgid "" +#~ "`The mod_python project is now officially dead " +#~ "`_" +#~ msgstr "" + +#~ msgid "" +#~ "`mod_wsgi vs mod_python " +#~ "`_" +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/xml.mo b/docs/locale/ko/LC_MESSAGES/scenarios/xml.mo new file mode 100644 index 00000000..41e36b85 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/scenarios/xml.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/scenarios/xml.po b/docs/locale/ko/LC_MESSAGES/scenarios/xml.po new file mode 100644 index 00000000..484ba26a --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/scenarios/xml.po @@ -0,0 +1,126 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../scenarios/xml.rst:4 +msgid "XML parsing" +msgstr "XML 파싱" + +#: ../../scenarios/xml.rst:11 +msgid "untangle" +msgstr "untangle" + +#: ../../scenarios/xml.rst:13 +msgid "" +"`untangle `_ is a simple library which " +"takes an XML document and returns a Python object which mirrors the nodes " +"and attributes in its structure." +msgstr "" +"`untangle `_ 는 XML 문서를 받아 그 구조의 노드와 " +"어트리뷰트를 그대로 반영한 파이썬 객체를 반환하는 간단한 라이브러리입니다." + +#: ../../scenarios/xml.rst:17 +msgid "For example, an XML file like this:" +msgstr "예를 들어 다음과 같은 XML 파일이 있다고 합시다:" + +#: ../../scenarios/xml.rst:26 +msgid "can be loaded like this:" +msgstr "다음과 같이 로드할 수 있습니다:" + +#: ../../scenarios/xml.rst:33 +msgid "and then you can get the child element's name attribute like this:" +msgstr "그러면 다음과 같이 자식 엘리먼트의 name 어트리뷰트를 가져올 수 있습니다:" + +#: ../../scenarios/xml.rst:39 +msgid "untangle also supports loading XML from a string or a URL." +msgstr "untangle은 문자열이나 URL로부터 XML을 로드하는 것도 지원합니다." + +#: ../../scenarios/xml.rst:44 +msgid "xmltodict" +msgstr "xmltodict" + +#: ../../scenarios/xml.rst:46 +msgid "" +"`xmltodict `_ is another simple " +"library that aims at making XML feel like working with JSON." +msgstr "" +"`xmltodict `_ 은 XML을 JSON으로 작업하는 " +"것처럼 느끼게 해주는 또 다른 간단한 라이브러리입니다." + +#: ../../scenarios/xml.rst:49 +msgid "An XML file like this:" +msgstr "다음과 같은 XML 파일을:" + +#: ../../scenarios/xml.rst:63 +msgid "can be loaded into a Python dict like this:" +msgstr "다음과 같이 파이썬 딕셔너리로 로드할 수 있습니다:" + +#: ../../scenarios/xml.rst:72 +msgid "and then you can access elements, attributes, and values like this:" +msgstr "그러면 다음과 같이 엘리먼트, 어트리뷰트, 값에 접근할 수 있습니다:" + +#: ../../scenarios/xml.rst:81 +msgid "" +"xmltodict also lets you roundtrip back to XML with the unparse function, has" +" a streaming mode suitable for handling files that don't fit in memory, and " +"supports XML namespaces." +msgstr "" +"xmltodict은 unparse 함수로 다시 XML로 변환하는 라운드트립도 지원하며, 메모리에 다 들어가지 않는 파일을 처리하기에 " +"적합한 스트리밍 모드를 가지고 있고, XML 네임스페이스도 지원합니다." + +#: ../../scenarios/xml.rst:87 +msgid "xmlschema" +msgstr "xmlschema" + +#: ../../scenarios/xml.rst:89 +msgid "" +"`xmlschema `_ provides support for" +" using XSD-Schemas in Python. Unlike other XML libraries, automatic type " +"parsing is available, so f.e. if the schema defines an element to be of type" +" ``int``, the parsed ``dict`` will contain also an ``int`` value for that " +"element. Moreover the library supports automatic and explicit validation of " +"XML documents against a schema." +msgstr "" +"`xmlschema `_ 는 파이썬에서 XSD-Schema를 " +"사용할 수 있도록 지원합니다. 다른 XML 라이브러리와는 달리 자동 타입 파싱이 가능하기 때문에, 예를 들어 스키마에서 어떤 엘리먼트의 " +"타입을 ``int`` 로 정의하면 파싱된 ``dict`` 에도 해당 엘리먼트의 값이 ``int`` 로 들어있게 됩니다. 또한 이 " +"라이브러리는 스키마에 따른 XML 문서의 자동 검증 및 명시적 검증을 지원합니다." + +#~ msgid "and then you can get the child elements name like this:" +#~ msgstr "" + +#~ msgid "untangle also supports loading XML from a string or an URL." +#~ msgstr "" + +#~ msgid "" +#~ "`xmltodict `_ is another simple " +#~ "library that aims at making XML feel like working with JSON." +#~ msgstr "" + +#~ msgid "and then you can access elements, attributes and values like this:" +#~ msgstr "" + +#~ msgid "" +#~ "xmltodict also lets you roundtrip back to XML with the unparse function, has" +#~ " a streaming mode suitable for handling files that don't fit in memory and " +#~ "supports namespaces." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/shipping/freezing.mo b/docs/locale/ko/LC_MESSAGES/shipping/freezing.mo new file mode 100644 index 00000000..2b32b0f7 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/shipping/freezing.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/shipping/freezing.po b/docs/locale/ko/LC_MESSAGES/shipping/freezing.po new file mode 100644 index 00000000..bd9da351 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/shipping/freezing.po @@ -0,0 +1,629 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../shipping/freezing.rst:6 +msgid "Freezing Your Code" +msgstr "코드 프리징하기" + +#: ../../shipping/freezing.rst:10 +msgid "" +"\"Freezing\" your code is creating a single-file executable file to " +"distribute to end-users, that contains all of your application code as well " +"as the Python interpreter." +msgstr "" +"코드를 \"프리징(freezing)\"한다는 것은 최종 사용자에게 배포할, 응용의 모든 코드와 파이썬 인터프리터를 포함한 단일 파일 실행" +" 파일을 만드는 것입니다." + +#: ../../shipping/freezing.rst:14 +msgid "" +"Applications such as 'Dropbox', 'Eve Online', 'Civilization IV', and " +"BitTorrent clients do this." +msgstr "" +"'Dropbox', 'Eve Online', 'Civilization IV', BitTorrent 클라이언트 같은 응용이 이렇게 합니다." + +#: ../../shipping/freezing.rst:17 +msgid "" +"The advantage of distributing this way is that your application will \"just " +"work\", even if the user doesn't already have the required version of Python" +" (or any) installed. On Windows, and even on many Linux distributions and OS" +" X, the right version of Python will not already be installed." +msgstr "" +"이런 식으로 배포하는 장점은 사용자가 필요한 파이썬 버전(또는 어떤 파이썬도)을 이미 설치하지 않았더라도 응용이 \"그냥 동작한다\"는 " +"점입니다. Windows에서, 그리고 많은 리눅스 배포판과 OS X에서도, 알맞은 버전의 파이썬이 이미 설치되어 있지 않을 것입니다." + +#: ../../shipping/freezing.rst:22 +msgid "" +"Besides, end-user software should always be in an executable format. Files " +"ending in ``.py`` are for software engineers and system administrators." +msgstr "" +"게다가 최종 사용자용 소프트웨어는 항상 실행 가능한 포맷이어야 합니다. ``.py`` 로 끝나는 파일은 소프트웨어 엔지니어와 시스템 " +"관리자를 위한 것입니다." + +#: ../../shipping/freezing.rst:25 +msgid "" +"One disadvantage of freezing is that it will increase the size of your " +"distribution by about 2–12 MB. Also, you will be responsible for shipping " +"updated versions of your application when security vulnerabilities to Python" +" are patched." +msgstr "" +"프리징의 한 가지 단점은 배포본의 크기가 약 2–12 MB 늘어난다는 점입니다. 또한 파이썬의 보안 취약점이 패치되면 그에 맞춰 응용의 " +"갱신된 버전을 배포해야 하는 책임도 지게 됩니다." + +#: ../../shipping/freezing.rst:33 +msgid "Alternatives to Freezing" +msgstr "프리징의 대안" + +#: ../../shipping/freezing.rst:35 +msgid "" +":ref:`Packaging your code ` is for distributing " +"libraries or tools to other developers." +msgstr "" +":ref:`코드 패키징 ` 은 라이브러리나 도구를 다른 개발자에게 배포하기 위한 것입니다." + +#: ../../shipping/freezing.rst:38 +msgid "" +"On Linux, an alternative to freezing is to :ref:`create a Linux distro " +"package ` (e.g. .deb files for Debian" +" or Ubuntu, or .rpm files for Red Hat and SuSE.)" +msgstr "" +"리눅스에서는 프리징의 대안으로 :ref:`리눅스 배포판 패키지를 만드는 것 ` (예: Debian이나 Ubuntu용 .deb 파일, Red Hat과 SuSE용 .rpm 파일)이 " +"있습니다." + +#: ../../shipping/freezing.rst +msgid "Todo" +msgstr "할 일" + +#: ../../shipping/freezing.rst:42 +msgid "Fill in \"Freezing Your Code\" stub" +msgstr "\"코드 프리징하기\" 스텁 채우기" + +#: ../../shipping/freezing.rst:47 +msgid "Comparison of Freezing Tools" +msgstr "프리징 도구 비교" + +#: ../../shipping/freezing.rst:49 +msgid "" +"Date of this writing: Oct 5, 2019 Solutions and platforms/features " +"supported:" +msgstr "작성일: 2019년 10월 5일. 솔루션과 지원되는 플랫폼/기능:" + +#: ../../shipping/freezing.rst:53 +msgid "Solution" +msgstr "솔루션" + +#: ../../shipping/freezing.rst:53 ../../shipping/freezing.rst:75 +msgid "Windows" +msgstr "Windows" + +#: ../../shipping/freezing.rst:53 ../../shipping/freezing.rst:220 +msgid "Linux" +msgstr "Linux" + +#: ../../shipping/freezing.rst:53 ../../shipping/freezing.rst:164 +msgid "OS X" +msgstr "OS X" + +#: ../../shipping/freezing.rst:53 +msgid "Python 3" +msgstr "Python 3" + +#: ../../shipping/freezing.rst:53 +msgid "License" +msgstr "라이선스" + +#: ../../shipping/freezing.rst:53 +msgid "One-file mode" +msgstr "단일 파일 모드" + +#: ../../shipping/freezing.rst:53 +msgid "Zipfile import" +msgstr "Zipfile 임포트" + +#: ../../shipping/freezing.rst:53 +msgid "Eggs" +msgstr "Egg" + +#: ../../shipping/freezing.rst:53 +msgid "pkg_resources support" +msgstr "pkg_resources 지원" + +#: ../../shipping/freezing.rst:53 +msgid "Latest release date" +msgstr "최신 릴리즈 일자" + +#: ../../shipping/freezing.rst:55 ../../shipping/freezing.rst:78 +#: ../../shipping/freezing.rst:224 +msgid "bbFreeze" +msgstr "bbFreeze" + +#: ../../shipping/freezing.rst:55 ../../shipping/freezing.rst:56 +#: ../../shipping/freezing.rst:57 ../../shipping/freezing.rst:58 +#: ../../shipping/freezing.rst:59 +msgid "yes" +msgstr "예" + +#: ../../shipping/freezing.rst:55 ../../shipping/freezing.rst:56 +#: ../../shipping/freezing.rst:57 ../../shipping/freezing.rst:58 +#: ../../shipping/freezing.rst:59 +msgid "no" +msgstr "아니오" + +#: ../../shipping/freezing.rst:55 ../../shipping/freezing.rst:56 +#: ../../shipping/freezing.rst:59 +msgid "MIT" +msgstr "MIT" + +#: ../../shipping/freezing.rst:55 +msgid "Jan 20, 2014" +msgstr "2014년 1월 20일" + +#: ../../shipping/freezing.rst:56 ../../shipping/freezing.rst:124 +msgid "py2exe" +msgstr "py2exe" + +#: ../../shipping/freezing.rst:56 +msgid "Oct 21, 2014" +msgstr "2014년 10월 21일" + +#: ../../shipping/freezing.rst:57 +msgid "pyInstaller" +msgstr "pyInstaller" + +#: ../../shipping/freezing.rst:57 +msgid "GPL" +msgstr "GPL" + +#: ../../shipping/freezing.rst:57 +msgid "Jul 9, 2019" +msgstr "2019년 7월 9일" + +#: ../../shipping/freezing.rst:58 +msgid "cx_Freeze" +msgstr "cx_Freeze" + +#: ../../shipping/freezing.rst:58 +msgid "PSF" +msgstr "PSF" + +#: ../../shipping/freezing.rst:58 +msgid "Aug 29, 2019" +msgstr "2019년 8월 29일" + +#: ../../shipping/freezing.rst:59 ../../shipping/freezing.rst:168 +msgid "py2app" +msgstr "py2app" + +#: ../../shipping/freezing.rst:59 +msgid "Mar 25, 2019" +msgstr "2019년 3월 25일" + +#: ../../shipping/freezing.rst:63 +msgid "" +"Freezing Python code on Linux into a Windows executable was only once " +"supported in PyInstaller `and later dropped " +"`_." +msgstr "" +"리눅스에서 파이썬 코드를 Windows 실행 파일로 프리징하는 기능은 PyInstaller에서 한때만 지원되었고 `이후 지원이 " +"중단되었습니다 `_." + +#: ../../shipping/freezing.rst:68 +msgid "" +"All solutions need a Microsoft Visual C++ to be installed on the target " +"machine, except py2app. Only PyInstaller makes a self-executable exe that " +"bundles the appropriate DLL when passing ``--onefile`` to " +":file:`Configure.py`." +msgstr "" +"py2app을 제외한 모든 솔루션은 대상 머신에 Microsoft Visual C++가 설치되어 있어야 합니다. " +":file:`Configure.py` 에 ``--onefile`` 을 전달했을 때 적절한 DLL을 함께 묶어 자가 실행 가능한 exe를 " +"만드는 것은 PyInstaller뿐입니다." + +#: ../../shipping/freezing.rst:80 +msgid "" +"Prerequisite is to install :ref:`Python, Setuptools and pywin32 dependency " +"on Windows `." +msgstr "" +"사전 요구사항은 :ref:`Windows에 Python, Setuptools, pywin32 의존성을 설치 ` 하는 것입니다." + +#: ../../shipping/freezing.rst:82 +msgid "Install :code:`bbfreeze`:" +msgstr ":code:`bbfreeze` 설치:" + +#: ../../shipping/freezing.rst:88 +msgid "Write most basic :file:`bb_setup.py`" +msgstr "가장 기본적인 :file:`bb_setup.py` 작성" + +#: ../../shipping/freezing.rst:100 +msgid "" +"This will work for the most basic one file scripts. For more advanced " +"freezing you will have to provide include and exclude paths like so:" +msgstr "" +"이것은 가장 기본적인 단일 파일 스크립트에 대해 동작합니다. 더 고급 프리징을 위해서는 다음과 같이 include 및 exclude " +"경로를 제공해야 합니다:" + +#: ../../shipping/freezing.rst:107 +msgid "(Optionally) include icon" +msgstr "(선택) 아이콘 포함" + +#: ../../shipping/freezing.rst:113 +msgid "" +"4. Provide the Microsoft Visual C++ runtime DLL for the freezer. It might be" +" possible to append your :code:`sys.path` with the Microsoft Visual Studio " +"path but I find it easier to drop :file:`msvcp90.dll` in the same folder " +"where your script resides." +msgstr "" +"4. 프리저에 Microsoft Visual C++ 런타임 DLL을 제공합니다. :code:`sys.path` 에 Microsoft " +"Visual Studio 경로를 추가할 수도 있겠지만, 저는 스크립트가 있는 폴더에 :file:`msvcp90.dll` 을 넣는 편이 더" +" 쉽다고 느낍니다." + +#: ../../shipping/freezing.rst:117 +msgid "Freeze!" +msgstr "프리징!" + +#: ../../shipping/freezing.rst:126 +msgid "" +"Prerequisite is to install :ref:`Python on Windows `. The " +"last release of py2exe is from the year 2014. There is not active " +"development." +msgstr "" +"사전 요구사항은 :ref:`Windows에 Python 설치 ` 입니다. py2exe의 마지막 릴리즈는 " +"2014년입니다. 활발한 개발은 이루어지고 있지 않습니다." + +#: ../../shipping/freezing.rst:128 +msgid "" +"Download and install http://sourceforge.net/projects/py2exe/files/py2exe/" +msgstr "http://sourceforge.net/projects/py2exe/files/py2exe/ 에서 다운로드하여 설치합니다." + +#: ../../shipping/freezing.rst:130 +msgid "" +"Write :file:`setup.py` (`List of configuration options " +"`_):" +msgstr "" +":file:`setup.py` 작성 (`설정 옵션 목록 " +"`_):" + +#: ../../shipping/freezing.rst:141 +msgid "" +"(Optionally) `include icon `_" +msgstr "(선택) `아이콘 포함 `_" + +#: ../../shipping/freezing.rst:143 +msgid "" +"(Optionally) `one-file mode " +"`_" +msgstr "" +"(선택) `단일 파일 모드 `_" + +#: ../../shipping/freezing.rst:145 +msgid "Generate :file:`.exe` into :file:`dist` directory:" +msgstr ":file:`dist` 디렉토리에 :file:`.exe` 생성:" + +#: ../../shipping/freezing.rst:151 +msgid "" +"Provide the Microsoft Visual C++ runtime DLL. Two options: `globally install" +" dll on target machine `_ or `distribute dll alongside with .exe " +"`_." +msgstr "" +"Microsoft Visual C++ 런타임 DLL을 제공합니다. 두 가지 선택지: `대상 머신에 dll을 전역적으로 설치 " +"`_ 하거나 `dll을 " +".exe와 함께 배포 `_ 합니다." + +#: ../../shipping/freezing.rst:154 ../../shipping/freezing.rst:171 +#: ../../shipping/freezing.rst:263 +msgid "PyInstaller" +msgstr "PyInstaller" + +#: ../../shipping/freezing.rst:156 +msgid "" +"Prerequisite is to have installed :ref:`Python, Setuptools and pywin32 " +"dependency on Windows `." +msgstr "" +"사전 요구사항은 :ref:`Windows에 Python, Setuptools, pywin32 의존성이 설치 ` 되어 있는 것입니다." + +#: ../../shipping/freezing.rst:158 +msgid "" +"`Most basic tutorial `_" +msgstr "" +"`가장 기본적인 튜토리얼 `_" + +#: ../../shipping/freezing.rst:159 +msgid "`Manual `_" +msgstr "`매뉴얼 `_" + +#: ../../shipping/freezing.rst:173 +msgid "" +"PyInstaller can be used to build Unix executables and windowed apps on Mac " +"OS X 10.6 (Snow Leopard) or newer." +msgstr "" +"PyInstaller는 Mac OS X 10.6 (Snow Leopard) 이상에서 Unix 실행 파일과 윈도우 앱을 빌드하는 데 사용할" +" 수 있습니다." + +#: ../../shipping/freezing.rst:175 +msgid "To install PyInstaller, use pip:" +msgstr "PyInstaller를 설치하려면 pip을 사용하세요:" + +#: ../../shipping/freezing.rst:181 +msgid "To create a standard Unix executable, from say :code:`script.py`, use:" +msgstr "예를 들어 :code:`script.py` 로부터 표준 Unix 실행 파일을 만들려면 다음을 사용하세요:" + +#: ../../shipping/freezing.rst:187 +msgid "This creates:" +msgstr "이것은 다음을 생성합니다:" + +#: ../../shipping/freezing.rst:189 +msgid "a :code:`script.spec` file, analogous to a :code:`make` file" +msgstr ":code:`make` 파일에 해당하는 :code:`script.spec` 파일" + +#: ../../shipping/freezing.rst:190 +msgid "a :code:`build` folder, that holds some log files" +msgstr "일부 로그 파일을 담는 :code:`build` 폴더" + +#: ../../shipping/freezing.rst:191 +msgid "" +"a :code:`dist` folder, that holds the main executable :code:`script`, and " +"some dependent Python libraries" +msgstr "메인 실행 파일 :code:`script` 와 일부 의존하는 파이썬 라이브러리를 담는 :code:`dist` 폴더" + +#: ../../shipping/freezing.rst:193 +msgid "" +"all in the same folder as :code:`script.py`. PyInstaller puts all the Python" +" libraries used in :code:`script.py` into the :code:`dist` folder, so when " +"distributing the executable, distribute the whole :code:`dist` folder." +msgstr "" +"이 모두가 :code:`script.py` 와 같은 폴더에 생깁니다. PyInstaller는 :code:`script.py` 에서 사용된" +" 모든 파이썬 라이브러리를 :code:`dist` 폴더에 넣으므로, 실행 파일을 배포할 때는 :code:`dist` 폴더 전체를 " +"배포하세요." + +#: ../../shipping/freezing.rst:195 +msgid "" +"The :code:`script.spec` file can be edited to `customise the build " +"`_, with options " +"such as:" +msgstr "" +":code:`script.spec` 파일을 편집하여 `빌드를 사용자 정의 " +"`_ 할 수 있으며, 다음과 같은" +" 옵션이 있습니다:" + +#: ../../shipping/freezing.rst:197 +msgid "bundling data files with the executable" +msgstr "실행 파일과 함께 데이터 파일 묶기" + +#: ../../shipping/freezing.rst:198 +msgid "" +"including run-time libraries (:code:`.dll` or :code:`.so` files) that " +"PyInstaller can't infer automatically" +msgstr "" +"PyInstaller가 자동으로 추론할 수 없는 런타임 라이브러리(:code:`.dll` 또는 :code:`.so` 파일) 포함하기" + +#: ../../shipping/freezing.rst:199 +msgid "adding Python run-time options to the executable" +msgstr "실행 파일에 파이썬 런타임 옵션 추가하기" + +#: ../../shipping/freezing.rst:201 +msgid "" +"Now :code:`script.spec` can be run with :code:`pyinstaller` (instead of " +"using :code:`script.py` again):" +msgstr "" +"이제 (:code:`script.py` 를 다시 사용하는 대신) :code:`pyinstaller` 로 " +":code:`script.spec` 을 실행할 수 있습니다:" + +#: ../../shipping/freezing.rst:207 +msgid "" +"To create a standalone windowed OS X application, use the :code:`--windowed`" +" option:" +msgstr "독립 실행 가능한 윈도우드 OS X 응용을 만들려면 :code:`--windowed` 옵션을 사용하세요:" + +#: ../../shipping/freezing.rst:213 +msgid "" +"This creates a :code:`script.app` in the :code:`dist` folder. Make sure to " +"use GUI packages in your Python code, like `PyQt " +"`_ or `PySide " +"`_, to control the graphical parts of the " +"app." +msgstr "" +"이것은 :code:`dist` 폴더에 :code:`script.app` 을 생성합니다. 앱의 그래픽 부분을 제어하려면 파이썬 코드에서 " +"`PyQt `_ 나 `PySide " +"`_ 같은 GUI 패키지를 사용해야 합니다." + +#: ../../shipping/freezing.rst:215 +msgid "" +"There are several options in :code:`script.spec` related to Mac OS X app " +"bundles `here `_. For example, to specify an icon for " +"the app, use the :code:`icon=\\path\\to\\icon.icns` option." +msgstr "" +":code:`script.spec` 에는 Mac OS X 앱 번들과 관련된 옵션이 여럿 `여기 " +"`_ 에 있습니다. 예를 들어 앱의 아이콘을 지정하려면 " +":code:`icon=\\path\\to\\icon.icns` 옵션을 사용하세요." + +#: ../../shipping/freezing.rst:225 +msgid "" +"bbFreeze will ONLY work in Python 2.x environment, since it's no longer " +"being maintained as stated by it's former maintainer. If you're interested " +"in it, check the repository in `here `_." +msgstr "" +"bbFreeze는 이전 유지보수자가 밝힌 대로 더 이상 유지보수되지 않기 때문에, 파이썬 2.x 환경에서만 동작합니다. 관심이 있다면 " +"`여기 `_ 에서 저장소를 확인하세요." + +#: ../../shipping/freezing.rst:227 +msgid "" +"bbFreeze can be used with all distributions that has Python installed along " +"with pip2 and/or easy_install." +msgstr "bbFreeze는 pip2 및/또는 easy_install과 함께 파이썬이 설치된 모든 배포판에서 사용할 수 있습니다." + +#: ../../shipping/freezing.rst:229 +msgid "For pip2, use the following:" +msgstr "pip2의 경우 다음을 사용하세요:" + +#: ../../shipping/freezing.rst:235 +msgid "Or, for easy_install:" +msgstr "또는 easy_install의 경우:" + +#: ../../shipping/freezing.rst:241 +msgid "With bbFreeze installed, you're ready to freeze your applications." +msgstr "bbFreeze가 설치되면 응용을 프리징할 준비가 된 것입니다." + +#: ../../shipping/freezing.rst:243 +msgid "" +"Let's assume you have a script, say, \"hello.py\" and a module called " +"\"module.py\" and you have a function in it that's being used in your " +"script. No need to worry, you can just ask to freeze the main entrypoint of " +"your script and it should freeze entirely:" +msgstr "" +"예를 들어 \"hello.py\" 라는 스크립트와 \"module.py\" 라는 모듈이 있고, 그 모듈에 스크립트에서 사용되는 함수가 " +"있다고 합시다. 걱정하지 마세요. 스크립트의 메인 엔트리포인트만 프리징하도록 요청해도 전체가 프리징됩니다:" + +#: ../../shipping/freezing.rst:250 +msgid "" +"With this, it creates a folder called dist/, of which contains the " +"executable of the script and required .so (shared objects) files linked " +"against libraries used within the Python script." +msgstr "" +"이것은 dist/ 라는 폴더를 생성하며, 그 안에는 스크립트의 실행 파일과 파이썬 스크립트에서 사용된 라이브러리에 링크된 필요한 " +".so(공유 객체) 파일이 들어 있습니다." + +#: ../../shipping/freezing.rst:252 +msgid "" +"Alternatively, you can create a script that does the freezing for you. An " +"API for the freezer is available from the library within:" +msgstr "또는 프리징을 대신 수행하는 스크립트를 만들 수도 있습니다. 라이브러리 안에서 프리저용 API를 사용할 수 있습니다:" + +#: ../../shipping/freezing.rst:264 +msgid "" +"PyInstaller can be used in a similar fashion as in OS X. The installation " +"goes in the same manner as shown in the OS X section." +msgstr "" +"PyInstaller는 OS X에서와 유사한 방식으로 사용할 수 있습니다. 설치는 OS X 섹션에서 보인 것과 같은 방식으로 진행됩니다." + +#: ../../shipping/freezing.rst:266 +msgid "" +"Don't forget to have dependencies such as Python and pip installed for " +"usage." +msgstr "사용을 위해 Python과 pip 같은 의존성을 설치하는 것을 잊지 마세요." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "Many applications you use every day do this:" +#~ msgstr "" + +#~ msgid "Dropbox" +#~ msgstr "" + +#~ msgid "BitTorrent" +#~ msgstr "" + +#~ msgid "..." +#~ msgstr "" + +#~ msgid "Comparison" +#~ msgstr "" + +#~ msgid "OS X" +#~ msgstr "" + +#~ msgid "" +#~ "One disadvantage of freezing is that it will increase the size of your " +#~ "distribution by about 2–12MB. Also, you will be responsible for shipping " +#~ "updated versions of your application when security vulnerabilities to Python" +#~ " are patched." +#~ msgstr "" + +#~ msgid "Solutions and platforms/features supported:" +#~ msgstr "" + +#~ msgid "" +#~ "Freezing Python code on Linux into a Windows executable was only once " +#~ "supported in PyInstaller `and later dropped. " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "All solutions need MS Visual C++ dll to be installed on target machine, " +#~ "except py2app. Only Pyinstaller makes self-executable exe that bundles the " +#~ "dll when passing :option:`--onefile` to :file:`Configure.py`." +#~ msgstr "" + +#~ msgid "Write steps for most basic .exe" +#~ msgstr "" + +#~ msgid "Prerequisite is to install :ref:`Python on Windows `." +#~ msgstr "" + +#~ msgid "" +#~ "(Optionally) `one-file mode " +#~ "`_" +#~ msgstr "" + +#~ msgid "" +#~ "Provide the Microsoft Visual C runtime DLL. Two options: `globally install " +#~ "dll on target machine `_ or `distribute dll alongside with .exe " +#~ "`_." +#~ msgstr "" + +#~ msgid "" +#~ "`Manual " +#~ "`_" +#~ msgstr "" + +#~ msgid "This creates," +#~ msgstr "" + +#~ msgid "" +#~ "a :code:`dist` folder, that holds the main executable :code:`script`, and " +#~ "some dependent Python libraries," +#~ msgstr "" + +#~ msgid "" +#~ "The :code:`script.spec` file can be edited to `customise the build " +#~ "`_, with options " +#~ "such as" +#~ msgstr "" + +#~ msgid "adding Python run-time options to the executable," +#~ msgstr "" + +#~ msgid "" +#~ "To create a standalone windowed OS X application, use the :code:`--windowed`" +#~ " option" +#~ msgstr "" + +#~ msgid "" +#~ "There are several options in :code:`script.spec` related to Mac OS X app " +#~ "bundles `here `_. For example, to specify an icon for the app, use the " +#~ ":code:`icon=\\path\\to\\icon.icns` option." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/shipping/packaging.mo b/docs/locale/ko/LC_MESSAGES/shipping/packaging.mo new file mode 100644 index 00000000..0ad95ba7 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/shipping/packaging.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/shipping/packaging.po b/docs/locale/ko/LC_MESSAGES/shipping/packaging.po new file mode 100644 index 00000000..9575a156 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/shipping/packaging.po @@ -0,0 +1,514 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../shipping/packaging.rst:6 +msgid "Packaging Your Code" +msgstr "코드 패키징하기" + +#: ../../shipping/packaging.rst:10 +msgid "" +"Package your code to share it with other developers. For example, to share a" +" library for other developers to use in their application, or for " +"development tools like 'py.test'." +msgstr "" +"코드를 다른 개발자와 공유하기 위해 패키징하세요. 예를 들어 다른 개발자가 자신의 응용에서 사용할 라이브러리를 공유하거나, " +"'py.test' 같은 개발 도구를 공유하기 위해서입니다." + +#: ../../shipping/packaging.rst:14 +msgid "" +"An advantage of this method of distribution is its well established " +"ecosystem of tools such as PyPI and pip, which make it easy for other " +"developers to download and install your package either for casual " +"experiments, or as part of large, professional systems." +msgstr "" +"이 배포 방식의 장점은 PyPI와 pip 같은 잘 정립된 도구 생태계입니다. 덕분에 다른 개발자가 가벼운 실험을 위해서든 크고 전문적인 " +"시스템의 일부로서든 여러분의 패키지를 쉽게 다운로드하고 설치할 수 있습니다." + +#: ../../shipping/packaging.rst:19 +msgid "" +"It is a well-established convention for Python code to be shared this way. " +"If your code isn't packaged on PyPI, then it will be harder for other " +"developers to find it and to use it as part of their existing process. They " +"will regard such projects with substantial suspicion of being either badly " +"managed or abandoned." +msgstr "" +"파이썬 코드를 이런 식으로 공유하는 것은 잘 정립된 컨벤션입니다. 코드가 PyPI에 패키징되어 있지 않다면, 다른 개발자가 그것을 찾아 " +"자신의 기존 프로세스에 사용하기가 더 어려워집니다. 그러한 프로젝트는 관리가 잘 되지 않거나 버려진 것으로 상당한 의심을 받게 됩니다." + +#: ../../shipping/packaging.rst:25 +msgid "" +"The downside of distributing code like this is that it relies on the " +"recipient understanding how to install the required version of Python, and " +"being able and willing to use tools such as pip to install your code's other" +" dependencies. This is fine when distributing to other developers, but makes" +" this method unsuitable for distributing applications to end-users." +msgstr "" +"이런 식으로 코드를 배포하는 것의 단점은, 수신자가 필요한 파이썬 버전을 설치하는 방법을 이해해야 하고 pip 같은 도구로 코드의 다른 " +"의존성을 설치할 수 있고 또 기꺼이 그렇게 해야 한다는 점에 의존한다는 것입니다. 다른 개발자에게 배포할 때는 괜찮지만, 이 방식은 " +"응용을 최종 사용자에게 배포하기에는 적합하지 않습니다." + +#: ../../shipping/packaging.rst:31 +msgid "" +"The `Python Packaging Guide `_ provides an extensive guide on creating and " +"maintaining Python packages." +msgstr "" +"`Python Packaging Guide `_ 는 파이썬 패키지를 만들고 유지보수하는 데에 대한 광범위한 안내를 제공합니다." + +#: ../../shipping/packaging.rst:37 +msgid "Alternatives to Packaging" +msgstr "패키징의 대안" + +#: ../../shipping/packaging.rst:39 +msgid "" +"To distribute applications to end-users, you should :ref:`freeze your " +"application `." +msgstr "" +"응용을 최종 사용자에게 배포하려면 :ref:`응용을 프리징(freezing) ` 해야 합니다." + +#: ../../shipping/packaging.rst:42 +msgid "" +"On Linux, you may also want to consider :ref:`creating a Linux distro " +"package ` (e.g. a .deb file for " +"Debian or Ubuntu.)" +msgstr "" +"리눅스에서는 :ref:`리눅스 배포판 패키지를 만드는 것 ` (예:" +" Debian이나 Ubuntu용 .deb 파일)도 고려해 볼 만합니다." + +#: ../../shipping/packaging.rst:49 +msgid "For Python Developers" +msgstr "파이썬 개발자를 위해" + +#: ../../shipping/packaging.rst:51 +msgid "" +"If you're writing an open source Python module, `PyPI `_ , " +"more properly known as *The Cheeseshop*, is the place to host it." +msgstr "" +"오픈 소스 파이썬 모듈을 작성하고 있다면, 더 정확히는 *The Cheeseshop* 으로 알려진 `PyPI " +"`_ 가 그것을 호스팅할 곳입니다." + +#: ../../shipping/packaging.rst:57 +msgid "Pip vs. easy_install" +msgstr "Pip vs. easy_install" + +#: ../../shipping/packaging.rst:59 +msgid "" +"Use `pip `_. More details `here " +"`_." +msgstr "" +"`pip `_ 을 사용하세요. 더 자세한 내용은 `여기 " +"`_ 를 참고하세요." + +#: ../../shipping/packaging.rst:64 +msgid "Personal PyPI" +msgstr "개인용 PyPI" + +#: ../../shipping/packaging.rst:66 +msgid "" +"If you want to install packages from a source other than PyPI (say, if your " +"packages are *proprietary*), you can do it by hosting a simple HTTP server, " +"running from the directory which holds those packages which need to be " +"installed." +msgstr "" +"PyPI가 아닌 다른 출처에서 패키지를 설치하고 싶다면(예를 들어 패키지가 *상용/사설* 인 경우), 설치할 패키지가 있는 디렉토리에서 " +"실행되는 간단한 HTTP 서버를 호스팅하여 할 수 있습니다." + +#: ../../shipping/packaging.rst:71 +msgid "**Showing an example is always beneficial**" +msgstr "**예시를 보여주는 것은 항상 도움이 됩니다**" + +#: ../../shipping/packaging.rst:73 +msgid "" +"For example, if you want to install a package called " +":file:`MyPackage.tar.gz`, and assuming this is your directory structure:" +msgstr "" +"예를 들어 :file:`MyPackage.tar.gz` 라는 패키지를 설치하고 싶고, 디렉토리 구조가 다음과 같다고 가정합니다:" + +#: ../../shipping/packaging.rst:79 +msgid "archive" +msgstr "archive" + +#: ../../shipping/packaging.rst:79 +msgid "MyPackage" +msgstr "MyPackage" + +#: ../../shipping/packaging.rst:79 +msgid "MyPackage.tar.gz" +msgstr "MyPackage.tar.gz" + +#: ../../shipping/packaging.rst:81 +msgid "Go to your command prompt and type:" +msgstr "명령 프롬프트로 가서 다음을 입력하세요:" + +#: ../../shipping/packaging.rst:88 +msgid "" +"This runs a simple HTTP server running on port 9000 and will list all " +"packages (like **MyPackage**). Now you can install **MyPackage** using any " +"Python package installer. Using pip, you would do it like:" +msgstr "" +"이것은 9000번 포트에서 실행되는 간단한 HTTP 서버를 띄우고, (**MyPackage** 같은) 모든 패키지를 나열합니다. 이제 " +"어떤 파이썬 패키지 설치 도구로든 **MyPackage** 를 설치할 수 있습니다. pip을 사용한다면 다음과 같이 합니다:" + +#: ../../shipping/packaging.rst:96 +msgid "" +"Having a folder with the same name as the package name is **crucial** here. " +"I got fooled by that, one time. But if you feel that creating a folder " +"called :file:`MyPackage` and keeping :file:`MyPackage.tar.gz` inside that is" +" *redundant*, you can still install MyPackage using:" +msgstr "" +"여기서는 패키지명과 같은 이름의 폴더를 갖는 것이 **결정적** 입니다. 저도 한번 그 점 때문에 속았었습니다. 하지만 " +":file:`MyPackage` 라는 폴더를 만들고 그 안에 :file:`MyPackage.tar.gz` 를 두는 것이 *중복* 처럼 " +"느껴진다면, 다음과 같이 MyPackage를 설치할 수도 있습니다:" + +#: ../../shipping/packaging.rst:106 +msgid "pypiserver" +msgstr "pypiserver" + +#: ../../shipping/packaging.rst:108 +msgid "" +"`pypiserver `_ is a minimal PyPI " +"compatible server. It can be used to serve a set of packages to " +"easy_install or pip. It includes helpful features like an administrative " +"command (``-U``) which will update all its packages to their latest versions" +" found on PyPI." +msgstr "" +"`pypiserver `_ 는 PyPI와 호환되는 최소한의 서버입니다." +" easy_install이나 pip에 패키지 모음을 제공하는 데 사용할 수 있습니다. 모든 패키지를 PyPI에서 찾을 수 있는 최신 " +"버전으로 갱신해주는 관리용 명령어(``-U``)와 같은 유용한 기능을 포함합니다." + +#: ../../shipping/packaging.rst:116 +msgid "S3-Hosted PyPi" +msgstr "S3 호스팅 PyPi" + +#: ../../shipping/packaging.rst:118 +msgid "" +"One simple option for a personal PyPI server is to use Amazon S3. A " +"prerequisite for this is that you have an Amazon AWS account with an S3 " +"bucket." +msgstr "" +"개인 PyPI 서버를 위한 간단한 선택지 하나는 Amazon S3를 사용하는 것입니다. 이를 위한 사전 요구사항은 S3 버킷을 갖춘 " +"Amazon AWS 계정을 가지고 있는 것입니다." + +#: ../../shipping/packaging.rst:121 +msgid "**Install all your requirements from PyPi or another source**" +msgstr "**PyPi 또는 다른 출처에서 모든 요구사항을 설치합니다**" + +#: ../../shipping/packaging.rst:122 +msgid "**Install pip2pi**" +msgstr "**pip2pi 설치**" + +#: ../../shipping/packaging.rst:124 +msgid ":code:`pip install git+https://github.com/wolever/pip2pi.git`" +msgstr ":code:`pip install git+https://github.com/wolever/pip2pi.git`" + +#: ../../shipping/packaging.rst:126 +msgid "**Follow pip2pi README for pip2tgz and dir2pi commands**" +msgstr "**pip2tgz 및 dir2pi 명령어는 pip2pi README를 따릅니다**" + +#: ../../shipping/packaging.rst:128 +msgid "" +":code:`pip2tgz packages/ YourPackage` (or :code:`pip2tgz packages/ -r " +"requirements.txt`)" +msgstr "" +":code:`pip2tgz packages/ YourPackage` (또는 :code:`pip2tgz packages/ -r " +"requirements.txt`)" + +#: ../../shipping/packaging.rst:129 +msgid ":code:`dir2pi packages/`" +msgstr ":code:`dir2pi packages/`" + +#: ../../shipping/packaging.rst:131 +msgid "**Upload the new files**" +msgstr "**새 파일 업로드**" + +#: ../../shipping/packaging.rst:133 +msgid "" +"Use a client like Cyberduck to sync the entire :file:`packages` folder to " +"your s3 bucket." +msgstr "Cyberduck 같은 클라이언트를 사용해 :file:`packages` 폴더 전체를 s3 버킷과 동기화하세요." + +#: ../../shipping/packaging.rst:134 +msgid "" +"Make sure you upload :code:`packages/simple/index.html` as well as all new " +"files and directories." +msgstr ":code:`packages/simple/index.html` 과 모든 새 파일 및 디렉토리를 함께 업로드해야 합니다." + +#: ../../shipping/packaging.rst:136 +msgid "**Fix new file permissions**" +msgstr "**새 파일 권한 수정**" + +#: ../../shipping/packaging.rst:138 +msgid "" +"By default, when you upload new files to the S3 bucket, they will have the " +"wrong permissions set." +msgstr "기본적으로 S3 버킷에 새 파일을 업로드하면 잘못된 권한이 설정되어 있습니다." + +#: ../../shipping/packaging.rst:139 +msgid "" +"Use the Amazon web console to set the READ permission of the files to " +"EVERYONE." +msgstr "Amazon 웹 콘솔을 사용하여 파일의 READ 권한을 EVERYONE으로 설정하세요." + +#: ../../shipping/packaging.rst:140 +msgid "" +"If you get HTTP 403 when trying to install a package, make sure you've set " +"the permissions correctly." +msgstr "패키지를 설치하려고 할 때 HTTP 403이 발생한다면, 권한을 올바르게 설정했는지 확인하세요." + +#: ../../shipping/packaging.rst:142 +msgid "**All done**" +msgstr "**모두 완료**" + +#: ../../shipping/packaging.rst:144 +msgid "" +"You can now install your package with :code:`pip install --index-" +"url=http://your-s3-bucket/packages/simple/ YourPackage`." +msgstr "" +"이제 :code:`pip install --index-url=http://your-s3-bucket/packages/simple/ " +"YourPackage` 명령으로 패키지를 설치할 수 있습니다." + +#: ../../shipping/packaging.rst:151 +msgid "For Linux Distributions" +msgstr "리눅스 배포판을 위해" + +#: ../../shipping/packaging.rst:153 +msgid "" +"Creating a Linux distro package is arguably the \"right way\" to distribute " +"code on Linux." +msgstr "리눅스에서 코드를 배포하는 \"올바른 방법\"은 아마도 리눅스 배포판 패키지를 만드는 것이라고 할 수 있습니다." + +#: ../../shipping/packaging.rst:156 +msgid "" +"Because a distribution package doesn't include the Python interpreter, it " +"makes the download and install about 2-12 MB smaller than :ref:`freezing " +"your application `." +msgstr "" +"배포판 패키지에는 파이썬 인터프리터가 포함되지 않기 때문에, :ref:`응용을 프리징 ` 하는" +" 것보다 다운로드와 설치 용량이 약 2-12 MB 더 작아집니다." + +#: ../../shipping/packaging.rst:160 +msgid "" +"Also, if a distribution releases a new security update for Python, then your" +" application will automatically start using that new version of Python." +msgstr "" +"또한 배포판이 파이썬에 대한 새 보안 업데이트를 릴리즈하면, 여러분의 응용도 자동으로 그 새 파이썬 버전을 사용하기 시작합니다." + +#: ../../shipping/packaging.rst:163 +msgid "" +"The bdist_rpm command makes `producing an RPM file " +"`_" +" for use by distributions like Red Hat or SuSE trivially easy." +msgstr "" +"bdist_rpm 명령어는 Red Hat이나 SuSE 같은 배포판에서 사용할 `RPM 파일 만들기 " +"`_" +" 를 아주 쉽게 해줍니다." + +#: ../../shipping/packaging.rst:166 +msgid "" +"However, creating and maintaining the different configurations required for " +"each distribution's format (e.g. .deb for Debian/Ubuntu, .rpm for Red " +"Hat/Fedora, etc.) is a fair amount of work. If your code is an application " +"that you plan to distribute on other platforms, then you'll also have to " +"create and maintain the separate config required to freeze your application " +"for Windows and OS X. It would be much less work to simply create and " +"maintain a single config for one of the cross platform :ref:`freezing tools " +"`, which will produce stand-alone executables for " +"all distributions of Linux, as well as Windows and OS X." +msgstr "" +"그러나 각 배포판 포맷에 필요한 서로 다른 설정(예: Debian/Ubuntu용 .deb, Red Hat/Fedora용 .rpm 등)을 " +"만들고 유지보수하는 것은 상당한 작업입니다. 코드가 다른 플랫폼에도 배포할 계획인 응용이라면, Windows와 OS X용으로 응용을 " +"프리징하기 위한 별도의 설정도 만들고 유지해야 합니다. 대신 모든 리눅스 배포판은 물론 Windows와 OS X용 독립 실행 파일을 " +"만들어주는 크로스 플랫폼 :ref:`프리징 도구 ` 중 하나를 위한 단일 설정만 만들고 " +"유지하는 편이 훨씬 일이 적습니다." + +#: ../../shipping/packaging.rst:176 +msgid "" +"Creating a distribution package is also problematic if your code is for a " +"version of Python that isn't currently supported by a distribution. Having " +"to tell *some versions* of Ubuntu end-users that they need to add `the " +"'dead-snakes' PPA " +"`_ using `sudo " +"apt-repository` commands before they can install your .deb file makes for an" +" extremely hostile user experience. Not only that, but you'd have to " +"maintain a custom equivalent of these instructions for every distribution, " +"and worse, have your users read, understand, and act on them." +msgstr "" +"배포판이 현재 지원하지 않는 파이썬 버전을 위한 코드인 경우에도 배포판 패키지를 만드는 일은 문제가 있습니다. *일부 버전* 의 " +"Ubuntu 최종 사용자에게 .deb 파일을 설치하기 전에 `sudo apt-repository` 명령으로 `'dead-snakes' " +"PPA `_ 를 추가해야 한다고 " +"말해야 한다면, 이는 극도로 적대적인 사용자 경험이 됩니다. 그뿐 아니라, 모든 배포판마다 이런 안내의 사용자 정의 버전을 유지해야 " +"하고, 더 나쁜 점은 사용자가 그것을 읽고 이해하고 그대로 따라야 한다는 점입니다." + +#: ../../shipping/packaging.rst:185 +msgid "Having said all that, here's how to do it:" +msgstr "이 모든 점을 말한 뒤에, 그래도 해보겠다면 다음과 같이 합니다:" + +#: ../../shipping/packaging.rst:187 +msgid "`Fedora `_" +msgstr "`Fedora `_" + +#: ../../shipping/packaging.rst:188 +msgid "" +"`Debian and Ubuntu `_" +msgstr "" +"`Debian과 Ubuntu `_" + +#: ../../shipping/packaging.rst:189 +msgid "" +"`Arch `_" +msgstr "" +"`Arch `_" + +#: ../../shipping/packaging.rst:192 +msgid "Useful Tools" +msgstr "유용한 도구" + +#: ../../shipping/packaging.rst:194 +msgid "`fpm `_" +msgstr "`fpm `_" + +#: ../../shipping/packaging.rst:195 +msgid "`alien `_" +msgstr "`alien `_" + +#: ../../shipping/packaging.rst:196 +msgid "" +"`dh-virtualenv `_ (for APT/DEB " +"omnibus packaging)" +msgstr "" +"`dh-virtualenv `_ (APT/DEB omnibus " +"패키징용)" + +#~ msgid "Packaging your code is important." +#~ msgstr "" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "Package your code to share it with other developers. For example to share a " +#~ "library for other developers to use in their application, or for development" +#~ " tools like 'py.test'." +#~ msgstr "" + +#~ msgid "" +#~ "It is a well-established convention for Python code to be shared this way. " +#~ "If your code isn't packaged on PyPI, then it will be harder for other " +#~ "developers to find it, and to use it as part of their existing process. They" +#~ " will regard such projects with substantial suspicion of being either badly " +#~ "managed or abandoned." +#~ msgstr "" + +#~ msgid "" +#~ "If you're writing an open source Python module, `PyPI " +#~ "`_ , more properly known as *The Cheeseshop*, is the" +#~ " place to host it." +#~ msgstr "" + +#~ msgid "" +#~ "Use `pip `_. More details `here " +#~ "`_" +#~ msgstr "" + +#~ msgid "" +#~ "If you want to install packages from a source other than PyPI, (say, if your" +#~ " packages are *proprietary*), you can do it by hosting a simple http server," +#~ " running from the directory which holds those packages which need to be " +#~ "installed." +#~ msgstr "" + +#~ msgid "" +#~ "This runs a simple http server running on port 9000 and will list all " +#~ "packages (like **MyPackage**). Now you can install **MyPackage** using any " +#~ "Python package installer. Using Pip, you would do it like:" +#~ msgstr "" + +#~ msgid "" +#~ "Having a folder with the same name as the package name is **crucial** here. " +#~ "I got fooled by that, one time. But if you feel that creating a folder " +#~ "called :file:`MyPackage` and keeping :file:`MyPackage.tar.gz` inside that, " +#~ "is *redundant*, you can still install MyPackage using:" +#~ msgstr "" + +#~ msgid "" +#~ "`Pypiserver `_ is a minimal PyPI " +#~ "compatible server. It can be used to serve a set of packages to " +#~ "easy_install or pip. It includes helpful features like an administrative " +#~ "command (:option:`-U`) which will update all its packages to their latest " +#~ "versions found on PyPI." +#~ msgstr "" + +#~ msgid "" +#~ "One simple option for a personal PyPi server is to use Amazon S3. A " +#~ "prerequisite for this is that you have an Amazon AWS account with an S3 " +#~ "bucket." +#~ msgstr "" + +#~ msgid "" +#~ "Use a client like Cyberduck to sync the entire :file:`packages` folder to " +#~ "your s3 bucket" +#~ msgstr "" + +#~ msgid "" +#~ "Make sure you upload :code:`packages/simple/index.html` as well as all new " +#~ "files and directories" +#~ msgstr "" + +#~ msgid "" +#~ "You can now install your package with :code:`pip install --index-" +#~ "url=http://your-s3-bucket/packages/simple/ YourPackage`" +#~ msgstr "" + +#~ msgid "" +#~ "Because a distribution package doesn't include the Python interpreter, it " +#~ "makes the download and install about 2MB smaller than :ref:`freezing your " +#~ "application `." +#~ msgstr "" + +#~ msgid "" +#~ "The bdist_rpm command makes `producing an RPM file " +#~ "`_" +#~ " for use by distributions like Red Hat or SuSE is trivially easy." +#~ msgstr "" + +#~ msgid "" +#~ "However, creating and maintaining the different configurations required for " +#~ "each distribution's format (e.g. .deb for Debian/Ubuntu, .rpm for Red " +#~ "Hat/Fedora, etc) is a fair amount of work. If your code is an application " +#~ "that you plan to distribute on other platforms, then you'll also have to " +#~ "create and maintain the separate config required to freeze your application " +#~ "for Windows and OSX. It would be much less work to simply create and " +#~ "maintain a single config for one of the cross platform :ref:`freezing tools " +#~ "`, which will produce stand-alone executables for " +#~ "all distributions of Linux, as well as Windows and OSX." +#~ msgstr "" + +#~ msgid "" +#~ "`dh-virtualenv `_ " +#~ "(for APT/DEB omnibus packaging)" +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/shipping/publishing.mo b/docs/locale/ko/LC_MESSAGES/shipping/publishing.mo new file mode 100644 index 00000000..6bebb168 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/shipping/publishing.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/shipping/publishing.po b/docs/locale/ko/LC_MESSAGES/shipping/publishing.po new file mode 100644 index 00000000..06c66799 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/shipping/publishing.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../shipping/publishing.rst:6 +msgid "Publishing Your Code" +msgstr "코드 배포하기" + +#: ../../shipping/publishing.rst +msgid "Todo" +msgstr "할 일" + +#: ../../shipping/publishing.rst:8 +msgid "Replace this kitten with the photo we want." +msgstr "이 새끼 고양이 사진을 원하는 사진으로 교체할 것." + +#: ../../shipping/publishing.rst:12 +msgid "" +"A healthy open source project needs a place to publish its code and project " +"management stuff so other developers can collaborate with you. This lets " +"your users gain a better understanding of your code, keep up with new " +"developments, report bugs, and contribute code." +msgstr "" +"건강한 오픈 소스 프로젝트가 되려면 코드와 프로젝트 관리 자료를 게시할 공간이 필요합니다. 그래야 다른 개발자들이 여러분과 협업할 수 " +"있습니다. 이런 공간이 있으면 사용자가 코드를 더 잘 이해하고, 새로운 진행 상황을 따라가며, 버그를 보고하고, 코드 기여를 할 수 " +"있습니다." + +#: ../../shipping/publishing.rst:17 +msgid "" +"This development web site should include the source code history itself, a " +"bug tracker, a patch submission (aka \"Pull Request\") queue, and possibly " +"additional developer-oriented documentation." +msgstr "" +"이 개발 웹사이트는 소스 코드의 이력 자체, 버그 트래커, 패치 제출(즉 \"풀 리퀘스트\") 큐, 그리고 가능하다면 개발자 대상 " +"문서까지 포함해야 합니다." + +#: ../../shipping/publishing.rst:21 +msgid "" +"There are several free open source project hosting sites (aka \"forges\"). " +"These include GitHub, SourceForge, Bitbucket, and GitLab. GitHub is " +"currently the best. Use GitHub." +msgstr "" +"몇 가지 무료 오픈 소스 프로젝트 호스팅 사이트(즉 \"포지\")가 있습니다. 여기에는 GitHub, SourceForge, " +"Bitbucket, GitLab이 포함됩니다. 현재로서는 GitHub가 가장 좋습니다. GitHub를 사용하세요." + +#: ../../shipping/publishing.rst:28 +msgid "Creating a Project Repo on GitHub" +msgstr "GitHub에 프로젝트 저장소 만들기" + +#: ../../shipping/publishing.rst:30 +msgid "To publish your Python project on GitHub:" +msgstr "여러분의 파이썬 프로젝트를 GitHub에 게시하려면:" + +#: ../../shipping/publishing.rst:32 +msgid "Create a GitHub account if you don't already have one." +msgstr "GitHub 계정이 없다면 새로 만드세요." + +#: ../../shipping/publishing.rst:34 +msgid "Create a new repo for your project." +msgstr "프로젝트를 위한 새 저장소를 만드세요." + +#: ../../shipping/publishing.rst:36 +msgid "" +"Click on the \"+\" menu next to your avatar in the upper right of the page " +"and choose \"New repository\"." +msgstr "페이지 오른쪽 상단의 아바타 옆에 있는 \"+\" 메뉴를 클릭하고 \"New repository\"를 선택하세요." + +#: ../../shipping/publishing.rst:38 +msgid "Name it after your project and give it an SEO-friendly description." +msgstr "프로젝트의 이름을 따서 짓고, SEO에 친화적인 설명을 달아주세요." + +#: ../../shipping/publishing.rst:40 +msgid "" +"If you don't have an existing project repo, choose the settings to add a " +"README, `.gitignore`, and license. Use the Python `.gitignore` option." +msgstr "" +"기존 프로젝트 저장소가 없다면, README, `.gitignore`, 라이선스를 추가하는 설정을 선택하세요. `.gitignore`는 " +"Python 옵션을 사용하세요." + +#: ../../shipping/publishing.rst:43 +msgid "" +"On the newly created repo page, click \"Manage topics\" and add the tags " +"\"python\" and \"python3\" and/or \"python2\" as appropriate." +msgstr "" +"새로 만든 저장소 페이지에서 \"Manage topics\"를 클릭하고 \"python\", 그리고 적절히 \"python3\" 및/또는" +" \"python2\" 태그를 추가하세요." + +#: ../../shipping/publishing.rst:45 +msgid "" +"Include a link to your new GitHub repo in your project's README file so " +"people who just have the project distribution know where to find it." +msgstr "" +"프로젝트 배포본만 가지고 있는 사람들도 어디에서 찾을 수 있는지 알 수 있도록, 프로젝트의 README 파일에 새 GitHub 저장소 " +"링크를 포함하세요." + +#: ../../shipping/publishing.rst:47 +msgid "" +"If this is a brand new repo, clone it to your local machine and start " +"working:" +msgstr "완전히 새로운 저장소라면, 로컬 머신에 복제하고 작업을 시작하세요:" + +#: ../../shipping/publishing.rst:53 +msgid "" +"Or, if you already have a project Git repo, add your new GitHub repo as a " +"remote:" +msgstr "또는 이미 프로젝트의 Git 저장소가 있다면, 새 GitHub 저장소를 리모트로 추가하세요:" + +#: ../../shipping/publishing.rst:63 +msgid "When Your Project Grows" +msgstr "프로젝트가 성장할 때" + +#: ../../shipping/publishing.rst:65 +msgid "" +"For more information about managing an open source software project, see the" +" book `Producing Open Source Software `_." +msgstr "" +"오픈 소스 소프트웨어 프로젝트 관리에 대한 더 많은 정보는 `Producing Open Source Software " +"`_ 책을 참고하세요." diff --git a/docs/locale/ko/LC_MESSAGES/starting/install/linux.mo b/docs/locale/ko/LC_MESSAGES/starting/install/linux.mo new file mode 100644 index 00000000..c9e54a33 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/starting/install/linux.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/starting/install/linux.po b/docs/locale/ko/LC_MESSAGES/starting/install/linux.po new file mode 100644 index 00000000..4cebb2e4 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/starting/install/linux.po @@ -0,0 +1,169 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../starting/install/linux.rst:6 +msgid "Installing Python 2 on Linux" +msgstr "리눅스에 파이썬 2 설치하기" + +#: ../../starting/install/linux.rst:11 +msgid "" +"Check out our :ref:`guide for installing Python 3 on Linux`." +msgstr ":ref:`리눅스에 파이썬 3을 설치하는 안내서` 를 참고하세요." + +#: ../../starting/install/linux.rst:13 +msgid "" +"The latest versions of CentOS, Red Hat Enterprise Linux (RHEL) and Ubuntu " +"**come with Python 2.7 out of the box**." +msgstr "최신 버전의 CentOS, 레드햇 엔터프라이즈 리눅스(RHEL), 그리고 우분투에는 **파이썬 2.7이 딸려옵니다**." + +#: ../../starting/install/linux.rst:16 +msgid "" +"To see which version of Python you have installed, open a command prompt and" +" run" +msgstr "어느 버전의 파이썬이 설치되어 있는지 확인하려면, 명령창을 열고 아래의 스크립트를 실행하세요. " + +#: ../../starting/install/linux.rst:22 +msgid "" +"However, with the growing popularity of Python 3, some distributions, such " +"as Fedora, don't come with Python 2 pre-installed. You can install the " +"``python2`` package with your distribution package manager:" +msgstr "" +"하지만 파이썬 3의 인기가 높아지면서, 페도라와 같은 일부 배포판에는 파이썬 2가 사전 설치되어 있지 않습니다. 배포판의 패키지 매니저를" +" 사용하여 ``python2`` 패키지를 설치할 수 있습니다:" + +#: ../../starting/install/linux.rst:30 +msgid "" +"You do not need to install or configure anything else to use Python. Having " +"said that, I would strongly recommend that you install the tools and " +"libraries described in the next section before you start building Python " +"applications for real-world use. In particular, you should always install " +"Setuptools and pip, as it makes it much easier for you to use other third-" +"party Python libraries." +msgstr "" +"파이썬을 사용하기 위해 달리 설치하거나 설정을 할 필요는 없습니다. 그렇기는 해도 실제로 사용할 파이썬 어플리케이션을 만들기 전에 이 " +"안내서에서 앞으로 설명할 도구와 라이브러리들을 먼저 설치할 것을 강력 추천합니다. 특히 Setuptools와 pip는 반드시 설치해야 " +"합니다. 이것들은 다른 파이썬 서드파티 라이브러리들을 사용하기 편하게 해줍니다." + +#: ../../starting/install/linux.rst:39 +msgid "Setuptools & Pip" +msgstr "Setuptools & Pip" + +#: ../../starting/install/linux.rst:41 +msgid "" +"The two most crucial third-party Python packages are `setuptools " +"`_ and `pip " +"`_." +msgstr "" +"가장 중요한 파이썬 서드파티 패키지를 2개 뽑으라면 `setuptools " +"`_ 와 `pip " +"`_ 입니다." + +#: ../../starting/install/linux.rst:43 +msgid "" +"Once installed, you can download, install and uninstall any compliant Python" +" software product with a single command. It also enables you to add this " +"network installation capability to your own Python software with very little" +" work." +msgstr "" +"이것들을 설치하면 단 한 줄의 명령만으로도 pip와 setuptools에 호환되는 모든 파이썬 소프트웨어를 다운로드, 설치, 삭제할 수 " +"있습니다.또한 당신이 만든 파이썬 소프트웨어에 네트워크 설치 기능을 손쉽게 추가할 수 있도록 해줍니다. " + +#: ../../starting/install/linux.rst:47 +msgid "" +"Python 2.7.9 and later (on the python2 series), and Python 3.4 and later " +"include pip by default." +msgstr "" +"파이썬 2.7.9와 그 이후의 버전(파이썬2 중에서), 그리고 파이썬 3.4와 그 이후의 버전은 pip를 기본적으로 포함하고 있습니다. " + +#: ../../starting/install/linux.rst:50 +msgid "To see if pip is installed, open a command prompt and run" +msgstr "pip가 설치되어 있는지 보고 싶다면, 명령창을 열어 아래의 파이썬 스크립트를 실행하면 됩니다." + +#: ../../starting/install/linux.rst:56 +msgid "" +"To install pip, `follow the official pip installation guide " +"`_ - this will automatically " +"install the latest version of setuptools." +msgstr "" +"pip를 설치하려면 `pip 공식 설치 안내서 `_ 를 " +"따라해보세요. - 이 링크는 setuptools 최신 버전도 자동 설치해줍니다. " + +#: ../../starting/install/linux.rst:61 +msgid "Virtual Environments" +msgstr "Virtual Environments" + +#: ../../starting/install/linux.rst:63 +msgid "" +"A Virtual Environment is a tool to keep the dependencies required by " +"different projects in separate places, by creating virtual Python " +"environments for them. It solves the \"Project X depends on version 1.x but," +" Project Y needs 4.x\" dilemma, and keeps your global site-packages " +"directory clean and manageable." +msgstr "" +"Virtual Environments은 파이썬 가상 환경을 만들어 서로 다른 파이썬 프로젝트들 간의 독립성을 유지시켜주는 툴입니다. 이는" +" \"프로젝트 X는 버전 1.x를 쓰는데, 프로젝트Y는 버전 4.x가 필요한\" 난국을 해결해줍니다. 그리고 전역 패키지 디렉토리를 " +"깨끗하게 관리할 수 있도록 해줍니다." + +#: ../../starting/install/linux.rst:68 +msgid "" +"For example, you can work on a project which requires Django 1.10 while also" +" maintaining a project which requires Django 1.8." +msgstr "예를 들면 장고 1.10을 쓰는 프로젝트에서 작업하면서, 동시에 장고 1.8을 사용하는 프로젝트를 유지보수 할 수 있습니다." + +#: ../../starting/install/linux.rst:71 +msgid "" +"To start using this and see more information: :ref:`Virtual Environments " +"` docs." +msgstr "" +"Virtual Environments을 사용하기 위해 더 많은 정보를 알고 싶다면 :ref:`Virtual Environments " +"` 문서에서 볼 수 있습니다. " + +#: ../../starting/install/linux.rst:73 +msgid "" +"You can also use :ref:`virtualenvwrapper ` to make it" +" easier to manage your virtual environments." +msgstr "" +":ref:`virtualenvwrapper ` 를 봐도 됩니다. Virtual " +"Environments를 보다 쉽게 관리할 수 있을 것입니다. " + +#: ../../starting/install/linux.rst:78 +msgid "" +"This page is a remixed version of `another guide " +"`_, which" +" is available under the same license." +msgstr "" +"이 페이지는 `다른 안내서 `_ 를 풀어쓴 버전입니다. 동일한 라이선스 아래서 사용할 수 있습니다." + +#~ msgid "" +#~ "Some older versions of RHEL and CentOS come with Python 2.4 which is " +#~ "unacceptable for modern Python development. Fortunately, there are `Extra " +#~ "Packages for Enterprise Linux`_ which include high quality additional " +#~ "packages based on their Fedora counterparts. This repository contains a " +#~ "Python 2.6 package specifically designed to install side-by-side with the " +#~ "system's Python 2.4 installation." +#~ msgstr "" +#~ "몇몇 오래된 버전의 RHEL와 CentOS에는 파이썬 2.4가 딸려오는데, 이 버전은 요즘의 파이썬 개발에는 적당하지 않습니다. 다행히도" +#~ " `Extra Packages for Enterprise Linux`가 있습니다. 여기에는 페도라에 대응하는 훌륭한 추가 패키지가 " +#~ "들어있는데, 파이썬 2.4가 설치된 시스템에서도 2.4버전과 2.6버전이 병행하여 설치될 수 있도록 특별히 만들어진 파이썬 2.6 " +#~ "패키지를 포함하고 있습니다. " diff --git a/docs/locale/ko/LC_MESSAGES/starting/install/osx.mo b/docs/locale/ko/LC_MESSAGES/starting/install/osx.mo new file mode 100644 index 00000000..032a0ec7 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/starting/install/osx.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/starting/install/osx.po b/docs/locale/ko/LC_MESSAGES/starting/install/osx.po new file mode 100644 index 00000000..872f867f --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/starting/install/osx.po @@ -0,0 +1,226 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../starting/install/osx.rst:6 +msgid "Installing Python 2 on Mac OS X" +msgstr "맥 OS X에 파이썬 2 설치하기" + +#: ../../starting/install/osx.rst:11 +msgid "" +"Check out our :ref:`guide for installing Python 3 on OS X`." +msgstr ":ref:`OS X에 파이썬 3을 설치하는 안내서` 를 참고하세요." + +#: ../../starting/install/osx.rst:13 +msgid "" +"**Mac OS X comes with Python 2.7 out of the box between versions 10.8 and " +"12.3.**" +msgstr "**맥 OS X 10.8부터 12.3 사이의 버전에는 파이썬 2.7이 딸려옵니다.**" + +#: ../../starting/install/osx.rst:15 +msgid "" +"If your Mac OS X version is between the above versions, you do not need to " +"install or configure anything else to use Python. Having said that, I would " +"strongly recommend that you install the tools and libraries described in the" +" next section before you start building Python applications for real-world " +"use. In particular, you should always install Setuptools, as it makes it " +"much easier for you to install and manage other third-party Python " +"libraries." +msgstr "" +"맥 OS X 버전이 위의 범위에 해당한다면 파이썬을 사용하기 위해 달리 설치하거나 설정을 할 필요는 없습니다. 그렇기는 해도 실제로 " +"사용할 파이썬 어플리케이션을 만들기 전에 이 안내서에서 앞으로 설명할 툴과 라이브러리들을 먼저 설치할 것을 강력 추천합니다. 특히 " +"Setuptools는 반드시 설치해야 합니다. Setuptools가 있으면 다른 파이썬 서드파티 라이브러리들을 훨씬 쉽게 설치하고 관리할" +" 수 있습니다." + +#: ../../starting/install/osx.rst:22 +msgid "" +"The version of Python that ships with OS X is great for learning, but it's " +"not good for development. The version shipped with OS X may be out of date " +"from the `official current Python release " +"`_, which is considered the " +"stable production version." +msgstr "" +"OS X에 포함된 파이썬의 버전은 학습에는 최고입니다. 하지만 개발하기에는 좋지 않습니다. OS X에 딸려온 버전은 `공식 최신 파이썬 " +"릴리즈 `_ 보다 구버전일 수 있습니다. 이 릴리즈가 " +"안정적인 프로덕션 버전으로 간주됩니다." + +#: ../../starting/install/osx.rst:30 +msgid "Doing it Right" +msgstr "바로 시작하기" + +#: ../../starting/install/osx.rst:32 +msgid "Let's install a real version of Python." +msgstr "진짜 파이썬을 설치해보자!" + +#: ../../starting/install/osx.rst:34 +msgid "" +"Before installing Python, you'll need to install a C compiler. The fastest " +"way is to install the Xcode Command Line Tools by running ``xcode-select " +"--install``. You can also download the full version of `Xcode " +"`_ from the Mac App Store, or the " +"minimal but unofficial `OSX-GCC-Installer " +"`_ package." +msgstr "" +"파이썬을 설치하기 전에 C 컴파일러를 설치해야 합니다. 이를 위해서는 Xcode Command Line Tools을 설치하는 방법이 가장" +" 빠릅니다. ``xcode-select --install`` 을 돌리시면 됩니다. 맥 앱스토어에서 `Xcode " +"`_ 의 풀 버전을 다운로드 받을 수도 있습니다. 비공식 버전이지만 아주" +" 작은 `OSX-GCC-Installer `_ 패키지를 설치해도 됩니다." + +#: ../../starting/install/osx.rst:43 +msgid "" +"If you already have Xcode installed, do not install OSX-GCC-Installer. In " +"combination, the software can cause issues that are difficult to diagnose." +msgstr "" +"이미 XCode를 설치했다면, OSX-GCC-Installer는 설치하지 마세요. 두 개를 함께 설치하면 원인을 밝히기 어려운 문제를 " +"일으킬 수 있습니다." + +#: ../../starting/install/osx.rst:48 +msgid "" +"If you perform a fresh install of Xcode, you will also need to add the " +"commandline tools by running ``xcode-select --install`` on the terminal." +msgstr "" +"Xcode를 새로 설치한 경우에는 터미널에서 ``xcode-select --install`` 을 실행하여 커맨드라인 툴도 함께 설치해야 " +"합니다." + +#: ../../starting/install/osx.rst:52 +msgid "" +"While OS X comes with a large number of Unix utilities, those familiar with " +"Linux systems will notice one key component missing: a decent package " +"manager. `Homebrew `_ fills this void." +msgstr "" +"OS X는 많은 UNIX 유틸리티를 갖고 있지만, 리눅스에 정통한 사람이라면 중요한 요소 하나가 빠져있다는 사실을 알아차릴 것입니다. " +"바로 훌륭한 패키지 매니저가 없다는 것입니다. 하지만 `Homebrew `_ 가 그 빈자리를 채워줍니다." + +#: ../../starting/install/osx.rst:56 +msgid "" +"To `install Homebrew `_, open :file:`Terminal` or " +"your favorite OS X terminal emulator and run" +msgstr "" +"`Homebrew `_ 를 설치하려면 :file:`터미널` 을 열거나 마음에 드는 OSX " +"터미널 에뮬레이터를 열고 아래 코드를 실행하면 됩니다." + +#: ../../starting/install/osx.rst:63 +msgid "" +"The script will explain what changes it will make and prompt you before the " +"installation begins. Once you've installed Homebrew, insert the Homebrew " +"directory at the top of your :envvar:`PATH` environment variable. You can do" +" this by adding the following line at the bottom of your :file:`~/.profile` " +"file" +msgstr "" +"이 스크립트는 설치가 시작되기 전에 설치로 인해 변경되는 것들과 명령어를 알려줍니다. Homebrew가 설치됐으면 Homebrew " +"디렉토리를 :envvar:`PATH` 환경 변수의 최상단에 넣으세요. :file:`~/.profile` 파일의 마지막 줄에 다음과 같이" +" 덧붙이면 됩니다." + +#: ../../starting/install/osx.rst:73 +msgid "Now, we can install Python 2.7:" +msgstr "이제 우리는 파이썬 2.7을 설치할 수 있습니다." + +#: ../../starting/install/osx.rst:79 +msgid "" +"Because ``python@2`` is a \"keg\", we need to update our ``PATH`` again, to " +"point at our new installation:" +msgstr "``python@2`` 는 \"keg\"이므로, 새로 설치한 곳을 가리키도록 ``PATH`` 를 다시 갱신해야 합니다:" + +#: ../../starting/install/osx.rst:85 +msgid "" +"Homebrew names the executable ``python2`` so that you can still run the " +"system Python via the executable ``python``." +msgstr "" +"Homebrew는 실행 파일의 이름을 ``python2`` 로 짓기 때문에, ``python`` 실행 파일로는 여전히 시스템 파이썬을 " +"실행할 수 있습니다." + +#: ../../starting/install/osx.rst:97 +msgid "Setuptools & Pip" +msgstr "Setuptools & Pip" + +#: ../../starting/install/osx.rst:99 +msgid "Homebrew installs Setuptools and ``pip`` for you." +msgstr "Homebrew는 Setuptools 과 ``pip`` 를 설치해줍니다." + +#: ../../starting/install/osx.rst:101 +msgid "" +"Setuptools enables you to download and install any compliant Python software" +" over a network (usually the Internet) with a single command " +"(``easy_install``). It also enables you to add this network installation " +"capability to your own Python software with very little work." +msgstr "" +"Setuptools는 네트워크 상에서(보통은 인터넷) 단 한 줄의 명령어(``easy_install``)로 파이썬 소프트웨어를 " +"다운로드받고 설치할 수 있도록 해줍니다. 또한 최소한의 작업으로 당신이 만든 파이썬 소프트웨어의 네트워크 설치를 가능하게 해줍니다. " + +#: ../../starting/install/osx.rst:106 +msgid "" +"``pip`` is a tool for easily installing and managing Python packages, that " +"is recommended over ``easy_install``. It is superior to ``easy_install`` in " +"`several ways `_, and is " +"actively maintained." +msgstr "" +"``pip`` 는 파이썬 패키지를 손쉽게 설치하고 관리할 수 있게 해주는 툴입니다. ``easy_install`` 로 설치할 것을 " +"추천한다. ``easy_install`` 는 `많은 면 `_ 에서 탁월하고, 활발히 운영되고 있습니다." + +#: ../../starting/install/osx.rst:119 +msgid "Virtual Environments" +msgstr "Virtual Environments" + +#: ../../starting/install/osx.rst:121 +msgid "" +"A Virtual Environment (commonly referred to as a 'virtualenv') is a tool to " +"keep the dependencies required by different projects in separate places, by " +"creating virtual Python environments for them. It solves the \"Project X " +"depends on version 1.x but, Project Y needs 4.x\" dilemma, and keeps your " +"global site-packages directory clean and manageable." +msgstr "" +"Virtual Environment(보통 'virtualenv'로 부릅니다)는 각 프로젝트마다 파이썬 가상 환경을 만들어 서로 다른 " +"프로젝트가 필요로 하는 의존성을 별도의 위치에 분리해주는 툴입니다. 이는 \"프로젝트 X는 버전 1.x를 쓰는데, 프로젝트 Y는 버전 " +"4.x가 필요한\" 난국을 해결해주고, 전역 site-packages 디렉토리를 깨끗하게 관리할 수 있도록 해줍니다." + +#: ../../starting/install/osx.rst:126 +msgid "" +"For example, you can work on a project which requires Django 1.10 while also" +" maintaining a project which requires Django 1.8." +msgstr "예를 들면 장고 1.10을 쓰는 프로젝트에서 일하면서, 장고 1.8을 사용하는 프로젝트를 유지보수 할 수 있도록 해줍니다." + +#: ../../starting/install/osx.rst:129 +msgid "" +"To start using this and see more information: :ref:`Virtual Environments " +"` docs." +msgstr "" +"Virtual Environments을 사용하기 위해 더 많은 정보를 알고 싶다면 `Virtual Environments " +"`_ 문서에서 볼 수 있습니다." + +#: ../../starting/install/osx.rst:133 +msgid "" +"This page is a remixed version of `another guide " +"`_, which" +" is available under the same license." +msgstr "" +"이 페이지는 `다른 안내서 `_ 를 재배열한 버전입니다. 라이선스는 동일합니다." + +#~ msgid "or Python 3:" +#~ msgstr "파이썬 3도 됩니다: " + +#~ msgid "This will take a minute or two." +#~ msgstr "1~2분 정도 걸릴 것입니다." diff --git a/docs/locale/ko/LC_MESSAGES/starting/install/win.mo b/docs/locale/ko/LC_MESSAGES/starting/install/win.mo new file mode 100644 index 00000000..7ac77354 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/starting/install/win.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/starting/install/win.po b/docs/locale/ko/LC_MESSAGES/starting/install/win.po new file mode 100644 index 00000000..ab8b9925 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/starting/install/win.po @@ -0,0 +1,223 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../starting/install/win.rst:6 +msgid "Installing Python 2 on Windows" +msgstr "Windows에 파이썬 2 설치하기" + +#: ../../starting/install/win.rst:11 +msgid "" +"Check out our :ref:`guide for installing Python 3 on " +"Windows`." +msgstr ":ref:`Windows에 파이썬 3을 설치하는 안내서` 를 참고하세요." + +#: ../../starting/install/win.rst:13 +msgid "" +"First, download the `latest version " +"`_ of Python 2.7" +" from the official website. If you want to be sure you are installing a " +"fully up-to-date version, click the Downloads > Windows link from the home " +"page of the `Python.org web site `_ ." +msgstr "" +"우선 공식 웹사이트에서 파이썬 2.7의 `최신 버전 " +"`_ 을 다운로드 받아야 " +"합니다. 최신 버전으로 파이썬을 설치하고자 한다면, `Python.org 웹사이트 `_ 의 " +"홈페이지에서 Downloads > Windows 링크에서 다운받으면 됩니다." + +#: ../../starting/install/win.rst:18 +msgid "" +"The Windows version is provided as an MSI package. To install it manually, " +"just double-click the file. The MSI package format allows Windows " +"administrators to automate installation with their standard tools." +msgstr "" +"Windows버전은 MSI 패키지 형태로 제공됩니다. 수동으로 설치하고자 한다면, 그냥 파일을 더블 클릭하면 됩니다. Windows " +"관리자 계정 사용자라면 MSI 패키지로 Windows 표준 도구를 자동 설치할 수 있습니다. " + +#: ../../starting/install/win.rst:22 +msgid "" +"By design, Python installs to a directory with the version number embedded, " +"e.g. Python version 2.7 will install at :file:`C:\\\\Python27\\\\`, so that " +"you can have multiple versions of Python on the same system without " +"conflicts. Of course, only one interpreter can be the default application " +"for Python file types. It also does not automatically modify the " +":envvar:`PATH` environment variable, so that you always have control over " +"which copy of Python is run." +msgstr "" +"파이썬이 설치되는 디렉토리는 버전의 숫자를 포함하도록 디자인되어 있습니다. 예를 들어 파이썬 2.7을 설치하면 " +":file:`C:\\\\Python27\\\\` 디렉토리에 설치됩니다. 덕분에 하나의 시스템에서 충돌 없어 여러 버전의 파이썬을 사용할 " +"수 있습니다. 물론 오직 하나의 인터프리터만 파이썬 파일 타입의 기본 설정이 될 수 있습니다. 또한 파이썬을 설치할 때 " +":envvar:`PATH` 환경 변수가 자동으로 변경되지도 않습니다. 그러니 어느 버전의 파이썬을 실행할지 늘 관리해야 합니다. " + +#: ../../starting/install/win.rst:30 +msgid "" +"Typing the full path name for a Python interpreter each time quickly gets " +"tedious, so add the directories for your default Python version to the " +":envvar:`PATH`. Assuming that your Python installation is in " +":file:`C:\\\\Python27\\\\`, add this to your :envvar:`PATH`:" +msgstr "" +"파이썬 인터프리터의 전체 경로명을 매번 입력하는 일은 금새 싫증납니다. 그러니 컴퓨터의 기본 파이썬 버전이 있는 디렉토리에 " +":envvar:`PATH` 를 추가하세요. 파이썬이 :file:`C:\\\\Python27\\\\` 에 설치되었다면 아래와 같이 " +"추가하세요." + +#: ../../starting/install/win.rst:39 +msgid "You can do this easily by running the following in ``powershell``:" +msgstr "``powershell`` 에서 간단하게 실행할 수도 있습니다." + +#: ../../starting/install/win.rst:45 +msgid "This is also an option during the installation process." +msgstr "이것은 설치 과정 중에도 선택할 수 있는 옵션입니다." + +#: ../../starting/install/win.rst:47 +msgid "" +"The second (:file:`Scripts`) directory receives command files when certain " +"packages are installed, so it is a very useful addition. You do not need to " +"install or configure anything else to use Python. Having said that, I would " +"strongly recommend that you install the tools and libraries described in the" +" next section before you start building Python applications for real-world " +"use. In particular, you should always install Setuptools, as it makes it " +"much easier for you to use other third-party Python libraries." +msgstr "" +"두번째 (:file:`스크립트`) 디렉토리는 파이썬 패키지가 설치될 때마다 커맨드 파일을 수신받기 때문에 아주 유용합니다. 이제 파이썬을" +" 사용하기 위해 달리 설치하거나 설정해줘야만 하는 것은 없습니다. 그렇기 해도 실제로 사용할 파이썬 어플리케이션을 만들기 전에 이 " +"안내서에서 앞으로 설명할 툴과 라이브러리들을 설치할 것을 강력 추천합니다. 특히 Setuptools는 반드시 설치해야 합니다. " +"Setuptools는 다른 파이썬 서드파티 라이브러리들을 편리하게 사용할 수 있게 해줍니다. " + +#: ../../starting/install/win.rst:58 +msgid "Setuptools + Pip" +msgstr "Setuptools + Pip" + +#: ../../starting/install/win.rst:60 +msgid "" +"The two most crucial third-party Python packages are `setuptools " +"`_ and `pip " +"`_." +msgstr "" +"가장 중요한 파이썬 서드파티 패키지를 2개 뽑으라면 `setuptools " +"`_ 와 `pip " +"`_ 입니다." + +#: ../../starting/install/win.rst:62 +msgid "" +"Once installed, you can download, install and uninstall any compliant Python" +" software product with a single command. It also enables you to add this " +"network installation capability to your own Python software with very little" +" work." +msgstr "" +"한번 설치하고 나면 단 한 줄의 명령어로 호환되는 모든 파이썬 소프트웨어 제품을 다운로드, 설치, 제거할 수 있습니다. 또한 최소한의 " +"작업으로 당신이 만든 파이썬 소프트웨어에 네트워크 설치 기능을 추가할 수 있습니다." + +#: ../../starting/install/win.rst:66 +msgid "" +"Python 2.7.9 and later (on the python2 series), and Python 3.4 and later " +"include pip by default." +msgstr "(python2 계열의) 파이썬 2.7.9 이후 버전과 파이썬 3.4 이후 버전에는 기본으로 pip이 포함되어 있습니다." + +#: ../../starting/install/win.rst:69 +msgid "To see if pip is installed, open a command prompt and run" +msgstr "pip이 설치되어 있는지 확인하려면, 명령 프롬프트를 열고 다음을 실행하세요" + +#: ../../starting/install/win.rst:75 +msgid "" +"To install pip, `follow the official pip installation guide " +"`_ - this will automatically " +"install the latest version of setuptools." +msgstr "" +"pip을 설치하려면, `pip 공식 설치 안내서 `_ 를 " +"따르세요. 이 안내서를 따르면 setuptools의 최신 버전도 자동으로 설치됩니다." + +#: ../../starting/install/win.rst:80 +msgid "Virtual Environments" +msgstr "Virtual Environments" + +#: ../../starting/install/win.rst:82 +msgid "" +"A Virtual Environment is a tool to keep the dependencies required by " +"different projects in separate places, by creating virtual Python " +"environments for them. It solves the \"Project X depends on version 1.x but," +" Project Y needs 4.x\" dilemma, and keeps your global site-packages " +"directory clean and manageable." +msgstr "" +"Virtual Environments은 파이썬 가상 환경을 만들어 여러 위치의 다양한 프로젝트들 간의 독립성을 유지시켜주는 툴입니다. " +"이는 \"프로젝트 X는 버전 1.x를 쓰는데, 프로젝트Y는 버전 4.x가 필요한\" 난국을 해결해줍니다. 그리고 전역 패키지 디렉토리를 " +"깨끗하게 관리할 수 있도록 해줍니다." + +#: ../../starting/install/win.rst:87 +msgid "" +"For example, you can work on a project which requires Django 1.10 while also" +" maintaining a project which requires Django 1.8." +msgstr "예를 들면 장고 1.10을 쓰는 프로젝트에서 일하면서, 장고 1.8을 사용하는 프로젝트를 유지보수 할 수 있도록 해줍니다." + +#: ../../starting/install/win.rst:90 +msgid "" +"To start using this and see more information: :ref:`Virtual Environments " +"` docs." +msgstr "" +"Virtual Environments을 사용하기 위해 더 많은 정보를 알고 싶다면 `Virtual Environments " +"`_ 문서에서 볼 수 있습니다." + +#: ../../starting/install/win.rst:95 +msgid "" +"This page is a remixed version of `another guide " +"`_, which" +" is available under the same license." +msgstr "" +"이 페이지는 `다른 안내서 `_ 를 재배열한 버전입니다. 라이선스는 동일합니다." + +#~ msgid "" +#~ "The most crucial third-party Python software of all is Setuptools, which " +#~ "extends the packaging and installation facilities provided by the distutils " +#~ "in the standard library. Once you add Setuptools to your Python system you " +#~ "can download and install any compliant Python software product with a single" +#~ " command. It also enables you to add this network installation capability to" +#~ " your own Python software with very little work." +#~ msgstr "" +#~ "Setuptools는 가장 중요한 파이썬 서드파티 소프트웨어입니다. Setuptools는 표준 라이브러리인 distutils의 패키징 " +#~ "기능과 설치 기능을 확장한 것입니다. Setuptools를 파이썬 시스템에 설치하면 어떤 파이썬 소프트웨어 제품이라도 명령어 한 줄로 " +#~ "설치할 수 있습니다. 또한 최소한의 작업으로 당신이 만든 파이썬 소프트웨어의 네트워크 설치를 가능하게 해줍니다." + +#~ msgid "" +#~ "To obtain the latest version of Setuptools for Windows, run the Python " +#~ "script available here: `ez_setup.py " +#~ "`_" +#~ msgstr "" +#~ "Windows에서 최신 버전의 Setuptoos를 설치하려면 이 파이썬 스크립트를 실행하면 됩니다. `ez_setup.py " +#~ "`_ " + +#~ msgid "" +#~ "You'll now have a new command available to you: **easy_install**. It is " +#~ "considered by many to be deprecated, so we will install its replacement: " +#~ "**pip**. Pip allows for uninstallation of packages, and is actively " +#~ "maintained, unlike easy_install." +#~ msgstr "" +#~ "이제 새로운 명령을 내릴 수 있게 되었습니다: **easy_install** 입니다. 하지만 이 명령어를 불편하게 생각하는 사람들도 " +#~ "많습니다. 그러니 이를 대체할 것을 설치해봅시다. **pip**로 패키지의 설치와 제거도 가능하고, easy_install와 달리 현재 " +#~ "활발히 운영되고 있습니다." + +#~ msgid "" +#~ "To install pip, run the Python script available here: `get-pip.py " +#~ "`_" +#~ msgstr "" +#~ "pip를 설치하려면 아래 파이썬 스크립트를 실행하면 됩니다. `get-pip.py " +#~ "`_" diff --git a/docs/locale/ko/LC_MESSAGES/starting/install3/linux.mo b/docs/locale/ko/LC_MESSAGES/starting/install3/linux.mo new file mode 100644 index 00000000..2bc3c751 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/starting/install3/linux.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/starting/install3/linux.po b/docs/locale/ko/LC_MESSAGES/starting/install3/linux.po new file mode 100644 index 00000000..f38bcad0 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/starting/install3/linux.po @@ -0,0 +1,221 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Ahn YoungSeon \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../starting/install3/linux.rst:6 +msgid "Installing Python 3 on Linux" +msgstr "리눅스에 파이썬3 설치하기" + +#: ../../starting/install3/linux.rst:10 +msgid "" +"This document describes how to install Python 3.6 or 3.8 on Ubuntu Linux " +"machines." +msgstr "" +"이 문서는 파이썬3.6이나 3.8을 우분투 리눅스에 설치하는 방법을 다룹니다." + +#: ../../starting/install3/linux.rst:12 +msgid "" +"To see which version of Python 3 you have installed, open a command " +"prompt and run" +msgstr "" +"파이썬3의 어느 버전이 설치되었는지를 확인하려면 " +"커맨드 프롬프트를 열고 실행해보세요. " + +#: ../../starting/install3/linux.rst:18 +msgid "" +"If you are using Ubuntu 16.10 or newer, then you can easily install " +"Python 3.6 with the following commands::" +msgstr "" +"우분투 16.10이나 그보다 최신 버전을 사용하고 있다면 아래의 커맨드로 파이썬3.6을 쉽게 " +"설치할 수 있습니다. " + +#: ../../starting/install3/linux.rst:23 +msgid "" +"If you're using another version of Ubuntu (e.g. the latest LTS release) " +"or you want to use a more current Python, we recommend using the " +"`deadsnakes PPA `_" +" to install Python 3.8::" +msgstr "" +"다른 버전의 우분투(예를 들면 최신 LTS 릴리즈)를 사용하고 있다면 " +"혹은 더 최신 버전의 파이썬을 사용하고 싶다면 " +"`deadsnakes PPA `_" +"을 사용해서 파이썬3.8을 설치하기를 추천합니다. " + +#: ../../starting/install3/linux.rst:30 +msgid "" +"If you are using other Linux distribution, chances are you already have " +"Python 3 pre-installed as well. If not, use your distribution's package " +"manager. For example on Fedora, you would use `dnf`:" +msgstr "" +"다른 리눅스 배포판을 사용하고 있다면 " +"이미 파이썬3가 설치되어 있을 수 있습니다. " +"그렇지 않다면 해당 배포판의 패키지 매니저를 사용해서 파이선을 설치하세요." +"예를 들어 페도라를 사용한다면 `dnf`: 를 사용하세요." + +#: ../../starting/install3/linux.rst:38 +msgid "" +"Note that if the version of the ``python3`` package is not recent enough " +"for you, there may be ways of installing more recent versions as well, " +"depending on you distribution. For example installing the ``python3.9`` " +"package on Fedora 32 to get Python 3.9. If you are a Fedora user, you " +"might want to read about `multiple Python versions available in Fedora`_." +msgstr "" +"``python3`` 패키지의 버전이 당신이 필요한 만큼 최신 버전이 아니라면 " +"리눅스 배포판에 따라 각각 더 최신 버전의 파이썬을 설치하는 방법도 물론 있습니다. " +"예를 들어 ``python3.9`` 패키지를 페도라 32에 설치할 수 있습니다. " +"만약 페도라 사용자라면 " +"`multiple Python versions available in Fedora`_ 를 읽고 싶을겁니다. " + +#: ../../starting/install3/linux.rst:49 +msgid "Working with Python 3" +msgstr "파이썬3로 작업하기" + +#: ../../starting/install3/linux.rst:51 +msgid "At this point, you may have system Python 2.7 available as well." +msgstr "파이썬 2.7이 설치되어 있다고 해봅시다." + +#: ../../starting/install3/linux.rst:57 +msgid "This might launch the Python 2 interpreter." +msgstr "위 명령어는 아마도 파이썬2 인터프리터를 실행시킵니다." + +#: ../../starting/install3/linux.rst:63 +msgid "This will always launch the Python 3 interpreter." +msgstr "위 명령어는 반드시 파이썬 3 인터프리터를 실행합니다." + +#: ../../starting/install3/linux.rst:68 +msgid "Setuptools & Pip" +msgstr "Setuptools & Pip" + +#: ../../starting/install3/linux.rst:70 +msgid "" +"The two most crucial third-party Python packages are `setuptools " +"`_ and `pip " +"`_." +msgstr "" +"`setuptools " +"`_ 와 `pip " +"`_ 는 가장 중요한 파이썬 서드파티 패키지입니다. " + +#: ../../starting/install3/linux.rst:72 +msgid "" +"Once installed, you can download, install and uninstall any compliant " +"Python software product with a single command. It also enables you to add" +" this network installation capability to your own Python software with " +"very little work." +msgstr "" +"이걸 설치하면 어느 파이썬 소프트웨어 제품이든 명령어 한 방에 다운로드 하고 설치하고 제거할 수 있습니다. " +"또한 최소한의 작업만으로 네트워크를 통하여 당신의 파이썬 소프트웨어를 설치할 수 있게 해줍니다." + +#: ../../starting/install3/linux.rst:76 +msgid "" +"Python 2.7.9 and later (on the python2 series), and Python 3.4 and later " +"include pip by default." +msgstr "" +"파이썬 2.7.9와 그 이후 버전(파이썬2 중에서), 그리고 파이썬 3.4와 그 이후 버전은 " +"pip가 기본적으로 포함되어 있습니다." + +#: ../../starting/install3/linux.rst:79 +msgid "To see if pip is installed, open a command prompt and run" +msgstr "" +"pip가 설치되어 있는지 확인하려면 " +"커맨드 프롬프트를 열고 이 명령을 실행하세요. " + +#: ../../starting/install3/linux.rst:85 +msgid "" +"To install pip, `follow the official pip installation guide " +"`_ - this will automatically " +"install the latest version of setuptools." +msgstr "" +"pip를 설치하려면 " +"`pip 공식 설치 가이드를 따라하세요 " +"`_ - 이 문서는 " +"자동적으로 최신 버전의 setuptools를 설치합니다. " + +#: ../../starting/install3/linux.rst:87 +msgid "" +"Note that on some Linux distributions including Ubuntu and Fedora the " +"``pip`` command is meant for Python 2, while the ``pip3`` command is " +"meant for Python 3." +msgstr "" +"우분투와 페도라를 포함한 리눅스 배포판 일부는 " +"``pip`` 명령어를 파이썬2를 위한 것으로 인식한다는 점을 명심하세요. " +"대신 ``pip3`` 명령어는 파이썬3를 위한 것입니다. " + +#: ../../starting/install3/linux.rst:94 +msgid "" +"However, when using virtual environments (described below), you don't " +"need to care about that." +msgstr "" +"하지만 가상 환경(후술합니다)을 사용한다면 이런 점을 걱정할 필요가 없습니다. " + +#: ../../starting/install3/linux.rst:100 +msgid "Pipenv & Virtual Environments" +msgstr "Pipenv & Virtual Environments" + +#: ../../starting/install3/linux.rst:102 +msgid "" +"The next step is to install Pipenv, so you can install dependencies and " +"manage virtual environments." +msgstr "" +"그 다음 단계는 Pipenv 설치입니다. " +"이걸로 디펜던시를 설치하고 가상 환경을 관리할 수 있습니다." + +#: ../../starting/install3/linux.rst:104 +msgid "" +"A Virtual Environment is a tool to keep the dependencies required by " +"different projects in separate places, by creating virtual Python " +"environments for them. It solves the \"Project X depends on version 1.x " +"but, Project Y needs 4.x\" dilemma, and keeps your global site-packages " +"directory clean and manageable." +msgstr "" +"가상 환경은 서로 다른 위치에 있는 별도의 프로젝트에 각각 독자적인 디펜던시가 필요한 경우 " +"각 프로젝트에 가상 파이썬 환경을 만들어 줍니다. " +"\"프로젝트 X는 버전 1.x에 의존하지만 " +"프로젝트 Y는 4.x가 필요합니다\"라는 딜레마를 해결하고 " +"전역 패키지 디렉토리를 깨끗하게 관리할 수 ​​있도록 한다." + +#: ../../starting/install3/linux.rst:109 +msgid "" +"For example, you can work on a project which requires Django 1.10 while " +"also maintaining a project which requires Django 1.8." +msgstr "" +"예를들어 Django 1.10으로 프로젝트를 진행하는 한편 " +"Django 1.8로 만들어진 프로젝트를 유지보수 하고 있다면 " + +#: ../../starting/install3/linux.rst:112 +msgid "" +"So, onward! To the :ref:`Pipenv & Virtual Environments " +"` docs!" +msgstr "" +"전진! " +":ref:`Pipenv & 가상 환경(Virtual Environments) " +"` 문서를 향해!" + +#: ../../starting/install3/linux.rst:116 +msgid "" +"This page is a remixed version of `another guide " +"`_, " +"which is available under the same license." +msgstr "" +"이 페이지는 같은 라이선스를 사용하는 `다른 가이드 `_ " +"의 리믹스 버전이다." diff --git a/docs/locale/ko/LC_MESSAGES/starting/install3/osx.mo b/docs/locale/ko/LC_MESSAGES/starting/install3/osx.mo new file mode 100644 index 00000000..4a715cb7 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/starting/install3/osx.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/starting/install3/osx.po b/docs/locale/ko/LC_MESSAGES/starting/install3/osx.po new file mode 100644 index 00000000..ad8030ff --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/starting/install3/osx.po @@ -0,0 +1,218 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../starting/install3/osx.rst:8 +msgid "Installing Python 3 on Mac OS X" +msgstr "Mac OS X에 파이썬3 설치하기" + +#: ../../starting/install3/osx.rst:12 +msgid "" +"**Mac OS X comes with Python 2.7 out of the box between versions 10.8 and " +"12.3.**" +msgstr "**Mac OS X 10.8부터 12.3 사이의 버전에는 파이썬 2.7이 기본적으로 설치되어서 나온다.**" + +#: ../../starting/install3/osx.rst:14 +msgid "" +"If your Mac OS X version is between the above versions, you do not need to " +"install or configure anything else to use Python 2. These instructions " +"document the installation of Python 3." +msgstr "" +"맥 OS X 버전이 위의 범위에 해당한다면 파이썬2를 따로 설치하거나 설정할 필요는 없다. 이 안내문은 파이썬3 설치를 다룬다." + +#: ../../starting/install3/osx.rst:18 +msgid "" +"The version of Python that ships with OS X is great for learning, but it's " +"not good for development. The version shipped with OS X may be out of date " +"from the `official current Python release " +"`_, which is considered the " +"stable production version." +msgstr "" +"OS X와 함께 달려오는 파이썬 버전은 학습하기에는 아주 좋다. 하지만 개발에는 좋지 않다. OS X에 딸려오는 버전은 이미 " +"구식이다.`안정화 된 `공식 최신 버전의 파이썬 릴리즈보다 `_ 구식이다." + +#: ../../starting/install3/osx.rst:26 +msgid "Doing it Right" +msgstr "똑바로 하기" + +#: ../../starting/install3/osx.rst:28 +msgid "Let's install a real version of Python." +msgstr "이제 진짜 파이썬 버전을 설치해보자." + +#: ../../starting/install3/osx.rst:30 +msgid "" +"Before installing Python, you'll need to install GCC. GCC can be obtained by" +" downloading `Xcode `_, the smaller " +"`Command Line Tools `_ (must have an" +" Apple account) or the even smaller `OSX-GCC-Installer " +"`_ package." +msgstr "" +"파이썬을 설치하기 전에 GCC를 설치해야 한다. GCC는 `Xcode " +"`_, 더 작은 `Command Line Tools " +"`_ (Apple 계정이 있어야 함) 또는 더 작은 `OSX-" +"GCC-Installer `_ " +"패키지를 다운로드하여 얻을 수 있다." + +#: ../../starting/install3/osx.rst:37 +msgid "" +"If you already have Xcode installed, do not install OSX-GCC-Installer. In " +"combination, the software can cause issues that are difficult to diagnose." +msgstr "" +"Xcode가 이미 설치되어 있다면 OSX-GCC-Installer를 설치하면 안된다. 둘 다 설치해서 GCC가 꼬여버리면 뭔지도 모를 " +"문제가 발생할 수도 있다." + +#: ../../starting/install3/osx.rst:42 +msgid "" +"If you perform a fresh install of Xcode, you will also need to add the " +"commandline tools by running ``xcode-select --install`` on the terminal." +msgstr "" +"Xcode를 새로 설치한다면 터미널에서 ``xcode-select --install`` 을 실행하여 commandline tools을 " +"추가해야 한다." + +#: ../../starting/install3/osx.rst:45 +msgid "" +"While OS X comes with a large number of Unix utilities, those familiar with " +"Linux systems will notice one key component missing: a package manager. " +"`Homebrew `_ fills this void." +msgstr "" +"OS X에는 다양한 Unix 유틸리티가 포함되어 있지만, 리눅스에 익숙한 사람이라면 한 가지 중요한 구성요소가 빠졌다는 사실을 알아챌 " +"것이다. 바로 패키지 매니저다. `Homebrew `_ 가 그 빈자리를 메꾼다." + +#: ../../starting/install3/osx.rst:49 +msgid "" +"To `install Homebrew `_, open :file:`Terminal` or " +"your favorite OS X terminal emulator and run" +msgstr "" +"`Homebrew를 설치 `_ 하려면, :file:`Terminal` 이든 아니면 달리 " +"좋아하는 OS X의 터미널 에뮬레이터를 아래 스크립트를 실행해라." + +#: ../../starting/install3/osx.rst:56 +msgid "" +"The script will explain what changes it will make and prompt you before the " +"installation begins. Once you've installed Homebrew, insert the Homebrew " +"directory at the top of your :envvar:`PATH` environment variable. You can do" +" this by adding the following line at the bottom of your :file:`~/.profile` " +"file" +msgstr "" +"이 스크립트는 설치를 시작하기 전에 변경 사항 설명 메시지를 표시한다. Homebrew가 이미 설치되어 있다면 :envvar:`PATH`" +" 환경 변수 최상단에 Homebrew의 디렉토리를 추가하자. 하기 라인을 :file:`~/.profile` 의 마지막 라인에 추가하면 " +"된다. " + +#: ../../starting/install3/osx.rst:66 +msgid "If you have OS X 10.12 (Sierra) or older use this line instead" +msgstr "OS X 10.12 (Sierra) 혹은 그 이전 버전을 사용하고 있다면 아래의 라인을 대신 사용해라." + +#: ../../starting/install3/osx.rst:72 +msgid "Now, we can install Python 3:" +msgstr "이제 우리는 파이썬3를 설치할 수 있다." + +#: ../../starting/install3/osx.rst:78 +msgid "This will take a minute or two." +msgstr "1~2분 정도 걸린다." + +#: ../../starting/install3/osx.rst:82 +msgid "Pip" +msgstr "Pip" + +#: ../../starting/install3/osx.rst:84 +msgid "Homebrew installs ``pip`` pointing to the Homebrew'd Python 3 for you." +msgstr "Homebrew는 Homebrew의 파이썬3를 바라보는 ``pip`` 를 설치한다." + +#: ../../starting/install3/osx.rst:89 +msgid "Working with Python 3" +msgstr "파이썬3로 작업하기" + +#: ../../starting/install3/osx.rst:91 +msgid "" +"At this point, you have the system Python 2.7 available, potentially the " +":ref:`Homebrew version of Python 2 ` installed, and the " +"Homebrew version of Python 3 as well." +msgstr "" +"여기까지 했으면 이 시점에서 너의 시스템은 파이썬2.7을 사용 가능하고, 아마도 :ref:`파이썬2의 Homebrew 버전 " +"` 도 설치되어 있을 것이고, 파이썬3의 Homebrew 버전도 설치되어 있을 것이다." + +#: ../../starting/install3/osx.rst:99 ../../starting/install3/osx.rst:111 +msgid "will launch the Homebrew-installed Python 3 interpreter." +msgstr "위 명령은 Homebrew로 설치한 파이썬3 인터프리터를 실행한다." + +#: ../../starting/install3/osx.rst:105 +msgid "will launch the Homebrew-installed Python 2 interpreter (if any)." +msgstr "위 명령은 Homebrew로 설치한 파이썬2 인터프리터(있으면 말이지)를 실행한다." + +#: ../../starting/install3/osx.rst:113 +msgid "" +"If the Homebrew version of Python 2 is installed then ``pip2`` will point to" +" Python 2. If the Homebrew version of Python 3 is installed then ``pip`` " +"will point to Python 3." +msgstr "" +"파이썬2의 Homebrew 버전이 설치되었다면 ``pip2`` 는 파이썬2를 가리킨다. 파이썬3의 Homebrew 버전이 설치되었다면 " +"``pip`` 는 파이썬3를 가리킨다." + +#: ../../starting/install3/osx.rst:116 +msgid "The rest of the guide will assume that ``python`` references Python 3." +msgstr "이 가이드의 나머지 부분에서 ``python`` 이라 함은 파이썬3를 가리킨다고 가정하겠다. " + +#: ../../starting/install3/osx.rst:127 +msgid "Pipenv & Virtual Environments" +msgstr "Pipenv & Virtual Environments(가상 환경)" + +#: ../../starting/install3/osx.rst:129 +msgid "" +"The next step is to install Pipenv, so you can install dependencies and " +"manage virtual environments." +msgstr "그 다음 순서로 Pipenv를 설치하여 디펜던시를 설치하고 가상 환경을 관리할 수 있다." + +#: ../../starting/install3/osx.rst:131 +msgid "" +"A Virtual Environment is a tool to keep the dependencies required by " +"different projects in separate places, by creating virtual Python " +"environments for them. It solves the \"Project X depends on version 1.x but," +" Project Y needs 4.x\" dilemma, and keeps your global site-packages " +"directory clean and manageable." +msgstr "" +"Virtual Environment(이하 가상 환경 -역주)은 가상의 파이썬 환경을 만들어 서로 다른 프로젝트에 필요한 디펜던시를 별도의" +" 위치에 두는 도구이다. \"프로젝트 X는 버전 1.x에 의존하지만 프로젝트 Y는 4.x가 필요합니다\"라는 딜레마를 해결하고 전역 " +"패키지 디렉토리를 깨끗하게 관리할 수 ​​있도록 한다." + +#: ../../starting/install3/osx.rst:136 +msgid "" +"For example, you can work on a project which requires Django 1.10 while also" +" maintaining a project which requires Django 1.8." +msgstr "예를들어 장고 1.10으로 프로젝트를 진행하는 한편 장고 1.8로 만들어진 프로젝트를 유지보수 하고 있다면 " + +#: ../../starting/install3/osx.rst:139 +msgid "" +"So, onward! To the :ref:`Pipenv & Virtual Environments ` docs!" +msgstr "" +"전진! :ref:`Pipenv & 가상 환경(Virtual Environments) ` " +"문서를 향해!" + +#: ../../starting/install3/osx.rst:143 +msgid "" +"This page is a remixed version of `another guide " +"`_, which" +" is available under the same license." +msgstr "" +"이 페이지는 같은 라이선스를 사용하는 `다른 가이드 `_ 의 리믹스 버전이다." diff --git a/docs/locale/ko/LC_MESSAGES/starting/install3/win.mo b/docs/locale/ko/LC_MESSAGES/starting/install3/win.mo new file mode 100644 index 00000000..69a86c04 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/starting/install3/win.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/starting/install3/win.po b/docs/locale/ko/LC_MESSAGES/starting/install3/win.po new file mode 100644 index 00000000..dfc5dd74 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/starting/install3/win.po @@ -0,0 +1,131 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Ahn Young Seon \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../starting/install3/win.rst:6 +msgid "Installing Python 3 on Windows" +msgstr "Windows에 파이썬3 설치" + +#: ../../starting/install3/win.rst:10 +msgid "" +"First, follow the installation instructions for `Chocolatey " +"`_. It's a community system packager " +"manager for Windows 7+. (It's very much like Homebrew on OS X.)" +msgstr "" +"우선 `Chocolatey `_ 을 설치하세요. " +"Windows 7+를 위한 커뮤니티 시스템 패키지 매니저입니다. (OS X의 홈브류와 비슷해요)" + +#: ../../starting/install3/win.rst:13 +msgid "" +"Once done, installing Python 3 is very simple, because Chocolatey pushes " +"Python 3 as the default." +msgstr "" +"초콜레티 설치가 끝났다면 파이썬3 설치는 아주 간단합니다. " +"초콜레티는 파이썬3를 기본값으로 푸시하기 때문입니다. " + +#: ../../starting/install3/win.rst:19 +msgid "" +"Once you've run this command, you should be able to launch Python " +"directly from to the console. (Chocolatey is fantastic and automatically " +"adds Python to your path.)" +msgstr "" +"이 명령을 실행하면 콘솔에서 직접 Python을 시작할 수 있습니다. " +"(초콜릿은 환상적입니다. 자동으로 Python을 경로(path)에 추가합니다.)" + +#: ../../starting/install3/win.rst:25 +msgid "Setuptools + Pip" +msgstr "Setuptools + Pip" + +#: ../../starting/install3/win.rst:27 +msgid "" +"The two most crucial third-party Python packages are `setuptools " +"`_ and `pip " +"`_, which let you download, install and " +"uninstall any compliant Python software product with a single command. It" +" also enables you to add this network installation capability to your own" +" Python software with very little work." +msgstr "" +"가장 중요한 2가지 서드파티 파이썬 패키지는 `setuptools " +"`_ 와 `pip " +"`_ 입니다. " +"명령 한번으로 모든 호환되는 Python 소프트웨어 제품을 다운로드, 설치 및 제거 할 수 있습니다. " + +#: ../../starting/install3/win.rst:32 +msgid "" +"All supported versions of Python 3 include pip, so just make sure it's up" +" to date:" +msgstr "" +"지원되는 모든 버전의 파이썬3에는 pip가 포함되어 있습니다. 그러니 최신 버전인지만 확인하세요. " + +#: ../../starting/install3/win.rst:41 +msgid "Pipenv & Virtual Environments" +msgstr "Pipenv & Virtual Environments" + +#: ../../starting/install3/win.rst:43 +msgid "" +"The next step is to install Pipenv, so you can install dependencies and " +"manage virtual environments." +msgstr "" +"그 다음 단계는 Pipenv 설치입니다. " +"Pipenv로 디펜던시를 설치하고 가상 환경을 관리할 수 있습니다. " + +#: ../../starting/install3/win.rst:45 +msgid "" +"A Virtual Environment is a tool to keep the dependencies required by " +"different projects in separate places, by creating virtual Python " +"environments for them. It solves the \"Project X depends on version 1.x " +"but, Project Y needs 4.x\" dilemma, and keeps your global site-packages " +"directory clean and manageable." +msgstr "" +"가상 환경은 가상 Python 환경을 만들어 서로 다른 프로젝트에 " +"필요한 디펜던시를 별도의 위치에 두는 도구입니다. " +"\"프로젝트 X는 버전 1.x에 의존하지만 프로젝트 Y는 4.x가 필요\" " +"라는 딜레마를 해결하여 글로벌 사이트 패키지 디렉토리를 깨끗하게 " +"관리할 수 ​​있도록 합니다." + +#: ../../starting/install3/win.rst:50 +msgid "" +"For example, you can work on a project which requires Django 2.0 while " +"also maintaining a project which requires Django 1.8." +msgstr "" +"예를 들어, Django 1.8이 필요한 프로젝트를 유지하면서 " +"Django 2.0이 필요한 프로젝트에서 작업할 수 있습니다." + +#: ../../starting/install3/win.rst:53 +msgid "" +"So, onward! To the :ref:`Pipenv & Virtual Environments " +"` docs!" +msgstr "" +"그러니 전진! :ref:`Pipenv & Virtual Environments " +"` 문서로!" + +#: ../../starting/install3/win.rst:57 +msgid "" +"This page is a remixed version of `another guide " +"`_, " +"which is available under the same license." +msgstr "" +"이 페이지는 동일한 라이선스 하에 있는 `다른 가이드 " +"`_ " +"의 재구성 버전입니다. " + diff --git a/docs/locale/ko/LC_MESSAGES/starting/installation.mo b/docs/locale/ko/LC_MESSAGES/starting/installation.mo new file mode 100644 index 00000000..a0fbf657 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/starting/installation.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/starting/installation.po b/docs/locale/ko/LC_MESSAGES/starting/installation.po new file mode 100644 index 00000000..a538e1ae --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/starting/installation.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon.Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../starting/installation.rst:6 +msgid "Properly Installing Python" +msgstr "올바른 파이썬 설치" + +#: ../../starting/installation.rst:10 +msgid "" +"There's a good chance that you already have Python on your operating " +"system." +msgstr "운좋게도 이미 파이썬이 당신의 운영체제에 설치되어 있을 수도 있습니다." + +#: ../../starting/installation.rst:12 +msgid "" +"If so, you do not need to install or configure anything else to use " +"Python. Having said that, I would strongly recommend that you install the" +" tools and libraries described in the guides below before you start " +"building Python applications for real-world use. In particular, you " +"should always install Setuptools, Pip, and Virtualenv — they make it much" +" easier for you to use other third-party Python libraries." +msgstr "" +"그렇다면 파이썬을 사용하기 위해 달리 설치하거나 설정을 할 필요는 없습니다. 그렇긴 해도 실제로 사용할 파이썬 어플리케이션을 만들기" +" 전에 이 안내서에서 앞으로 설명할 툴과 라이브러리들을 먼저 설치할 것을 강력 추천합니다. 특히 Setuptools, Pip, " +"Virtualenv는 반드시 설치해야 합니다. 이것들은 다른 파이썬 서드파티 라이브러리들을 사용하기 편하게 해줍니다. " + +#: ../../starting/installation.rst:19 +msgid "" +"The use of **Python 3** is *highly* preferred over Python 2. Consider " +"upgrading your applications and infrastructure if you find yourself " +"*still* using Python 2 in production today. If you are using Python 3, " +"congratulations — you are indeed a person of excellent taste. —*Kenneth " +"Reitz*" +msgstr "" +"파이썬2 대신 **파이썬3** 를 사용하실 것을 강력하게 추천드립니다. *아직도* " +" 파이썬2를 운영환경에서 사용하고 있다면 어플리케이션과 인프라스트럭쳐를 " +"업그레이드 하실 것을 고려해보세요. " +"이미 파이썬3를 사용하고 계신다면, 축하드립니다 -정말 멋진 취향을 가지신 분입니다-. " +"-*케네스 레이츠*-" + +#: ../../starting/installation.rst:24 +msgid "Installation Guides" +msgstr "설치 안내" + +#: ../../starting/installation.rst:26 +msgid "" +"These guides go over the proper installation of :ref:`Python ` for development purposes, as well as setuptools, pip and " +"virtualenv." +msgstr "" +"이 안내서는 개발을 위한 :ref:`파이썬 ` 의 적절한 설치 뿐 아니라 setuptools, " +"pip, and virtualenv의 설치도 다룹니다." + +#: ../../starting/installation.rst:30 +msgid "Python 3 Installation Guides" +msgstr "파이썬3 설치 안내" + +#: ../../starting/installation.rst:32 +msgid ":ref:`Python 3 on MacOS `." +msgstr ":ref:`MacOS에 파이썬3 설치 `." + +#: ../../starting/installation.rst:33 +msgid ":ref:`Python 3 on Windows `." +msgstr ":ref:`Windows에 파이썬3 설치 `." + +#: ../../starting/installation.rst:34 +msgid ":ref:`Python 3 on Linux `." +msgstr ":ref:`Linux에 파이썬3 설치 `." + +#: ../../starting/installation.rst:37 +msgid "Legacy Python 2 Installation Guides" +msgstr "레거시 파이썬2 설치 안내" + +#: ../../starting/installation.rst:39 +msgid ":ref:`Python 2 on MacOS `." +msgstr ":ref:`MacOS에 파이썬2 설치 `." + +#: ../../starting/installation.rst:40 +msgid ":ref:`Python 2 on Microsoft Windows `." +msgstr ":ref:`Microsoft Windows에 파이썬2 설치 `." + +#: ../../starting/installation.rst:41 +msgid ":ref:`Python 2 on Linux `." +msgstr ":ref:`Linux에 파이썬2 설치 `." + diff --git a/docs/locale/ko/LC_MESSAGES/starting/which-python.mo b/docs/locale/ko/LC_MESSAGES/starting/which-python.mo new file mode 100644 index 00000000..87f6fcb2 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/starting/which-python.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/starting/which-python.po b/docs/locale/ko/LC_MESSAGES/starting/which-python.po new file mode 100644 index 00000000..df56d5c5 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/starting/which-python.po @@ -0,0 +1,403 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../starting/which-python.rst:5 +msgid "Picking a Python Interpreter (3 vs 2)" +msgstr "파이썬 인터프리터 고르기(3 vs 2)" + +#: ../../starting/which-python.rst:14 +msgid "The State of Python (3 & 2)" +msgstr "파이썬 현황(3 & 2)" + +#: ../../starting/which-python.rst:16 +msgid "" +"When choosing a Python interpreter, one looming question is always present: " +"\"Should I choose Python 2 or Python 3\"? The answer is a bit more subtle " +"than one might think." +msgstr "" +"파이썬 인터프리터를 고를 때면 항상 한가지 문제가 떠오릅니다. \"파이썬2를 써야할까 아니면 파이썬3를 써야할까?\" 답은 생각처럼 " +"간단하지 않습니다." + +#: ../../starting/which-python.rst:21 +msgid "The basic gist of the state of things is as follows:" +msgstr "이 문제의 기본적인 요지는 다음과 같습니다." + +#: ../../starting/which-python.rst:23 +msgid "Most production applications today use Python 3." +msgstr "현재 대부분의 운영 어플리케이션들은 파이썬3을 씁니다." + +#: ../../starting/which-python.rst:24 +msgid "Python 3 is ready for the production deployment of applications today." +msgstr "파이썬3는 현재 어플리케이션 운영 배포를 위한 준비가 모두 되어 있습니다." + +#: ../../starting/which-python.rst:25 +msgid "" +"Python 2 reached the end of its life on January 1, 2020 [#pep373_eol]_." +msgstr "파이썬2는 2020년 1월 1일부로 생을 마감했습니다 [#pep373_eol]_." + +#: ../../starting/which-python.rst:26 +msgid "The brand name \"Python\" encapsulates both Python 3 and Python 2." +msgstr "\"Python\" 이라는 브랜드명은 파이썬3와 2를 모두 포함합니다." + +#: ../../starting/which-python.rst:31 +msgid "Recommendations" +msgstr "추천" + +#: ../../starting/which-python.rst:34 +msgid "" +"The use of **Python 3** is *highly* recommended over Python 2. Consider " +"upgrading your applications and infrastructure if you find yourself *still* " +"using Python 2 in production today. If you are using Python 3, " +"congratulations — you are indeed a person of excellent taste. —*Kenneth " +"Reitz*" +msgstr "" +"파이썬2 대신 **파이썬3** 의 사용을 *강력* 추천합니다. *아직도* 파이썬2를 운영 환경에서 사용하고 있다면, 당신의 어플리케이션과" +" 인프라스트럭쳐를 업그레이드 하는 것을 고려해보세요. 이미 파이썬3를 사용하고 있다면, 축하드립니다. 당신은 훌륭한 취향을 가진 " +"사람이에요. —*케네스 레이츠*" + +#: ../../starting/which-python.rst:37 +msgid "I'll be blunt:" +msgstr "단도직입적으로 말하겠습니다." + +#: ../../starting/which-python.rst:39 +msgid "Use Python 3 for new Python applications." +msgstr "새 파이썬 어플리케이션에는 파이썬3를 쓰세요." + +#: ../../starting/which-python.rst:40 +msgid "" +"If you're learning Python for the first time, familiarizing yourself with " +"Python 2.7 will be very useful, but not more useful than learning Python 3." +msgstr "" +"파이썬을 처음 배우는 분이시라면, 파이썬2.7에 익숙해지는 것은 아주 유용합니다. 하지만 파이썬3를 배우는 데에는 더이상 유용하지 " +"않습니다." + +#: ../../starting/which-python.rst:42 +msgid "Learn both. They are both \"Python\"." +msgstr "둘 다 배우세요. 둘 다 \"파이썬\" 입니다. " + +#: ../../starting/which-python.rst:47 +msgid "So.... 3?" +msgstr "그러면.... 3?" + +#: ../../starting/which-python.rst:49 +msgid "" +"If you're choosing a Python interpreter to use, I recommend you use the " +"newest Python 3.x, since every version brings new and improved standard " +"library modules, security and bug fixes." +msgstr "" +"파이썬 인터프리터를 고르는 중이라면, 그리고 따로 생각이 있는게 아니라면, 최신 버젼의 파이썬3.x 사용을 추천합니다. 모든 버젼이 " +"새롭고 향상된 표준 라이브러리 모듈과 보안, 그리고 버그 수정을 제공하고 있기 때문입니다. " + +#: ../../starting/which-python.rst:53 +msgid "" +"Given such, only use Python 2 if you have a strong reason to, such as a pre-" +"existing code-base, a Python 2 exclusive library, simplicity/familiarity, " +"or, of course, you absolutely love and are inspired by Python 2. No harm in " +"that." +msgstr "" +"그러하니 파이썬2를 써야만 하는 중요한 이유가 있는 게 아니라면, 그러니까 코드 베이스가 이미 있다거나, 파이썬2에서만 돌아가는 " +"라이브러리가 있다거나, 단순성과 친숙함 때문이거나, 파이썬2를 절대적으로 사랑하거나 파이썬2에 감동받았다거나 하는 이유 때문이라면 " +"파이썬2를 쓰셔도 됩니다. 해롭지 않아요." + +#: ../../starting/which-python.rst:58 +msgid "`Further Reading `_" +msgstr "`더 읽을 거리 `_" + +#: ../../starting/which-python.rst:60 +msgid "" +"It is possible to `write code that works on Python 2.6, 2.7, and Python 3 " +"`_. This ranges from trivial" +" to hard depending upon the kind of software you are writing; if you're a " +"beginner there are far more important things to worry about." +msgstr "" +"파이썬 2.6, 2.7, 3에서 모두 돌아가는 코드를 작성하는 것도 `가능합니다 " +"`_. 이 안내서는 사소한" +" 것들로부터 시작해 당신이 작성하고 있는 소프트웨어의 종류에 따른 어려운 문제까지 다루고 있습니다. 초보자라면 반드시 신경써야할 대단히 " +"중요한 사항들도 있습니다." + +#: ../../starting/which-python.rst:69 +msgid "Implementations" +msgstr "구현" + +#: ../../starting/which-python.rst:71 +msgid "" +"When people speak of *Python* they often mean not just the language but also" +" the CPython implementation. *Python* is actually a specification for a " +"language that can be implemented in many different ways." +msgstr "" +"사람들이 파이썬을 이야기할 때는 *파이썬* 뿐만 아니라 CPython 구현을 의미할 때가 많습니다. *파이썬* 은 실제로 다양한 방법으로" +" 구현될 수 있는 언어를 위한 명세서입니다." + +#: ../../starting/which-python.rst:76 +msgid "CPython" +msgstr "CPython" + +#: ../../starting/which-python.rst:78 +msgid "" +"`CPython `_ is the reference implementation of " +"Python, written in C. It compiles Python code to intermediate bytecode which" +" is then interpreted by a virtual machine. CPython provides the highest " +"level of compatibility with Python packages and C extension modules." +msgstr "" +"`CPython `_ 은 C로 작성된 파이썬 구현의 리퍼런스로서, 파이썬 코드를 가상 머신에 " +"의해 해석되는 중간 바이트코드로 컴파일합니다. CPython은 파이썬 패키지와 C언어의 확장 모듈간에 최고 레벨의 호환성을 제공합니다. " + +#: ../../starting/which-python.rst:83 +msgid "" +"If you are writing open source Python code and want to reach the widest " +"possible audience, targeting CPython is best. To use packages which rely on " +"C extensions to function, CPython is your only implementation option." +msgstr "" +"오픈 소스 파이썬 코드를 작성 중이고 폭넓은 사용자 기반을 갖고 싶다면 CPython이 최고입니다. C언어 확장 기능을 쓰는 패키지를 " +"사용하려면 CPython이 유일한 구현 방법입니다." + +#: ../../starting/which-python.rst:87 +msgid "" +"All versions of the Python language are implemented in C because CPython is " +"the reference implementation." +msgstr "파이선 언어의 모든 버전은 C언어로 구현됩니다. CPython이 파이썬 구현의 리퍼런스이기 때문입니다." + +#: ../../starting/which-python.rst:91 +msgid "PyPy" +msgstr "PyPy" + +#: ../../starting/which-python.rst:93 +msgid "" +"`PyPy `_ is a Python interpreter implemented in a " +"restricted statically-typed subset of the Python language called RPython. " +"The interpreter features a just-in-time compiler and supports multiple back-" +"ends (C, CLI, JVM)." +msgstr "" +"`PyPy `_ 는 파이썬 언어의 정적 타입으로만 구현된 파이썬 인터프리터로서 통칭 RPython이라 " +"불립니다. 이 인터프리터의 특징은 just-in-time 컴파일러와 복수의 백엔드(C, CLI, JVM)를 지원한다는 것입니다." + +#: ../../starting/which-python.rst:97 +msgid "" +"PyPy aims for maximum compatibility with the reference CPython " +"implementation while improving performance." +msgstr "" +"PyPy의 목표는 파이썬의 리퍼런스 구현 방법인 CPython과 최대한의 호환성을 유지하는 동시에 그 성능을 향상시키는 것입니다. " + +#: ../../starting/which-python.rst:100 +msgid "" +"If you are looking to increase performance of your Python code, it's worth " +"giving PyPy a try. On a suite of benchmarks, it's currently `over 5 times " +"faster than CPython `_." +msgstr "" +"만약 파이썬 코드의 성능을 향상시키고자 한다면, PyPy은 한 번 써볼만한 가치가 있습니다. 벤치마크에서 PyPy는 CPython보다 " +"`5배나 빨랐습니다 `_." + +#: ../../starting/which-python.rst:104 +msgid "" +"PyPy supports Python 2.7. PyPy3 [#pypy_ver]_, released in beta, targets " +"Python 3." +msgstr "PyPy는 파이썬2.7을 지원합니다. 베타로 나온 PyPy3 [#pypy_ver]_,는 파이썬3를 지원합니다." + +#: ../../starting/which-python.rst:107 +msgid "Jython" +msgstr "Jython" + +#: ../../starting/which-python.rst:109 +msgid "" +"`Jython `_ is a Python implementation that compiles " +"Python code to Java bytecode which is then executed by the JVM (Java Virtual" +" Machine). Additionally, it is able to import and use any Java class like a " +"Python module." +msgstr "" +"`Jython `_ 은 파이썬 코드를 자바 바이트코드로 만들어 JVM(자바 가상 머신)에서 " +"실행시키는 파이썬 구현입니다. 뿐만 아니라 Jython은 자바 클래스를 파이썬 모듈처럼 불러와서 사용할 수 있습니다." + +#: ../../starting/which-python.rst:114 +msgid "" +"If you need to interface with an existing Java codebase or have other " +"reasons to need to write Python code for the JVM, Jython is the best choice." +msgstr "" +"자바 코드베이스를 끌어다 쓸 필요가 있거나 파이썬 코드를 JVM에서 돌릴 필요가 있다면, Jython은 최고의 선택이 될 것입니다." + +#: ../../starting/which-python.rst:117 +msgid "Jython currently supports up to Python 2.7. [#jython_ver]_" +msgstr "Jython은 현재 파이썬 2.7까지 지원합니다. [#jython_ver]_" + +#: ../../starting/which-python.rst:120 +msgid "IronPython" +msgstr "IronPython" + +#: ../../starting/which-python.rst:122 +msgid "" +"`IronPython `_ is an implementation of Python for " +"the .NET framework. It can use both Python and .NET framework libraries, and" +" can also expose Python code to other languages in the .NET framework." +msgstr "" +"`IronPython `_ 은 닷넷 프레임워크를 위한 파이썬 구현입니다. 파이썬과 닷넷 " +"프레임워크 라이브러리 둘 다 쓸 수 있고, 파이썬 코드를 닷넷 프레임워크의 다른 언어로 바꿀 수 있습니다. " + +#: ../../starting/which-python.rst:126 +msgid "" +"`Python Tools for Visual Studio `_ integrates " +"IronPython directly into the Visual Studio development environment, making " +"it an ideal choice for Windows developers." +msgstr "" +"`Python Tools for Visual Studio `_ 는 " +"IronPython을 직접 비쥬얼 스튜디오 개발 환경으로 통합할 수 있습니다. 이는 Windows 개발자들에게 좋은 선택입니다." + +#: ../../starting/which-python.rst:130 +msgid "" +"IronPython supports Python 2.7. [#iron_ver]_ IronPython 3 [#iron_ver3]_ is " +"being developed, but is not ready for use as of September 2020." +msgstr "" +"IronPython은 파이썬2.7을 지원합니다. [#iron_ver]_ IronPython 3 [#iron_ver3]_ 는개발 중입니다." +" 하지만 2020년 9월까지는 사용 불가입니다." + +#: ../../starting/which-python.rst:134 +msgid "PythonNet" +msgstr "PythonNet" + +#: ../../starting/which-python.rst:136 +msgid "" +"`Python for .NET `_ is a package which provides" +" near seamless integration of a natively installed Python installation with " +"the .NET Common Language Runtime (CLR). This is the inverse approach to " +"that taken by IronPython (see above), to which it is more complementary than" +" competing with." +msgstr "" +"`Python for .NET `_ 은 순정 버젼의 파이썬 설치본과 닷넷 공통 언어 " +"런타임(CLR)을 말끔하게 통합시켜주는 패키지입니다. 이는 위의 IronPython이 취한 방식을 역으로 접근한 것으로, 보다 상호 " +"보완적입니다." + +#: ../../starting/which-python.rst:142 +msgid "" +"In conjunction with Mono, pythonnet enables native Python installations on " +"non-Windows operating systems, such as OS X and Linux, to operate within the" +" .NET framework. It can be run in addition to IronPython without conflict." +msgstr "" +"Mono와 함께 사용하면 pythonnet OS X와 리눅스처럼 비Windows 운영체제에 설치된 순정 버젼의 파이썬을 닷넷 프레임워크 " +"안에서 수행될 수 있도록 해줍니다. IronPython과 같이 사용해도 충돌하지 않습니다." + +#: ../../starting/which-python.rst:147 +msgid "" +"Pythonnet is compatible with Python 2.7 and 3.5-3.8. [#pythonnet_ver1]_" +msgstr "Pythonnet은 파이썬2.7과 3.5-3.8 버전과 호환됩니다. [#pythonnet_ver1]_" + +#: ../../starting/which-python.rst:149 +msgid "https://pypy.org/compat.html" +msgstr "https://pypy.org/compat.html" + +#: ../../starting/which-python.rst:151 +msgid "https://hg.python.org/jython/file/412a8f9445f7/NEWS" +msgstr "https://hg.python.org/jython/file/412a8f9445f7/NEWS" + +#: ../../starting/which-python.rst:153 +msgid "https://ironpython.net/download/" +msgstr "https://ironpython.net/download/" + +#: ../../starting/which-python.rst:155 +msgid "https://github.com/IronLanguages/ironpython3" +msgstr "https://github.com/IronLanguages/ironpython3" + +#: ../../starting/which-python.rst:157 +msgid "https://pythonnet.github.io/" +msgstr "https://pythonnet.github.io/" + +#: ../../starting/which-python.rst:159 +msgid "https://www.python.org/dev/peps/pep-0373/#id2" +msgstr "https://www.python.org/dev/peps/pep-0373/#id2" + +#~ msgid "Python 2.7 has been the standard for a *long* time." +#~ msgstr "파이썬2.7이 *오랫동안* 표준이었다." + +#~ msgid "" +#~ "Python 3 introduced major changes to the language, which many developers are" +#~ " unhappy with." +#~ msgstr "파이썬3에 있었던 상당한 변화 때문에 파이썬3를 좋아하지 않는 개발자들이 많다." + +#~ msgid "" +#~ "Python 2.7 will receive necessary security updates until 2020 " +#~ "[#pep373_eol]_." +#~ msgstr "파이썬2.7은 2020년까지는 필수 보안 업데이트를 받을 것이다. [#pep373_eol]_." + +#~ msgid "Python 3 is continually evolving, like Python 2 did in years past." +#~ msgstr "파이썬3는 파이썬2가 지난 몇 년간 그랬던 것처럼 계속 진화하고 있다." + +#~ msgid "So, you can now see why this is not such an easy decision." +#~ msgstr "이제 왜 이 문제가 쉽지 않은지 알 수 있을 것입니다." + +#~ msgid "**Use Python 3 if...**" +#~ msgstr "**이런 경우에는 파이썬3를...**" + +#~ msgid "You don't care." +#~ msgstr "아무렴 어때." + +#~ msgid "You love Python 3." +#~ msgstr "나는 파이썬3를 사랑해." + +#~ msgid "You are indifferent towards 2 vs 3." +#~ msgstr "2건 3건 상관없다." + +#~ msgid "You don't know which one to use." +#~ msgstr "어떤 것을 써야할지 모르겠다." + +#~ msgid "You embrace change." +#~ msgstr "변화를 받아들이겠다." + +#~ msgid "**Use Python 2 if...**" +#~ msgstr "**이런 경우에는 파이썬2를...**" + +#~ msgid "You love Python 2 and are saddened by the future being Python 3." +#~ msgstr "파이썬2를 사랑하고 파이썬3의 미래에 대해 비관적일 때." + +#~ msgid "" +#~ "The stability requirements of your software would be improved by a language " +#~ "and runtime that never changes." +#~ msgstr "절대 변하지 않는 언어와 런타임으로 소프트웨어의 안정성을 향상시키겠다." + +#~ msgid "Software that you depend on requires it." +#~ msgstr "사용하는 소프트웨어가 파이썬2를 사용한다면." + +#~ msgid "" +#~ "Given such, only use Python 2 if you have a strong reason to, such as a " +#~ "Python 2 exclusive library which has no adequate Python 3 ready alternative," +#~ " or you (like me) absolutely love and are inspired by Python 2." +#~ msgstr "" +#~ "하지만 파이썬3에서는 적절히 쓸 수 있는 다른 대안이 없고, 오로지 파이썬2에서만 돌아가는 라이브러리라든가 아니면 파이썬 2를 너무나도 " +#~ "사랑한다면(나처럼), 파이썬2를 사용할 수밖에 없을 것입니다." + +#~ msgid "" +#~ "Check out `Can I Use Python 3? `_ to see if any" +#~ " software you're depending on will block your adoption of Python 3." +#~ msgstr "" +#~ "`Can I Use Python 3? `_ 에서 확인해보시면, 당신이 사용 중인 " +#~ "소프트웨어가 파이썬3를 사용할 수 없게 만드는 장애물이 있지 않은가 알 수 있습니다. " + +#~ msgid "IronPython supports Python 2.7. [#iron_ver]_" +#~ msgstr "IronPython은 파이썬 2.7을 지원합니다. [#iron_ver]_" + +#~ msgid "" +#~ "Pythonnet supports from Python 2.6 up to Python 3.5. [#pythonnet_ver1]_ " +#~ "[#pythonnet_ver2]_" +#~ msgstr "Pythonnet은 파이썬 2.3부터 2.7버젼까지 지원합니다. [#pythonnet_ver]_" + +#~ msgid "http://ironpython.codeplex.com/releases/view/81726" +#~ msgstr "http://ironpython.codeplex.com/releases/view/81726" + +#~ msgid "https://ci.appveyor.com/project/TonyRoberts/pythonnet-480xs" +#~ msgstr "https://ci.appveyor.com/project/TonyRoberts/pythonnet-480xs" diff --git a/docs/locale/ko/LC_MESSAGES/writing/documentation.mo b/docs/locale/ko/LC_MESSAGES/writing/documentation.mo new file mode 100644 index 00000000..ceeff086 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/writing/documentation.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/writing/documentation.po b/docs/locale/ko/LC_MESSAGES/writing/documentation.po new file mode 100644 index 00000000..6bd98b52 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/writing/documentation.po @@ -0,0 +1,443 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../writing/documentation.rst:5 +msgid "Documentation" +msgstr "문서화" + +#: ../../writing/documentation.rst:9 +msgid "" +"Readability is a primary focus for Python developers, in both project and " +"code documentation. Following some simple best practices can save both you " +"and others a lot of time." +msgstr "" +"가독성은 파이썬 개발자의 기본적인 관심사입니다. 이는 프로젝트와 코드 문서화 모두 해당됩니다. 몇 가지 간단한 우수 사례를 따라해봅시다." +" 당신 뿐 아니라 다른 모두의 시간을 절약해줄 것입니다. " + +#: ../../writing/documentation.rst:16 +msgid "Project Documentation" +msgstr "프로젝트 문서화" + +#: ../../writing/documentation.rst:18 +msgid "" +"A :file:`README` file at the root directory should give general information " +"to both users and maintainers of a project. It should be raw text or written" +" in some very easy to read markup, such as :ref:`reStructuredText-ref` or " +"Markdown. It should contain a few lines explaining the purpose of the " +"project or library (without assuming the user knows anything about the " +"project), the URL of the main source for the software, and some basic credit" +" information. This file is the main entry point for readers of the code." +msgstr "" +"최상위 디렉토리의 :file:`README` 파일에는 해당 프로젝트의 사용자와 유지보수 담당자 모두에게 도움이 되는 일반적인 정보가 " +"있어야 합니다. 순수한 텍스트로 작성하시거나, 읽기 아주 쉬운 마크업 문서로 작성하세요. :ref:`reStructuredText-" +"ref` 나 마크다운 같은 것이면 됩니다. 여기에는 반드시 프로젝트나 라이브러리(사용자가 이 프로젝트의 모든 것을 알고 있을거라고 " +"생각하면 안됩니다)의 목적을 설명하는 몇 줄의 글, 소프트웨어를 위한 주요 소스의 URL, 몇 가지 기본적인 신용 정보를 포함해야 " +"합니다. " + +#: ../../writing/documentation.rst:26 +msgid "" +"An :file:`INSTALL` file is less necessary with Python. The installation " +"instructions are often reduced to one command, such as ``pip install " +"module`` or ``python setup.py install``, and added to the :file:`README` " +"file." +msgstr "" +":file:`INSTALL` 파일은 파이썬에서는 필수적이지는 않습니다. 설치 명령어는 ``pip install module`` 이나 " +"``python setup.py install`` 같이 한 줄의 커맨드 명령어로 끝난 후, :file:`README` 파일에 추가되는 " +"경우가 많습니다. " + +#: ../../writing/documentation.rst:31 +msgid "" +"A :file:`LICENSE` file should *always* be present and specify the license " +"under which the software is made available to the public." +msgstr "" +":file:`LICENSE` 파일은 *반드시* 있어야만 합니다. 그리고 소프트웨어가 공개 가능한지 여부를 명시하는 라이선스를 명시해야 " +"합니다. " + +#: ../../writing/documentation.rst:34 +msgid "" +"A :file:`TODO` file or a ``TODO`` section in :file:`README` should list the " +"planned development for the code." +msgstr "" +":file:`README` 안의 :file:`TODO` 파일이나 ``TODO`` 섹션에는 개발할 코드의 목록을 나열해야 합니다. " + +#: ../../writing/documentation.rst:37 +msgid "" +"A :file:`CHANGELOG` file or section in :file:`README` should compile a short" +" overview of the changes in the code base for the latest versions." +msgstr "" +":file:`CHANGELOG` 파일이나 :file:`README` 안의 섹션에는 반드시 최신 버전의 코드에서 일어난 변화에 대하여 " +"개략적인 소개가 있어야 합니다. " + +#: ../../writing/documentation.rst:43 +msgid "Project Publication" +msgstr "프로젝트 발표" + +#: ../../writing/documentation.rst:45 +msgid "" +"Depending on the project, your documentation might include some or all of " +"the following components:" +msgstr "프로젝트에 따라서 당신의 문서는 아래의 것들 중 몇 개를 포함하거나, 혹은 전부를 포함할 것입니다. " + +#: ../../writing/documentation.rst:48 +msgid "" +"An *introduction* should give a very short overview of what can be done with" +" the product, using one or two extremely simplified use cases. This is the " +"thirty-second pitch for your project." +msgstr "" +"*소개(introduction)* 은 하나나 두개의 아주 간단한 유즈케이스를 사용하여 이 프로젝트가 무엇을 할 수 있는지 간략하게 " +"보여주어야 합니다. 이것이 당신의 프로젝트를 위한 30초 홍보입니다. " + +#: ../../writing/documentation.rst:52 +msgid "" +"A *tutorial* should show some primary use cases in more detail. The reader " +"will follow a step-by-step procedure to set-up a working prototype." +msgstr "" +"*튜토리얼(tutorial)* 은 몇 가지 기본적인 유즈케이스를 좀 더 자세히 보여주어야 합니다. 읽는 이는 하나 하나씩 따라가며 실제 " +"동작하는 프로토타입을 만들 것입니다. " + +#: ../../writing/documentation.rst:55 +msgid "" +"An *API reference* is typically generated from the code (see " +":ref:`docstrings `). It will list all publicly available " +"interfaces, parameters, and return values." +msgstr "" +"*API 레퍼런스(reference)* 는 보통 코드에서 생성됩니다(:ref:`docstrings ` 를 " +"보세요). 공개적으로 가능한 모든 인터페이스, 파라미터, 리턴값을 보여주어야 합니다. " + +#: ../../writing/documentation.rst:59 +msgid "" +"*Developer documentation* is intended for potential contributors. This can " +"include code convention and general design strategy of the project." +msgstr "" +"*개발자 문서(Developer documentation)* 는 잠재적인 기여자(contributors)를 위한 것입니다. 여기에는 코딩" +" 규약(code convention)과 프로젝트의 일반적인 디자인 전략을 담을 수 있습니다. " + +#: ../../writing/documentation.rst:65 +msgid "Sphinx" +msgstr "스핑크스(Sphinx)" + +#: ../../writing/documentation.rst:67 +msgid "" +"Sphinx_ is far and away the most popular Python documentation tool. **Use " +"it.** It converts :ref:`restructuredtext-ref` markup language into a range " +"of output formats including HTML, LaTeX (for printable PDF versions), manual" +" pages, and plain text." +msgstr "" +"Sphinx_ 는 단연코 가장 유명한 파이썬 문서화 도구입니다. **쓰세요.**:ref:`restructuredtext-ref` 마크업 " +"언어를 HTML, LaTeX(인쇄 가능한 PDF 버전), 매뉴얼 페이지, 일반 텍스트 등의 포맷으로 바꿔줍니다. " + +#: ../../writing/documentation.rst:72 +msgid "" +"There is also **great**, **free** hosting for your Sphinx_ docs: `Read The " +"Docs`_. Use it. You can configure it with commit hooks to your source " +"repository so that rebuilding your documentation will happen automatically." +msgstr "" +"뿐만 아니라 Sphinx_ 문서를 위한 **훌륭하면서도**, **무료인** 호스팅 서비스가 있습니다: `Read The Docs`_ " +"입니다. 쓰세요. 소스 저장소에 커밋 후크를 걸어두면 문서를 자동으로 빌드하도록 설정할 수 있습니다. " + +#: ../../writing/documentation.rst:77 +msgid "" +"When run, Sphinx_ will import your code and using Python's introspection " +"features it will extract all function, method, and class signatures. It will" +" also extract the accompanying docstrings, and compile it all into well " +"structured and easily readable documentation for your project." +msgstr "" +"실행되면 Sphinx_ 는 당신의 코드를 불러옵니다. 그리고 파이썬의 introspection 기능을 사용하여 모든 함수와 메소드, " +"클래스 시그니처를 끄집어냅니다. 뿐만 아니라 코드에 딸려있는 독스트링(Docstrings)도 불러와서 당신의 프로젝트를 위해 잘 " +"구조화되고 읽기 쉬운 문서로 모조리 컴파일합니다." + +#: ../../writing/documentation.rst:84 +msgid "" +"Sphinx is famous for its API generation, but it also works well for general " +"project documentation. This Guide is built with Sphinx_ and is hosted on " +"`Read The Docs`_" +msgstr "" +"Sphinx는 API 생성기로도 유명하지만, 일반적인 프로젝트 문서화로도 잘 작동합니다. 이 안내서는 Sphinx_ 로 빌드되었고, " +"`Read The Docs`_ 로 호스팅되었습니다. " + +#: ../../writing/documentation.rst:94 +msgid "reStructuredText" +msgstr "reStructuredText" + +#: ../../writing/documentation.rst:96 +msgid "" +"Most Python documentation is written with reStructuredText_. It's like " +"Markdown, but with all the optional extensions built in." +msgstr "" +"대부분의 파이썬 문서는 reStructuredText_ 로 작성됩니다. reStructuredText는 모든 추가 기능을 포함하고 있는 " +"마크다운과 비슷합니다. " + +#: ../../writing/documentation.rst:99 +msgid "" +"The `reStructuredText Primer`_ and the `reStructuredText Quick Reference`_ " +"should help you familiarize yourself with its syntax." +msgstr "" +"`reStructuredText Primer`_ 와 `reStructuredText Quick Reference`_ " +"가reStructuredText의 문법에 익숙해지는데 큰 도움을 줄 것입니다. " + +#: ../../writing/documentation.rst:109 +msgid "Code Documentation Advice" +msgstr "코드 문서에 대한 조언" + +#: ../../writing/documentation.rst:111 +msgid "" +"Comments clarify the code and they are added with purpose of making the code" +" easier to understand. In Python, comments begin with a hash (number sign) " +"(``#``)." +msgstr "" +"주석은 코드를 명확하게 합니다. 그리고 코드를 이해하기 쉽도록 하고자 덧붙여집니다. 파이썬에서는 주석이 해시 (숫자 표시) (#)로 " +"시작됩니다. " + +#: ../../writing/documentation.rst:117 +msgid "In Python, *docstrings* describe modules, classes, and functions:" +msgstr "파이썬에서는 *독스트링(docstrings)* 이 모듈, 클래스, 함수를 설명합니다. " + +#: ../../writing/documentation.rst:125 +msgid "" +"In general, follow the comment section of :pep:`8#comments` (the \"Python " +"Style Guide\"). More information about docstrings can be found at " +":pep:`0257#specification` (The Docstring Conventions Guide)." +msgstr "" +"보통 :pep:`8#comments` (the \"파이썬 스타일 안내서(Python Style Guide)\")의 주석 섹션대로 " +"따라하시면 됩니다. :pep:`0257#specification` (The Docstring Conventions Guide)에서 " +"독스트링에 대한 더 많은 정보를 볼 수 있습니다. " + +#: ../../writing/documentation.rst:129 +msgid "Commenting Sections of Code" +msgstr "코드를 주석 처리하기" + +#: ../../writing/documentation.rst:131 +msgid "" +"*Do not use triple-quote strings to comment code*. This is not a good " +"practice, because line-oriented command-line tools such as grep will not be " +"aware that the commented code is inactive. It is better to add hashes at the" +" proper indentation level for every commented line. Your editor probably has" +" the ability to do this easily, and it is worth learning the " +"comment/uncomment toggle." +msgstr "" +"*세따옴표를 코드의 주석 처리에 쓰지 마세요*. 좋은 습관이 아닙니다. grep처럼 라인 기반 커맨드 라인 도구는 주석 처리된 코드가 " +"비활성화되었는지를 인식하지 못합니다. 주석 처리할 모든 줄의 적당히 들여쓴 위치에다 해시를 붙이는 편이 좋습니다. 에디터에 이런 작업을 " +"쉽게 해주는 기능이 있을 것입니다. 주석 처리/해제하는 단축키를 배울 필요가 있습니다. " + +#: ../../writing/documentation.rst:139 +msgid "Docstrings and Magic" +msgstr "독스트링(Docstrings)과 마법" + +#: ../../writing/documentation.rst:141 +msgid "" +"Some tools use docstrings to embed more-than-documentation behavior, such as" +" unit test logic. Those can be nice, but you won't ever go wrong with " +"vanilla \"here's what this does.\"" +msgstr "" +"어떤 도구는 단위 테스트 로직처럼 문서 이상의 동작을 시키기 위해 독스트링을 이용합니다. 이런 도구들은 멋지지만, 절대 고장나지 " +"않습니다. \"이렇게 동작할거야.\" 같은 역할을 할 뿐입니다. " + +#: ../../writing/documentation.rst:145 +msgid "" +"Tools like Sphinx_ will parse your docstrings as reStructuredText and render" +" it correctly as HTML. This makes it very easy to embed snippets of example " +"code in a project's documentation." +msgstr "" +"Sphinx_ 같은 툴은 당신의 독스트링을 reStructuredText로 파싱해서 HTML로 정확히 만들어줍니다. 이 방법은 프로젝트 " +"문서에 예제 코드의 스니펫을 아주 간단히 집어넣을 수 있도록 해줍니다. " + +#: ../../writing/documentation.rst:149 +msgid "" +"Additionally, Doctest_ will read all embedded docstrings that look like " +"input from the Python commandline (prefixed with \">>>\") and run them, " +"checking to see if the output of the command matches the text on the " +"following line. This allows developers to embed real examples and usage of " +"functions alongside their source code. As a side effect, it also ensures " +"that their code is tested and works." +msgstr "" +"추가로 Doctest_ 는 파이썬 커맨드라인에서 삽입된 것 같은 모양(\">>>\" 가 앞에 붙음)의 모든 독스트링을 읽어 실행하고, " +"결과값이 그 다음 줄에 쓰여진 것과 일치하는지 여부를 검사합니다. 이렇게해서 개발자는 그들의 소스 코드 옆에 실제 예시와 함수의 사용예를" +" 삽입할 수 있습니다. 추가적인 효과로는 이 코드는 테스트 되었으며 잘 돌아감을 확인할 수 있습니다. " + +#: ../../writing/documentation.rst:170 +msgid "Docstrings versus Block comments" +msgstr "독스트링(Docstrings) 대 블록 주석" + +#: ../../writing/documentation.rst:172 +msgid "" +"These aren't interchangeable. For a function or class, the leading comment " +"block is a programmer's note. The docstring describes the *operation* of the" +" function or class:" +msgstr "" +"독스트링(Docstrings)과 블록 주석은 서로 바꿔쓸 수 없습니다. 함수나 클래스에서 맨 앞줄의 주석 블록은 개발자의 메모로 " +"쓰입니다. 독스트링은 함수나 클래스의 *동작* 을 나타냅니다. " + +#: ../../writing/documentation.rst:183 +msgid "" +"Unlike block comments, docstrings are built into the Python language itself." +" This means you can use all of Python's powerful introspection capabilities " +"to access docstrings at runtime, compared with comments which are optimized " +"out. Docstrings are accessible from both the `__doc__` dunder attribute for " +"almost every Python object, as well as with the built in `help()` function." +msgstr "" +"블록 주석과 달리 독스트링은 파이썬 언어 자체에 들어가 있습니다. 즉 최적화 단계에서 빼져버리는 주석과는 달리 런타임 중에도 파이썬의 " +"강력한 내부 기능을 사용하여 독스트링에 접근할 수 있다는 뜻입니다. 독스트링은 거의 모든 파이썬 오브젝트에 있는 속성인 `__doc__`" +" 뿐만 아니라 파이썬에 내장된 `help()` 함수를 사용하여 접근할 수 있습니다. " + +#: ../../writing/documentation.rst:189 +msgid "" +"While block comments are usually used to explain *what* a section of code is" +" doing, or the specifics of an algorithm, docstrings are more intended " +"towards explaining other users of your code (or you in 6 months time) *how* " +"a particular function can be used and the general purpose of a function, " +"class, or module." +msgstr "" +"블럭 주석이 일반적으로 코드의 해당 부분이 *무슨* 일을 하는지나 알고리즘의 명세를 설명하는데 쓰이는 반면, 독스트링은 다른 사용자(혹은" +" 6개월 후의 당신)에게 특정한 함수가 *어떻게* 쓰이며 함수, 클래스, 모듈의 일반적인 목적이 무엇인지를 알려주기 위해 작성됩니다." + +#: ../../writing/documentation.rst:196 +msgid "Writing Docstrings" +msgstr "독스트링(Docstrings) 작성" + +#: ../../writing/documentation.rst:198 +msgid "" +"Depending on the complexity of the function, method, or class being written," +" a one-line docstring may be perfectly appropriate. These are generally used" +" for really obvious cases, such as::" +msgstr "" +"작성한 함수, 메서드, 클래스가 얼마나 복잡한지에 따라 다르겠지만 단 1줄의 독스트링이 가장 적절할 것입니다. 다음은 흔히 쓰이면서도 " +"아주 분명한 예시입니다:" + +#: ../../writing/documentation.rst:206 +msgid "" +"The docstring should describe the function in a way that is easy to " +"understand. For simple cases like trivial functions and classes, simply " +"embedding the function's signature (i.e. `add(a, b) -> result`) in the " +"docstring is unnecessary. This is because with Python's `inspect` module, it" +" is already quite easy to find this information if needed, and it is also " +"readily available by reading the source code." +msgstr "" +"독스트링은 이해하기 쉬운 방법으로 함수를 설명해야 합니다. 별 것도 아닌 함수나 클래스나 간단한 함수 구문(예를 들면 `add(a, b)" +" -> result`) 에서는 독스트링이 필요하지 않습니다. 파이썬의 `inspect` 모듈이 이미 있기에 필요시 아주 빠르게 원하는 " +"정보를 찾을 수 있고 소스 코드도 손쉽게 읽을 수 있기 때문입니다. " + +#: ../../writing/documentation.rst:213 +msgid "" +"In larger or more complex projects however, it is often a good idea to give " +"more information about a function, what it does, any exceptions it may " +"raise, what it returns, or relevant details about the parameters." +msgstr "" +"하지만 더 크고 복잡한 프로젝트라면 함수 정보, 이게 뭘 하는지, 어떤 예외를 발생시키는지, 무엇을 반환하는지, 파라미터에 관한 연관 " +"정보에 대하여 더 많이 설명하는 편이 좋은 경우도 많습니다. " + +#: ../../writing/documentation.rst:217 +msgid "" +"For more detailed documentation of code a popular style used, is the one " +"used by the NumPy project, often called `NumPy style`_ docstrings. While it " +"can take up more lines than the previous example, it allows the developer to" +" include a lot more information about a method, function, or class. ::" +msgstr "" +"코드 문서를 더 상세히 작성하고 싶은 경우, 가장 인기있는 스타일은 Numpy 프로젝트에서 쓰인 이른바 `Numpy style`_ " +"독스트링입니다. 앞선 예제보다 줄 수가 더 많이 필요할 수 있지만, 이 스타일을 쓰면 개발자는 메소드, 함수, 클래스에 대한 더 많은 " +"정보를 추가할 수 있습니다. ::" + +#: ../../writing/documentation.rst:243 +msgid "" +"The `sphinx.ext.napoleon`_ plugin allows Sphinx to parse this style of " +"docstrings, making it easy to incorporate NumPy style docstrings into your " +"project." +msgstr "" +"스핑크스에 `sphinx.ext.napoleon`_ 플러그인을 추가하면 이러한 스타일의 독스트링을 파싱하여 NumPy 스타일의 독스트링을" +" 당신의 프로젝트에 집어넣기 쉽게 해줍니다. " + +#: ../../writing/documentation.rst:247 +msgid "" +"At the end of the day, it doesn't really matter what style is used for " +"writing docstrings; their purpose is to serve as documentation for anyone " +"who may need to read or make changes to your code. As long as it is correct," +" understandable, and gets the relevant points across then it has done the " +"job it was designed to do." +msgstr "" +"결국 독스트링을 어떤 스타일로 작성하느냐는 그리 중요하지 않습니다. 독스트링의 목적은 당신의 코드를 읽거나 수정해야 할 누군가를 위한 " +"문서로 기능하는 것입니다. 정확하고 이해하기 쉬우며 관련 핵심을 전달하는 한, 독스트링은 본래 설계된 역할을 다한 것입니다." + +#: ../../writing/documentation.rst:254 +msgid "For further reading on docstrings, feel free to consult :pep:`257`" +msgstr "독스트링에 대하여 더 많이 읽고 싶다면 가벼운 마음으로 :pep:`257` 와 상의하세요. " + +#: ../../writing/documentation.rst:263 +msgid "Other Tools" +msgstr "다른 도구" + +#: ../../writing/documentation.rst:265 +msgid "You might see these in the wild. Use :ref:`sphinx-ref`." +msgstr "황야에 외롭게 서 있는 도구들도 있습니다. 그냥 :ref:`sphinx-ref` 쓰세요. " + +#: ../../writing/documentation.rst:270 +msgid "Pycco_" +msgstr "Pycco_" + +#: ../../writing/documentation.rst:268 +msgid "" +"Pycco is a \"literate-programming-style documentation generator\" and is a " +"port of the node.js Docco_. It makes code into a side-by-side HTML code and " +"documentation." +msgstr "" +"Pycco는 \"문학적 프로그래밍 스타일의 문서 생성기\" 이자, node.js Docco_ 의 파이썬 포팅입니다. 코드를 HTML " +"코드와 문서가 나란히 있는 모습으로 만들어줍니다. " + +#: ../../writing/documentation.rst:277 +msgid "Ronn_" +msgstr "Ronn_" + +#: ../../writing/documentation.rst:276 +msgid "" +"Ronn builds Unix manuals. It converts human readable textfiles to roff for " +"terminal display, and also to HTML for the web." +msgstr "" +"Ronn은 유닉스 매뉴얼을 빌드합니다. 사람이 읽을 수 있는 텍스트 파일을 roff로 변환하여 터미널에서 보여줄 수 있을 뿐만 아니라 " +"웹을 위해 HTML로도 바꿔줍니다. " + +#: ../../writing/documentation.rst:282 +msgid "Epydoc_" +msgstr "Epydoc_" + +#: ../../writing/documentation.rst:282 +msgid "Epydoc is discontinued. Use :ref:`sphinx-ref` instead." +msgstr "Epydoc은 끝장났습니다. 대신 :ref:`sphinx-ref` 를 쓰세요. " + +#: ../../writing/documentation.rst:288 +msgid "MkDocs_" +msgstr "MkDocs_" + +#: ../../writing/documentation.rst:287 +msgid "" +"MkDocs is a fast and simple static site generator that's geared towards " +"building project documentation with Markdown." +msgstr "MkDocs은 마크다운으로 프로젝트 문서를 빌드하기 위하여 설계된 빠르고 단순한 정적 사이트 생성기입니다. " + +#~ msgid "" +#~ "At the end of the day, it doesn't really matter what style is used for " +#~ "writing docstrings, their purpose is to serve as documentation for anyone " +#~ "who may need to read or make changes to your code. As long as it is correct," +#~ " understandable and gets the relevant points across then it has done the job" +#~ " it was designed to do." +#~ msgstr "" +#~ "마지막으로 덧붙이겠습니다. 사실 어떤 스타일로 독스트링을 작성하느냐는 그다지 중요하지 않습니다. 독스트링의 목적은 코드를 읽거나 바꿔야 " +#~ "하는 사람들에게 도움을 주는 문서가 되는 것입니다. 정확하고, 이해하기 쉽고, 관련된 여러 사항에 대한 정보만 있다면, 그 소임은 모두 " +#~ "이룬 것입니다. " diff --git a/docs/locale/ko/LC_MESSAGES/writing/gotchas.mo b/docs/locale/ko/LC_MESSAGES/writing/gotchas.mo new file mode 100644 index 00000000..0ac757a4 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/writing/gotchas.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/writing/gotchas.po b/docs/locale/ko/LC_MESSAGES/writing/gotchas.po new file mode 100644 index 00000000..f9cdb6b7 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/writing/gotchas.po @@ -0,0 +1,365 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: AHN YOUNGSEON \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../writing/gotchas.rst:5 +msgid "Common Gotchas" +msgstr "자주 하는 실수" + +#: ../../writing/gotchas.rst:9 +msgid "" +"For the most part, Python aims to be a clean and consistent language that" +" avoids surprises. However, there are a few cases that can be confusing " +"for newcomers." +msgstr "" +"대부분의 경우에서 파이썬의 목표는 깔끔하고 일관적이라 깜짝 놀랄 일이 일어나지 않는 언어를 목표로 합니다. " +"하지만 초보자에게 혼란을 일으킬 수 있는 몇 가지 케이스가 있습니다. " + +#: ../../writing/gotchas.rst:13 +msgid "" +"Some of these cases are intentional but can be potentially surprising. " +"Some could arguably be considered language warts. In general, what " +"follows is a collection of potentially tricky behavior that might seem " +"strange at first glance, but are generally sensible, once you're aware of" +" the underlying cause for the surprise." +msgstr "" +"어떤 것들은 의도된 바입니다. 하지만 놀랄 수도 있습니다. " +"어떤 것들은 필시 언어의 암적인 부분입니다. " +"다음은 언뜻 보기에는 이상해 보일 수 있지만 " +"그 깜짝 놀랄만한 원인을 알고 나면 합리적이라 생각할 수도 있는 기묘한 동작들의 모음입니다." + +#: ../../writing/gotchas.rst:25 +msgid "Mutable Default Arguments" +msgstr "가변 디폴트 전달인자(Mutable Default Arguments)" + +#: ../../writing/gotchas.rst:27 +msgid "" +"Seemingly the *most* common surprise new Python programmers encounter is " +"Python's treatment of mutable default arguments in function definitions." +msgstr "" +"파이썬 초보자가 보기에 *가장* 놀랄만한 것은 파이썬의 함수 선언에서의 " +"가변 디폴트 전달인자(Arguments)입니다. " + +#: ../../writing/gotchas.rst:31 ../../writing/gotchas.rst:105 +msgid "What You Wrote" +msgstr "이렇게 작성하면" + +#: ../../writing/gotchas.rst:40 ../../writing/gotchas.rst:113 +msgid "What You Might Have Expected to Happen" +msgstr "요렇게 동작하기를 기대할텐데" + +#: ../../writing/gotchas.rst:50 +msgid "" +"A new list is created each time the function is called if a second " +"argument isn't provided, so that the output is::" +msgstr "" +"두 번째 전달인자가 없다면 함수가 호출될 때마다 매번 새 리스트를 만들테니 " +"그 결과는 이럴거라 생각하지만::" + +#: ../../writing/gotchas.rst:57 ../../writing/gotchas.rst:130 +msgid "What Actually Happens" +msgstr "실제로는" + +#: ../../writing/gotchas.rst:64 +msgid "" +"A new list is created *once* when the function is defined, and the same " +"list is used in each successive call." +msgstr "" +"새 리스트는 함수를 정의할 때 *한번만* 만들어지고 " +"함수가 호출될 때마다 같은 리스트를 계속 사용합니다." + +#: ../../writing/gotchas.rst:67 +msgid "" +"Python's default arguments are evaluated *once* when the function is " +"defined, not each time the function is called (like it is in say, Ruby). " +"This means that if you use a mutable default argument and mutate it, you " +"*will* and have mutated that object for all future calls to the function " +"as well." +msgstr "" +"파이썬의 디폴트 전달인자는 함수가 정의될 때 *한번만* 평가됩니다. " +"(루비처럼) 함수가 실행될 때마다 평가되는 게 아닙니다." +"이 말인즉 함수에서 디폴트 전달인자를 변경하면 그 함수가 실행될 때마다 " +"*앞으로* 그 객체를 계속 수정한다는 것입니다." + +#: ../../writing/gotchas.rst:73 ../../writing/gotchas.rst:169 +msgid "What You Should Do Instead" +msgstr "대신 이렇게 하세요" + +#: ../../writing/gotchas.rst:75 +msgid "" +"Create a new object each time the function is called, by using a default " +"arg to signal that no argument was provided (:py:data:`None` is often a " +"good choice)." +msgstr "" +"디폴트 전달인자가 없다는 표지를 만들어 함수가 호출될 때마다 매번 새 객체를 생성하도로 하세요." +"(:py:data:`None` 이 좋을겁니다)." + +#: ../../writing/gotchas.rst:86 +msgid "Do not forget, you are passing a *list* object as the second argument." +msgstr "*리스트* 객체를 두번째 전달인자로 넣는 걸 잊지 마세요." + +#: ../../writing/gotchas.rst:89 ../../writing/gotchas.rst:192 +msgid "When the Gotcha Isn't a Gotcha" +msgstr "실수가 실수가 아닌 때" + +#: ../../writing/gotchas.rst:91 +msgid "" +"Sometimes you can specifically \"exploit\" (read: use as intended) this " +"behavior to maintain state between calls of a function. This is often " +"done when writing a caching function." +msgstr "" +"가끔은 함수를 호출할 때마다 그 상태를 유지하기 위하여 " +"특별히 위 동작을 \"이용\" (의도된 것입니다, 라 읽어요) 할 수도 있습니다. " + +#: ../../writing/gotchas.rst:98 +msgid "Late Binding Closures" +msgstr "늦은 바인딩 클로져(Late Binding Closure)" + +#: ../../writing/gotchas.rst:100 +msgid "" +"Another common source of confusion is the way Python binds its variables " +"in closures (or in the surrounding global scope)." +msgstr "" +"또다른 혼란의 근원은 파이썬이 클로져(또는 클로져를 둘러싸는 글로벌 스코프)에서 " +"그 변수를 바인딩하는 방법입니다." + +#: ../../writing/gotchas.rst:120 +msgid "" +"A list containing five functions that each have their own closed-over " +"``i`` variable that multiplies their argument, producing::" +msgstr "" +"리스트는 각각 ``i`` 변수를 독립적으로 가지는 5개의 함수를 구성요소로 가지며 " +"인자를 곱해서 이런 결과를 낼거라 생각하지만" + +#: ../../writing/gotchas.rst:140 +msgid "Five functions are created; instead all of them just multiply ``x`` by 4." +msgstr "5개의 함수가 만들어졌습니다. 그리고 모든 함수는 그저 ``x`` 를 4로 곱합니다." + +#: ../../writing/gotchas.rst:142 +msgid "" +"Python's closures are *late binding*. This means that the values of " +"variables used in closures are looked up at the time the inner function " +"is called." +msgstr "" +"파이썬의 클로저는 *늦은 바인딩* 을 합니다. " +"그 말인즉 클로저 안에서 사용되는 변수값은 안쪽 함수가 호출될 때 비로소 정해진다는 것입니다. " + +#: ../../writing/gotchas.rst:146 +msgid "" +"Here, whenever *any* of the returned functions are called, the value of " +"``i`` is looked up in the surrounding scope at call time. By then, the " +"loop has completed and ``i`` is left with its final value of 4." +msgstr "" +"여기서 리턴된 함수는 *무엇이든* 호출될 때마다 그 호출 시점에서 바깥 스코프의 ``i`` " +"값을 조회합니다. " +"그리하여 반복문이 끝나고 ``i`` 는 반복문에서의 마지막 값인 4가 되는 것입니다." + +#: ../../writing/gotchas.rst:150 +msgid "" +"What's particularly nasty about this gotcha is the seemingly prevalent " +"misinformation that this has something to do with :ref:`lambdas " +"` in Python. Functions created with a ``lambda`` " +"expression are in no way special, and in fact the same exact behavior is " +"exhibited by just using an ordinary ``def``:" +msgstr "" +"이 문제에 대해 특히 끔찍한 일은 이것이 파이썬의 :ref:`lambdas " +"`와 관련이 있다는 " +"잘못된 정보가 널리 퍼져있다는 것입니다." +"``람다`` 표현식으로 만들어진 함수라고 특별한 게 아닙니다. " +"사실 아래와 같은 일반적인 ``def`` 와 똑같이 동작합니다:" + +#: ../../writing/gotchas.rst:171 +msgid "" +"The most general solution is arguably a bit of a hack. Due to Python's " +"aforementioned behavior concerning evaluating default arguments to " +"functions (see :ref:`default_args`), you can create a closure that binds " +"immediately to its arguments by using a default arg like so:" +msgstr "" +"가장 많이 쓰이는 해결책은 필시 약간의 해킹입니다. " +"디폴트 전달인자가 함수에서 어떻게 평가되는지에 대하여 위에서 소개한 " +"파이썬의 동작(see :ref:`default_args`)을 응용하면 됩니다. " +"다음과 같이 디폴트 전달인자를 사용해서 전달인자에 즉시 바인딩 되는 " +"클로져를 만들 수 있습니다. " + +#: ../../writing/gotchas.rst:181 +msgid "Alternatively, you can use the functools.partial function:" +msgstr "이 방법 대신 functools.partial 함수를 사용해도 됩니다." + +#: ../../writing/gotchas.rst:194 +msgid "" +"Sometimes you want your closures to behave this way. Late binding is good" +" in lots of situations. Looping to create unique functions is " +"unfortunately a case where they can cause hiccups." +msgstr "" +"가끔은 일부러 클로져를 이런 방식으로 사용하고 싶을 때도 있습니다. " +"늦은 바인딩이 도움되는 경우가 많습니다. " +"반복문을 돌려서 유니크한 함수를 만드는 것은 불운한 딸꾹질을 일으킬 수 있습니다." + +#: ../../writing/gotchas.rst:201 +msgid "Bytecode (.pyc) Files Everywhere!" +msgstr "바이트코드 (.pyc) 파일로 가득찼어!" + +#: ../../writing/gotchas.rst:203 +msgid "" +"By default, when executing Python code from files, the Python interpreter" +" will automatically write a bytecode version of that file to disk, e.g. " +"``module.pyc``." +msgstr "" +"기보적으로 파일에서 파이썬 코드를 실행하면 파이썬 인터프리터는 " +"자동적으로 파일의 바이트코드 버전을 만들어서 디스크에 쓸 겁니다(예를 들면 " +"``module.pyc``)." + +#: ../../writing/gotchas.rst:207 +msgid "" +"These ``.pyc`` files should not be checked into your source code " +"repositories." +msgstr "" +"``.pyc`` 파일이 소스코드 저장소에 들어가면 안됩니다." + +#: ../../writing/gotchas.rst:209 +msgid "" +"Theoretically, this behavior is on by default for performance reasons. " +"Without these bytecode files, Python would re-generate the bytecode every" +" time the file is loaded." +msgstr "" +"이론상으로 이 동작은 성능상의 이유 때문에 늘 켜져 있습니다. " +"이러한 바이트코드 파일이 없다면 파이썬은 그 파일을 실행할 때마다 " +"바이트코드를 다시 생성할 것입니다." + +#: ../../writing/gotchas.rst:215 +msgid "Disabling Bytecode (.pyc) Files" +msgstr "바이트코드 (.pyc) 파일을 만들지 않는 설정하기" + +#: ../../writing/gotchas.rst:217 +msgid "" +"Luckily, the process of generating the bytecode is extremely fast, and " +"isn't something you need to worry about while developing your code." +msgstr "" +"다행히 바이트코드를 생성하는 프로세스는 아주 빠릅니다. " +"그러니 개발하는 동안 바이트코드 생성하는 시간이 오래걸릴까봐 걱정할 필요가 없습니다." + +#: ../../writing/gotchas.rst:220 +msgid "Those files are annoying, so let's get rid of them!" +msgstr "이 귀찮은 파일들을 다 지워버립시다!" + +#: ../../writing/gotchas.rst:226 +msgid "" +"With the ``$PYTHONDONTWRITEBYTECODE`` environment variable set, Python " +"will no longer write these files to disk, and your development " +"environment will remain nice and clean." +msgstr "" +"환경변수에 ``$PYTHONDONTWRITEBYTECODE`` 이라 지정해놓으면 파이썬은 " +"더이상 이 파일들을 디스크에 쓰지 않습니다. 그리고 개발환경은 깨끗해집니다." + +#: ../../writing/gotchas.rst:230 +msgid "I recommend setting this environment variable in your ``~/.profile``." +msgstr "이 환경변수를 ``~/.profile`` 에 세팅하기를 추천드립니다." + +#: ../../writing/gotchas.rst:233 +msgid "Removing Bytecode (.pyc) Files" +msgstr "Bytecode (.pyc) 파일 삭제하기" + +#: ../../writing/gotchas.rst:235 +msgid "Here's nice trick for removing all of these files, if they already exist::" +msgstr "이미 이 파일들이 존재한다면 한꺼번에 몽땅 삭제하는 멋진 방법이 있습니다." + +#: ../../writing/gotchas.rst:239 +msgid "" +"Run that from the root directory of your project, and all ``.pyc`` files " +"will suddenly vanish. Much better." +msgstr "" +"프로젝트의 최상위 디렉토리에서 위 명령어를 실행하면 모든 ``.pyc`` 파일이 사라집니다. " +"한결 낫구만." + +#: ../../writing/gotchas.rst:245 +msgid "Version Control Ignores" +msgstr "버전 컨트롤에서 무시하기" + +#: ../../writing/gotchas.rst:247 +msgid "" +"If you still need the ``.pyc`` files for performance reasons, you can " +"always add them to the ignore files of your version control repositories." +" Popular version control systems have the ability to use wildcards " +"defined in a file to apply special rules." +msgstr "" +"그래도 성능 상의 이유 때문에 ``.pyc`` 파일이 필요하다면 " +"버전 컨트롤 저장소의 ignore 파일에 추가해도 됩니다. " +"대부분의 버전 컨트롤 시스템이 ignore 파일에서 와일드카드를 사용하는 특수 " +"규칙을 적용할 수 있습니다. " + +#: ../../writing/gotchas.rst:252 +msgid "" +"An ignore file will make sure the matching files don't get checked into " +"the repository. Git_ uses ``.gitignore`` while Mercurial_ uses " +"``.hgignore``." +msgstr "" +"ignore 파일이 이 규칙과 맞아떨어지는 파일들을 저장소에 들어가지 않도록 해줍니다. " +"Git_ 은 ``.gitignore`` 을 사용하고, " +"Mercurial_ 은 ``.hgignore`` 을 사용합니다." + +#: ../../writing/gotchas.rst:258 +msgid "At the minimum your ignore files should look like this." +msgstr "ignore 파일은 최소 이런 모양일 겁니다." + +#: ../../writing/gotchas.rst:266 +msgid "" +"You may wish to include more files and directories depending on your " +"needs. The next time you commit to the repository, these files will not " +"be included." +msgstr "" +"필요에 따라 더 많은 파일과 디렉토리를 포함 할 수 있습니다. " +"다음에 저장소에 커밋 할 때 이러한 파일은 포함되지 않습니다." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ "For the most part, Python aims to" +#~ " be a clean and consistent language" +#~ " that avoids surprises. However, there " +#~ "are a few cases that can be " +#~ "confusing to newcomers." +#~ msgstr "" + +#~ msgid "" +#~ "Some of these cases are intentional " +#~ "but can be potentially surprising. Some" +#~ " could arguably be considered language " +#~ "warts. In general, what follows is " +#~ "a collection of potentially tricky " +#~ "behavior that might seem strange at " +#~ "first glance, but is generally sensible" +#~ " once you're aware of the underlying" +#~ " cause for the surprise." +#~ msgstr "" + +#~ msgid "What Does Happen" +#~ msgstr "" + +#~ msgid "" +#~ "Theoretically, this behavior is on by" +#~ " default, for performance reasons. Without" +#~ " these bytecode files present, Python " +#~ "would re-generate the bytecode every " +#~ "time the file is loaded." +#~ msgstr "" + diff --git a/docs/locale/ko/LC_MESSAGES/writing/license.mo b/docs/locale/ko/LC_MESSAGES/writing/license.mo new file mode 100644 index 00000000..cc47727f Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/writing/license.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/writing/license.po b/docs/locale/ko/LC_MESSAGES/writing/license.po new file mode 100644 index 00000000..c558d709 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/writing/license.po @@ -0,0 +1,171 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: KO \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../writing/license.rst:5 +msgid "Choosing a License" +msgstr "라이선스 선택하기" + +#: ../../writing/license.rst:9 +msgid "" +"Your source publication *needs* a license. In the US, unless a license is " +"specified, users have no legal right to download, modify, or distribute the " +"product. Furthermore, people can't contribute to your code unless you tell " +"them what rules to play by. Choosing a license is complicated, so here are " +"some pointers:" +msgstr "" +"소스코드를 공개하려면 라이선스가 *필요합니다*. 미국에서는 라이선스를 정하지 않으면 사용자가 다운로드, 수정, 제품 배포를 할 수 " +"없습니다. 뿐만 아니라 규칙을 정해 알리지 않는 한 다른 사람들이 코드에 기여할 수도 없습니다.라이선스 선택은 복잡합니다. 몇 가지 " +"지침을 알려드릴게요: " + +#: ../../writing/license.rst:14 +msgid "" +"Open source. There are plenty of `open source licenses " +"`_ available to choose from." +msgstr "" +"오픈소스. 수많은 `오픈소스 라이선스 `_ 를 선택할 수" +" 있습니다." + +#: ../../writing/license.rst:18 +msgid "In general, these licenses tend to fall into one of two categories:" +msgstr "보통 라이선스는 이 두 카테고리 중 하나에 속합니다:" + +#: ../../writing/license.rst:20 +msgid "" +"licenses that focus more on the user's freedom to do with the software as " +"they please (these are the more permissive open source licenses such as the " +"MIT, BSD, and Apache)" +msgstr "" +"기쁜 마음으로 사용자가 이 소프트웨어를 자유롭게 사용할 수 있도록 하는 데 보다 중점을 둔 라이선스(MIT, BSD, Apache처럼 " +"보다 관대한 라이선스)" + +#: ../../writing/license.rst:24 +msgid "" +"licenses that focus more on making sure that the code itself — including any" +" changes made to it and distributed along with it — always remains free " +"(these are the less permissive free software licenses such as the GPL and " +"LGPL)" +msgstr "" +"코드를 항상 무료로 사용(변경과 배포 포함)할 수 있도록 하는 데 중점을 둔 라이선스(GPL, LGPL처럼 덜 허용적인 자유 소프트웨어 " +"라이선스)" + +#: ../../writing/license.rst:29 +msgid "" +"The latter are less permissive in the sense that they don't permit someone " +"to add code to the software and distribute it without also including the " +"source code for their changes." +msgstr "" +"후자는 소프트웨어에 코드를 수정하지 못 하게 하고, 수정한 소스코드를 포함하지 않으면 배포를 할 수 없다는 점에서 덜 허용적인 " +"라이선스입니다. " + +#: ../../writing/license.rst:33 +msgid "" +"To help you choose one for your project, there's a `license chooser " +"`_; **use it**." +msgstr "" +"프로젝트의 라이선스를 선택하는 데 도움을 받고 싶다면 `라이선스 선택기 `_ 가 " +"있습니다. **써보세요!**." + +#: ../../writing/license.rst:36 +msgid "**More Permissive**" +msgstr "**보다 자유로운 라이선스**" + +#: ../../writing/license.rst:38 +msgid "" +"PSFL (Python Software Foundation License) -- for contributing to Python " +"itself" +msgstr "PSFL (Python Software Foundation License) -- 파이썬에 기여하기 위한 라이선스" + +#: ../../writing/license.rst:39 +msgid "MIT / BSD / ISC" +msgstr "MIT / BSD / ISC" + +#: ../../writing/license.rst:41 +msgid "MIT (X11)" +msgstr "MIT (X11)" + +#: ../../writing/license.rst:42 +msgid "New BSD" +msgstr "New BSD" + +#: ../../writing/license.rst:43 +msgid "ISC" +msgstr "ISC" + +#: ../../writing/license.rst:45 +msgid "Apache" +msgstr "Apache" + +#: ../../writing/license.rst:47 +msgid "**Less Permissive:**" +msgstr "**덜 허용적인 라이선스**" + +#: ../../writing/license.rst:49 +msgid "LGPL" +msgstr "LGPL" + +#: ../../writing/license.rst:50 +msgid "GPL" +msgstr "GPL" + +#: ../../writing/license.rst:52 +msgid "GPLv2" +msgstr "GPLv2" + +#: ../../writing/license.rst:53 +msgid "GPLv3" +msgstr "GPLv3" + +#: ../../writing/license.rst:55 +msgid "" +"A good overview of licenses with explanations of what one can, cannot, and " +"must do using a particular software can be found at `tl;drLegal " +"`_." +msgstr "" +"`tl;drLegal `_ 에서 특정 소프트웨어를 사용하여 무엇을 할 수 있고, 할 수 " +"없는지에 대한 개괄적인 설명을 보실 수 있습니다. " + +#~ msgid "" +#~ "Your source publication *needs* a license. In the US, if no license is " +#~ "specified, users have no legal right to download, modify, or distribute. " +#~ "Furthermore, people can't contribute to your code unless you tell them what " +#~ "rules to play by. Choosing a license is complicated, so here are some " +#~ "pointers:" +#~ msgstr "" + +#~ msgid "" +#~ "licenses that focus more on the user's freedom to do with the software as " +#~ "they please (these are the more permissive open source licenses such as the " +#~ "MIT, BSD, & Apache)." +#~ msgstr "" + +#~ msgid "" +#~ "licenses that focus more on making sure that the code itself — including any" +#~ " changes made to it and distributed along with it — always remains free " +#~ "(these are the less permissive free software licenses such as the GPL and " +#~ "LGPL)." +#~ msgstr "" + +#~ msgid "" +#~ "To help you choose one for your project, there's a `license chooser " +#~ "`_, **use it**." +#~ msgstr "" diff --git a/docs/locale/ko/LC_MESSAGES/writing/logging.mo b/docs/locale/ko/LC_MESSAGES/writing/logging.mo new file mode 100644 index 00000000..4d9a66ac Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/writing/logging.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/writing/logging.po b/docs/locale/ko/LC_MESSAGES/writing/logging.po new file mode 100644 index 00000000..5938de8d --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/writing/logging.po @@ -0,0 +1,244 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: KOREAN \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../writing/logging.rst:5 +msgid "Logging" +msgstr "로그" + +#: ../../writing/logging.rst:9 +msgid "" +"The :mod:`logging` module has been a part of Python's Standard Library since" +" version 2.3. It is succinctly described in :pep:`282`. The documentation " +"is notoriously hard to read, except for the `basic logging tutorial`_." +msgstr "" +":mod:`logging` 모듈은 2.3 버전 이래로 파이썬의 표준 라이브러리였습니다. 이에 관해서는 :pep:`282` 을 보시면 " +"간략히 써져 있습니다. 그 문서는 읽기 어렵기로 악명이 높지만, 그래도 `basic logging tutorial`_ 은 그나마 " +"낫습니다. " + +#: ../../writing/logging.rst:13 +msgid "" +"As an alternative, `loguru `_ provides an " +"approach for logging, nearly as simple as using a simple ``print`` " +"statement." +msgstr "" +"대안으로, `loguru `_ 는 단순한 ``print`` 구문을 사용하는 " +"것만큼이나 간단한 로깅 방법을 제공합니다." + +#: ../../writing/logging.rst:15 +msgid "Logging serves two purposes:" +msgstr "로그를 남기는데에는 2가지 목적이 있습니다: " + +#: ../../writing/logging.rst:17 +msgid "" +"**Diagnostic logging** records events related to the application's " +"operation. If a user calls in to report an error, for example, the logs can " +"be searched for context." +msgstr "" +"**진단용 로그** 는 어플리케이션의 동작과 관련된 이벤트를 기록합니다. 예를 들어 사용자가 오류 보고서를 남기면, 그 로그를 해당 " +"에러와 관련된 상황을 확인하는데 쓸 수 있습니다. " + +#: ../../writing/logging.rst:20 +msgid "" +"**Audit logging** records events for business analysis. A user's " +"transactions can be extracted and combined with other user details for " +"reports or to optimize a business goal." +msgstr "" +"**감사용 로그** 는 비지니스 분석에 필요한 이벤트를 기록합니다. 사용자가 무슨 동작을 했는지 알아낼 수 있으며, 다른 사용자와는 무슨" +" 동작을 했는지도 상세하게 알 수 있습니다. 이를 통해 보고서를 작성하거나 업무적으로 최적화를 할 수 있습니다. " + +#: ../../writing/logging.rst:27 +msgid "... or Print?" +msgstr "... Print는?" + +#: ../../writing/logging.rst:29 +msgid "" +"The only time that ``print`` is a better option than logging is when the " +"goal is to display a help statement for a command line application. Other " +"reasons why logging is better than ``print``:" +msgstr "" +"``print`` 가 logging보다 좋은 경우는 커맨드라인 어플리케이션에서 help 구문을 화면에 보여줄 때 뿐입니다. " +"logging이 ``print`` 보다 좋은 이유입니다: " + +#: ../../writing/logging.rst:33 +msgid "" +"The `log record`_, which is created with every logging event, contains " +"readily available diagnostic information such as the file name, full path, " +"function, and line number of the logging event." +msgstr "" +"`log record`_ 는 로그 남기는 이벤트가 발생할 때마다 만들어지는데, 여기에는 로그 남기는 이벤트의 파일명과 경로, 함수, 몇 " +"행에서 문제가 발생했는지 등의 정보가 들어있어 문제를 확인하기에 편리합니다. " + +#: ../../writing/logging.rst:36 +msgid "" +"Events logged in included modules are automatically accessible via the root " +"logger to your application's logging stream, unless you filter them out." +msgstr "" +"내장된 모듈에서 발생한 이벤트들도 로그가 남는데, 이 로그들은 루트 로그 기록기를 통하여 어플리케이션의 로그 스트림으로 보낼 수 " +"있습니다. 필터링해서 걸러내지만 않는다면 말입니다. " + +#: ../../writing/logging.rst:38 +msgid "" +"Logging can be selectively silenced by using the method " +":meth:`logging.Logger.setLevel` or disabled by setting the attribute " +":attr:`logging.Logger.disabled` to ``True``." +msgstr "" +":meth:`logging.Logger.setLevel` 메소드를 쓰면 로그를 선택적으로 남길 수 있습니다. " +":attr:`logging.Logger.disabled` 속성을 ``True`` 로 설정하면 로그를 끌 수도 있습니다. " + +#: ../../writing/logging.rst:45 +msgid "Logging in a Library" +msgstr "라이브러리에서의 로그 남기기" + +#: ../../writing/logging.rst:47 +msgid "" +"Notes for `configuring logging for a library`_ are in the `logging " +"tutorial`_. Because the *user*, not the library, should dictate what " +"happens when a logging event occurs, one admonition bears repeating:" +msgstr "" +"`라이브러리에 로그 설정`_ 하려면 `로그 남기기 튜토리얼`_ 을 보시면 됩니다. 로그를 남기는 이벤트가 발생하면 그게 무슨 일인지 " +"알아내야 하는 건 라이브러리가 아니라 *사용자* 입니다. 따라서 반복적으로 경보를 보내야합니다. " + +#: ../../writing/logging.rst:53 +msgid "" +"It is strongly advised that you do not add any handlers other than " +"NullHandler to your library’s loggers." +msgstr "당신의 라이브러리에 NullHandler 이외의 다른 로그 남기는 핸들러를 넣지 말 것을 강력 추천합니다. " + +#: ../../writing/logging.rst:57 +msgid "" +"Best practice when instantiating loggers in a library is to only create them" +" using the ``__name__`` global variable: the :mod:`logging` module creates a" +" hierarchy of loggers using dot notation, so using ``__name__`` ensures no " +"name collisions." +msgstr "" +"라이브러리에서 로그 기록기를 인스턴스화 하는 유일한 방법은 ``__name__`` 전역 변수를 사용해서 만드는 방법 뿐입니다. " +":mod:`logging` 모듈은 . 을 사용해서 로그 기록기의 계층 구조를 만들기 때문에 ``__name__`` 을 사용해야 충돌을 " +"막을 수 있습니다. " + +#: ../../writing/logging.rst:62 +msgid "" +"Here is an example of the best practice from the `requests source`_ -- place" +" this in your ``__init__.py``:" +msgstr "" +"`requests의 소스`_ 에서 가져온 훌륭한 예시를 보여드리겠습니다. 이걸 당신의 ``__init__.py`` 에 두시면 됩니다. " + +#: ../../writing/logging.rst:73 +msgid "Logging in an Application" +msgstr "어플리케이션에서의 로그 남기기" + +#: ../../writing/logging.rst:75 +msgid "" +"The `twelve factor app `_, an authoritative reference " +"for good practice in application development, contains a section on `logging" +" best practice `_. It emphatically advocates for " +"treating log events as an event stream, and for sending that event stream to" +" standard output to be handled by the application environment." +msgstr "" +"`멋진 앱을 만들기 위한 12가지 `_ 는 어플리케이션 개발을 위한 좋은 습관을 들이기에 참고할만" +" 합니다. `로그를 남기는 방법 `_ 에 관한 섹션도 있는데, 여기서는 로그 이벤트를 " +"이벤트 스트림으로 취급하여 어플리케이션 환경이 처리할 수 있도록 표준 출력으로 보낼 것을 강력하게 추천합니다." + +#: ../../writing/logging.rst:83 +msgid "There are at least three ways to configure a logger:" +msgstr "로그를 설정하는데에는 적어도 3가지 방식이 있습니다: " + +#: ../../writing/logging.rst:88 +msgid "Using an INI-formatted file:" +msgstr "INI 포맷의 파일을 사용하는 방법: " + +#: ../../writing/logging.rst:86 +msgid "" +"**Pro**: possible to update configuration while running, using the function " +":func:`logging.config.listen` to listen on a socket." +msgstr "" +"**장점**: :func:`logging.config.listen` 함수로 소켓을 리스닝하여 어플리케이션 실행 중에도 설정을 갱신할 수 " +"있습니다." + +#: ../../writing/logging.rst:88 +msgid "" +"**Con**: less control (e.g. custom subclassed filters or loggers) than " +"possible when configuring a logger in code." +msgstr "**단점**: 코드로 로거를 설정할 때보다 제어할 수 있는 범위가 적습니다(예: 직접 서브클래스로 만든 필터나 로거)." + +#: ../../writing/logging.rst:93 +msgid "Using a dictionary or a JSON-formatted file:" +msgstr "딕셔너리나 JSON 포맷 파일을 사용하는 방법: " + +#: ../../writing/logging.rst:91 +msgid "" +"**Pro**: in addition to updating while running, it is possible to load from " +"a file using the :mod:`json` module, in the standard library since Python " +"2.6." +msgstr "" +"**이렇게 하자**: 어플리케이션 실행 중에도 업데이트를 할 수 있을 뿐만 아니라, 파이썬 2.6부터는 표준 라이브러리에서 " +":mod:`json` 모듈을 사용하여 파일에서 설정을 불러올 수도 있다." + +#: ../../writing/logging.rst:94 +msgid "**Con**: less control than when configuring a logger in code." +msgstr "**이렇게 하지 마세요**: 코드에 로그를 설정할 때 할 수 있는 설정도 하지 않는다 " + +#: ../../writing/logging.rst:98 +msgid "Using code:" +msgstr "코드를 사용하는 방법: " + +#: ../../writing/logging.rst:96 +msgid "**Pro**: complete control over the configuration." +msgstr "**이렇게 하자**: 모든 설정을 완벽하게 한다." + +#: ../../writing/logging.rst:97 +msgid "**Con**: modifications require a change to the source code." +msgstr "**단점**: 수정하려면 소스코드를 변경해야 합니다." + +#: ../../writing/logging.rst:101 +msgid "Example Configuration via an INI File" +msgstr "INI 파일로 설정하는 예시" + +#: ../../writing/logging.rst:103 +msgid "" +"Let us say that the file is named ``logging_config.ini``. More details for " +"the file format are in the `logging configuration`_ section of the `logging " +"tutorial`_." +msgstr "" +"파일명은 ``logging_config.ini`` 로 합시다. 파일 포맷에 대한 자세한 설명은 `로그 튜토리얼`_ 의 `로그 설정`_ 을" +" 보시면 됩니다. " + +#: ../../writing/logging.rst:132 +msgid "Then use :meth:`logging.config.fileConfig` in the code:" +msgstr "그런 다음 코드에 :meth:`logging.config.fileConfig` 를 쓰세요. " + +#: ../../writing/logging.rst:145 +msgid "Example Configuration via a Dictionary" +msgstr "딕셔너리로 설정하는 예시" + +#: ../../writing/logging.rst:147 +msgid "" +"As of Python 2.7, you can use a dictionary with configuration details. " +":pep:`391` contains a list of the mandatory and optional elements in the " +"configuration dictionary." +msgstr "" +"파이썬 2.7부터는 딕셔너리를 사용해서 상세한 설정을 할 수 있습니다. :pep:`391` 을 보시면 설정 딕셔너리에 반드시 넣어야 하는" +" 요소와 그렇지 않은 요소를 확인할 수 있습니다. " + +#: ../../writing/logging.rst:180 +msgid "Example Configuration Directly in Code" +msgstr "코드에 바로 설정하는 예시" diff --git a/docs/locale/ko/LC_MESSAGES/writing/reading.mo b/docs/locale/ko/LC_MESSAGES/writing/reading.mo new file mode 100644 index 00000000..a228efd6 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/writing/reading.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/writing/reading.po b/docs/locale/ko/LC_MESSAGES/writing/reading.po new file mode 100644 index 00000000..74a1f052 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/writing/reading.po @@ -0,0 +1,131 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../writing/reading.rst:5 +msgid "Reading Great Code" +msgstr "훌륭한 코드를 읽기" + +#: ../../writing/reading.rst:9 +msgid "" +"One of the secrets of becoming a great Python programmer is to read, " +"understand, and comprehend excellent code." +msgstr "위대한 파이썬 프로그래머가 되기 위한 비밀 중 하나는 바로 탁월한 코드를 읽고, 알아듣고, 이해하는 것입니다. " + +#: ../../writing/reading.rst:12 +msgid "" +"Excellent code typically follows the guidelines outlined in " +":ref:`code_style`, and does its best to express a clear and concise intent " +"to the reader." +msgstr "" +"탁월한 코드란 문자 그대로 :ref:`code_style` 의 가이드라인을 따르는 것이며, 명쾌하고 간결하게 코드의 의도를 독자에게 " +"표현하기 위해 최선을 다하는 것입니다. " + +#: ../../writing/reading.rst:16 +msgid "" +"Included below is a list of recommended Python projects for reading. Each " +"one of these projects is a paragon of Python coding." +msgstr "아래에 삽입한 목록은 읽어보시길 추천하는 파이썬 프로젝트들입니다. 각각의 프로젝트는 파이썬 코딩의 모범입니다. " + +#: ../../writing/reading.rst:19 +msgid "" +"`Howdoi `_ Howdoi is a code search tool, " +"written in Python." +msgstr "" +"`Howdoi `_ Howdoi는 파이썬으로 쓰여진 코드를 검색하는 " +"도구입니다. " + +#: ../../writing/reading.rst:22 +msgid "" +"`Flask `_ Flask is a microframework for " +"Python based on Werkzeug and Jinja2. It's intended for getting started very " +"quickly and was developed with best intentions in mind." +msgstr "" +"`Flask `_ Flask는 Werkzeug와 Jinja2를 기반으로 " +"하는 파이썬 마이크로 프레임워크입니다. 아주 빠르게 시작할 수 있도록 만들어졌으며, 이러한 취지에 따라 개발되었습니다. " + +#: ../../writing/reading.rst:27 +msgid "" +"`Diamond `_ Diamond is a Python " +"daemon that collects metrics and publishes them to Graphite or other " +"backends. It is capable of collecting CPU, memory, network, I/O, load, and " +"disk metrics. Additionally, it features an API for implementing custom " +"collectors for gathering metrics from almost any source." +msgstr "" +"`Diamond `_ Diamond는 Graphite나 다른" +" 백엔드에 지표를 수집하고 퍼블리싱하는 파이썬 데몬입니다. CPU, 메모리, 네트워크, I/O, 로드, 디스크 지표를 수집할 수 " +"있습니다. 추가적으로 거의 어느 소스에서라도 지표를 수집하는 커스텀 수집기를 구현하기 위한 API가 특장점입니다." + +#: ../../writing/reading.rst:34 +msgid "" +"`Werkzeug `_ Werkzeug started as a " +"simple collection of various utilities for WSGI applications and has become " +"one of the most advanced WSGI utility modules. It includes a powerful " +"debugger, full-featured request and response objects, HTTP utilities to " +"handle entity tags, cache control headers, HTTP dates, cookie handling, file" +" uploads, a powerful URL routing system, and a bunch of community-" +"contributed addon modules." +msgstr "" +"`Werkzeug `_ Werkzeug는 WSGI 어플리케이션을 " +"위한 간단한 유틸리티 모음집으로 시작되었습니다. 하지만 이제는 가장 발전한 WSGI 유틸리티 모듈 중 하나가 되었습니다. 강력한 디버거," +" 리퀘스트와 리스폰스 오브젝트의 모든 기능을 갖추었으며, 엔티티 태그를 조작할 HTTP 유틸리티와 캐시 컨트롤 헤더, HTTP " +"dates, 쿠키 조작, 파일 업로드, 강력한 URL 라우팅 시스템, 그리고 커뮤니티에서 기여한 애드온 모듈 꾸러미가 포함되어 있습니다." + +#: ../../writing/reading.rst:42 +msgid "" +"`Requests `_ Requests is an " +"Apache2 Licensed HTTP library, written in Python, for human beings." +msgstr "" +"`Requests `_ Requests는 파이썬으로 작성된 " +"Apache2 라이선스의 HTTP 라이브러리입니다. 인류를 위해 만들었습니다. " + +#: ../../writing/reading.rst:46 +msgid "" +"`Tablib `_ Tablib is a format-agnostic " +"tabular dataset library, written in Python." +msgstr "" +"`Tablib `_ Tablib은 포맷에 구속받지 않는 tabular " +"데이터셋 라이브러리입니다. 파이썬으로 작성했습니다." + +#: ../../writing/reading.rst:50 ../../writing/reading.rst:52 +msgid "Todo" +msgstr "할 일" + +#: ../../writing/reading.rst:50 +msgid "" +"Include code examples of exemplary code from each of the projects listed. " +"Explain why it is excellent code. Use complex examples." +msgstr "리스트에 올라간 프로젝트의 코드 샘플 추가 필요왜 좋은 코드인지 복잡한 예를 들어 설명할 것" + +#: ../../writing/reading.rst:52 +msgid "" +"Explain techniques to rapidly identify data structures and algorithms and " +"determine what the code is doing." +msgstr "데이터 구조와 알고리즘을 빠르게 식별하고 코드가 뭘 하고 있는지 파악하는 기술을 설명할 것" + +#~ msgid "" +#~ "One of the core tenets behind the design of Python is creating readable " +#~ "code. The motivation behind this design is simple: The number one thing that" +#~ " Python programmers do is read code." +#~ msgstr "" +#~ "파이썬 디자인의 기저에 깔린 핵심 교리 중 하나는 가독성 좋은 코드 만들기입니다. 이유는 단순합니다: 파이썬 프로그래머가 가장 많이 하는" +#~ " 일이 바로 코드 읽기이기 때문입니다. " diff --git a/docs/locale/ko/LC_MESSAGES/writing/structure.mo b/docs/locale/ko/LC_MESSAGES/writing/structure.mo new file mode 100644 index 00000000..48d1ecb5 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/writing/structure.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/writing/structure.po b/docs/locale/ko/LC_MESSAGES/writing/structure.po new file mode 100644 index 00000000..3b3ba216 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/writing/structure.po @@ -0,0 +1,1280 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../writing/structure.rst:5 +msgid "Structuring Your Project" +msgstr "프로젝트 구성하기" + +#: ../../writing/structure.rst:9 +msgid "" +"By \"structure\" we mean the decisions you make concerning how your project " +"best meets its objective. We need to consider how to best leverage Python's " +"features to create clean, effective code. In practical terms, \"structure\" " +"means making clean code whose logic and dependencies are clear as well as " +"how the files and folders are organized in the filesystem." +msgstr "" +"여기서 \"구성\"이란 어떻게 하면 목표한 바에 가장 부합하도록 프로젝트를 수행하기 위한 의사결정을 의미합니다. 우리는 깔끔하고 효율적인" +" 코드라는 파이썬의 특성을 극대화 할 수 있는 방법을 고민할 필요가 있습니다. 일반적으로 \"구성\"이란 로직과 의존성이 깔끔한 코드를 " +"만드는 것을 의미할 뿐만 아니라, 파일시스템에 어떻게 파일과 폴더들을 구성하느냐의 문제입니다." + +#: ../../writing/structure.rst:16 +msgid "" +"Which functions should go into which modules? How does data flow through the" +" project? What features and functions can be grouped together and isolated? " +"By answering questions like these you can begin to plan, in a broad sense, " +"what your finished product will look like." +msgstr "" +"어느 모듈에 어느 기능이 들어가야 할까요? 프로젝트에서 데이터는 어덯게 흘러가야 할까요? 어떤 특징과 기능이 통합되거나 분리되어야 " +"할까요? 이러한 질문에 답함으로써 프로젝트의 계획을 시작할 수 있고, 더 나아가 최종적인 제품이 어떤 모습일지를 그릴 수 있습니다." + +#: ../../writing/structure.rst:21 +msgid "" +"In this section, we take a closer look at Python's modules and import " +"systems as they are the central elements to enforcing structure in your " +"project. We then discuss various perspectives on how to build code which can" +" be extended and tested reliably." +msgstr "" +"이 섹션에서 우리는 파이썬의 모듈과 임포트 시스템을 자세히 살펴볼 것입니다. 이 2가지가 프로젝트를 위한 강력한 구조를 만들기 위한 " +"핵심적인 요소이기 때문입니다. 그런 다음, 확장하기 쉽고 확실하게 테스트 할 수 있는 코드를 짜기 위한 방법에 관하여 다양한 관점에서 " +"검토할 것입니다." + +#: ../../writing/structure.rst:29 +msgid "Structure of the Repository" +msgstr "저장소의 구조" + +#: ../../writing/structure.rst:32 +msgid "It's Important." +msgstr "중요합니다." + +#: ../../writing/structure.rst:34 +msgid "" +"Just as Code Style, API Design, and Automation are essential for a healthy " +"development cycle. Repository structure is a crucial part of your project's " +"`architecture " +"`__." +msgstr "" +"코딩 스타일, API 디자인, 자동화처럼 건강한 개발 사이클에 필수적인 요소들처럼, 저장소의 구조도 프로젝트의 `아키텍처 " +"`__" +" 에 결정적인 요소입니다. " + +#: ../../writing/structure.rst:39 +msgid "" +"When a potential user or contributor lands on your repository's page, they " +"see a few things:" +msgstr "당신이 만든 프로젝트의 저장소 웹페이지에 처음으로 상륙한 잠재적 사용자나 공헌자는 이런 것들을 보게 될 것입니다. " + +#: ../../writing/structure.rst:42 +msgid "Project Name" +msgstr "프로젝트 이름" + +#: ../../writing/structure.rst:43 +msgid "Project Description" +msgstr "프로젝트 설명" + +#: ../../writing/structure.rst:44 +msgid "Bunch O' Files" +msgstr "파일들 한무더기" + +#: ../../writing/structure.rst:46 +msgid "" +"Only when they scroll below the fold will the user see your project's " +"README." +msgstr "스크롤을 내리고 내리고 나서야 프로젝트의 README 파일을 발견할 수 있을 것입니다. " + +#: ../../writing/structure.rst:49 +msgid "" +"If your repo is a massive dump of files or a nested mess of directories, " +"they might look elsewhere before even reading your beautiful documentation." +msgstr "" +"당신의 저장소가 엄청나게 많은 파일들과 디렉토리로 꼬여있다면, 방문자들은 금방 떠나버리고 말 것입니다. 아무리 아름다운 문서가 있다고 " +"해도 말입니다. " + +#: ../../writing/structure.rst:53 +msgid "Dress for the job you want, not the job you have." +msgstr "원하는 바가 있다면 바로 그 원하는 바인 것처럼 행동하라." + +#: ../../writing/structure.rst:55 +msgid "" +"Of course, first impressions aren't everything. You and your colleagues will" +" spend countless hours working with this repository, eventually becoming " +"intimately familiar with every nook and cranny. The layout is important." +msgstr "" +"물론 첫인상이 전부라는 말은 아닙니다. 당신과 동료들은 저장소에 올려진 프로젝트를 위해 수없이 많은 날들을 지새웠을 것입니다. 그러다보니" +" 어느새 저장소의 구석구석에 이미 친숙해져있을 것입니다. 그래도 모양새는 중요합니다." + +#: ../../writing/structure.rst:60 +msgid "Sample Repository" +msgstr "샘플 저장소" + +#: ../../writing/structure.rst:62 +msgid "" +"**tl;dr**: This is what `Kenneth Reitz recommended in 2013 " +"`__." +msgstr "" +"**요약**: `Kenneth Reitz가 2013년에 권장한 방식 " +"`__ 입니다." + +#: ../../writing/structure.rst:64 +msgid "" +"This repository is `available on GitHub " +"`__." +msgstr "" +"이 저장소는 `깃허브에서 볼 수 있습니다 `__." + +#: ../../writing/structure.rst:81 +msgid "Let's get into some specifics." +msgstr "좀 더 자세히 봅시다. " + +#: ../../writing/structure.rst:84 +msgid "The Actual Module" +msgstr "실제 모듈" + +#: ../../writing/structure.rst:1 +msgid "Location" +msgstr "위치" + +#: ../../writing/structure.rst:1 +msgid "``./sample/`` or ``./sample.py``" +msgstr "``./sample/`` or ``./sample.py``" + +#: ../../writing/structure.rst:1 +msgid "Purpose" +msgstr "목적" + +#: ../../writing/structure.rst:1 +msgid "The code of interest" +msgstr "관심있는 코드" + +#: ../../writing/structure.rst:93 +msgid "" +"Your module package is the core focus of the repository. It should not be " +"tucked away:" +msgstr "모듈 패키지는 저장소의 핵심입니다. 숨겨놓으면 안됩니다: " + +#: ../../writing/structure.rst:100 +msgid "" +"If your module consists of only a single file, you can place it directly in " +"the root of your repository:" +msgstr "모듈 안에 단 하나의 파일밖에 없다면, 저장소의 최상위 폴더에 바로 두어도 좋습니다. " + +#: ../../writing/structure.rst:107 +msgid "" +"Your library does not belong in an ambiguous src or python subdirectory." +msgstr "라이브러리를 애매한 소스나 파이썬 하위 디렉토리에 두면 안됩니다. " + +#: ../../writing/structure.rst:110 +msgid "License" +msgstr "라이선스" + +#: ../../writing/structure.rst:1 +msgid "``./LICENSE``" +msgstr "``./LICENSE``" + +#: ../../writing/structure.rst:1 +msgid "Lawyering up." +msgstr "법적 공방" + +#: ../../writing/structure.rst:120 +msgid "" +"This is arguably the most important part of your repository, aside from the " +"source code itself. The full license text and copyright claims should exist " +"in this file." +msgstr "소스 코드를 외에 프로젝트 저장소의 가장 중요한 부분입니다. 라이선스 문서 전문과 저작권이 반드시 파일에 들어가야 합니다. " + +#: ../../writing/structure.rst:124 +msgid "" +"If you aren't sure which license you should use for your project, check out " +"`choosealicense.com `_." +msgstr "" +"어떤 라이선스를 써야할지 모르겠다면 `choosealicense.com `_ 를 " +"확인하세요." + +#: ../../writing/structure.rst:127 +msgid "" +"Of course, you are also free to publish code without a license, but this " +"would prevent many people from potentially using or contributing to your " +"code." +msgstr "" +"물론 라이선스 없이 코드를 배포해도 됩니다. 하지만 그랬다가는 많은 사람들이 당신의 코드를 사용하거나 기여하기를 꺼릴 수 있습니다." + +#: ../../writing/structure.rst:131 +msgid "Setup.py" +msgstr "Setup.py" + +#: ../../writing/structure.rst:1 +msgid "``./setup.py``" +msgstr "``./setup.py``" + +#: ../../writing/structure.rst:1 +msgid "Package and distribution management." +msgstr "패키지와 배포 관리" + +#: ../../writing/structure.rst:140 +msgid "" +"If your module package is at the root of your repository, this should " +"obviously be at the root as well." +msgstr "모듈 패키지가 저장소의 최상위 폴더에 있다면, Setup.py도 최상위 폴더에 두어야 합니다." + +#: ../../writing/structure.rst:144 +msgid "Requirements File" +msgstr "필요한 파일" + +#: ../../writing/structure.rst:1 +msgid "``./requirements.txt``" +msgstr "``./requirements.txt``" + +#: ../../writing/structure.rst:1 +msgid "Development dependencies." +msgstr "개발 의존성" + +#: ../../writing/structure.rst:153 +msgid "" +"A `pip requirements file " +"`__ should be " +"placed at the root of the repository. It should specify the dependencies " +"required to contribute to the project: testing, building, and generating " +"documentation." +msgstr "" +"`pip 필수 파일 `__" +" 은 반드시 저장소의 최상위 폴더에 두어야 합니다. 이 파일은 프로젝트에 기여하기 위한 작업들, 즉 테스트, 빌드, 문서 생성을 위해 " +"필요한 의존성에 대하여 명시해야 합니다. " + +#: ../../writing/structure.rst:159 +msgid "" +"If your project has no development dependencies, or if you prefer setting up" +" a development environment via ``setup.py``, this file may be unnecessary." +msgstr "" +"프로젝트에 개발 의존성이 없거나, 아니면 ``setup.py`` 를 통해 개발 환경을 설치하는 편을 좋아한다면 이 파일은 불필요합니다. " + +#: ../../writing/structure.rst:164 +msgid "Documentation" +msgstr "문서" + +#: ../../writing/structure.rst:1 +msgid "``./docs/``" +msgstr "``./docs/``" + +#: ../../writing/structure.rst:1 +msgid "Package reference documentation." +msgstr "패키지 참조 문서" + +#: ../../writing/structure.rst:173 +msgid "There is little reason for this to exist elsewhere." +msgstr "다른 경로에 문서 파일을 둘 이유가 없습니다." + +#: ../../writing/structure.rst:176 +msgid "Test Suite" +msgstr "테스트 도구" + +#: ../../writing/structure.rst:179 +msgid "*For advice on writing your tests, see* :doc:`/writing/tests`." +msgstr "*테스트 작성에 대한 조언은* :doc:`/writing/tests` *를 참고하세요.*" + +#: ../../writing/structure.rst:1 +msgid "``./test_sample.py`` or ``./tests``" +msgstr "``./test_sample.py`` or ``./tests``" + +#: ../../writing/structure.rst:1 +msgid "Package integration and unit tests." +msgstr "패키지 통합 테스트와 단위 테스트" + +#: ../../writing/structure.rst:187 +msgid "Starting out, a small test suite will often exist in a single file:" +msgstr "프로젝트를 시작할 때, 보통 하나의 파일에 간단한 테스트 도구를 만들 것입니다." + +#: ../../writing/structure.rst:193 +msgid "" +"Once a test suite grows, you can move your tests to a directory, like so:" +msgstr "테스트 도구가 커지면 이런 폴더를 만들어서 테스트 파일을 옮기면 됩니다. " + +#: ../../writing/structure.rst:201 +msgid "" +"Obviously, these test modules must import your packaged module to test it. " +"You can do this a few ways:" +msgstr "" +"물론 이런 테스트 모듈들은 프로젝트의 패키징된 모듈들을 임포트해서 테스트를 수행합니다. 테스트를 수행하는데에는 몇 가지 방법이 있습니다." +" " + +#: ../../writing/structure.rst:204 +msgid "Expect the package to be installed in site-packages." +msgstr "site-packages에 패키지를 설치하게 한다. " + +#: ../../writing/structure.rst:205 +msgid "" +"Use a simple (but *explicit*) path modification to resolve the package " +"properly." +msgstr "패키지 경로를 잘 찾기 위해 간단한(하지만 명확한) 경로를 사용한다. " + +#: ../../writing/structure.rst:208 +msgid "" +"I highly recommend the latter. Requiring a developer to run ``setup.py " +"develop`` to test an actively changing codebase also requires them to have " +"an isolated environment setup for each instance of the codebase." +msgstr "" +"후자를 강력히 추천합니다. 활발히 변경되는 코드베이스를 테스트하기 위해 개발자에게 ``setup.py develop`` 을 실행하라고 " +"요구한다면, 코드베이스의 각 인스턴스마다 격리된 환경을 셋업하도록 요구하는 셈이 됩니다." + +#: ../../writing/structure.rst:213 +msgid "" +"To give the individual tests import context, create a ``tests/context.py`` " +"file:" +msgstr "각각의 테스트마다 별도의 임포트 설정을 주고 싶다면 ``tests/context.py`` 파일을 이렇게 작성하세요." + +#: ../../writing/structure.rst:224 +msgid "Then, within the individual test modules, import the module like so:" +msgstr "그 다음, 각각의 테스트 모듈마다 이렇게 모듈을 임포트 합니다. " + +#: ../../writing/structure.rst:230 +msgid "This will always work as expected, regardless of installation method." +msgstr "이렇게 하면 설치 방법과 상관없이 항상 생각한 대로 동작할 것입니다. " + +#: ../../writing/structure.rst:232 +msgid "" +"Some people will assert that you should distribute your tests within your " +"module itself -- I disagree. It often increases complexity for your users; " +"many test suites often require additional dependencies and runtime contexts." +msgstr "" +"어떤 사람들은 테스트 파일을 반드시 테스트 하려는 모듈 자체에 넣고 배포를 해야한다고 주장합니다. 하지만 저는 이에 동의하지 않습니다. " +"그렇게 하면 사용자 입장에서 볼 때 프로젝트의 모듈이 복잡해집니다. 그리고 추가적인 의존성 관계와 실행 환경이 필요한 테스트 도구가 많기" +" 때문입니다. " + +#: ../../writing/structure.rst:238 +msgid "Makefile" +msgstr "Makefile" + +#: ../../writing/structure.rst:1 +msgid "``./Makefile``" +msgstr "``./Makefile``" + +#: ../../writing/structure.rst:1 +msgid "Generic management tasks." +msgstr "전반적인 관리 작업" + +#: ../../writing/structure.rst:248 +msgid "" +"If you look at most of my projects or any Pocoo project, you'll notice a " +"Makefile lying around. Why? These projects aren't written in C... In short, " +"make is an incredibly useful tool for defining generic tasks for your " +"project." +msgstr "" +"Makefile은 지금 이 프로젝트와 다른 Pocoo 프로젝트에도 항상 있습니다. 왜 그럴까요? 이 프로젝트들은 C로 작성되지 않았기 " +"때문입니다... 즉 make는 당신의 프로젝트를 관리하는 작업들을 알려주는 엄청나게 유용한 도구입니다. " + +#: ../../writing/structure.rst:253 +msgid "**Sample Makefile:**" +msgstr "**Sample Makefile:**" + +#: ../../writing/structure.rst:265 +msgid "" +"Other generic management scripts (e.g. ``manage.py`` or ``fabfile.py``) " +"belong at the root of the repository as well." +msgstr "" +"다른 관리 작업 스크립트(``manage.py`` 또는 ``fabfile.py``) 들도 Makefile과 마찬가지로 저장소의 최상위 " +"디렉토리에 두세요. " + +#: ../../writing/structure.rst:269 +msgid "Regarding Django Applications" +msgstr "장고 어플리케이션에 대하여" + +#: ../../writing/structure.rst:271 +msgid "" +"I've noticed a new trend in Django applications since the release of Django " +"1.4. Many developers are structuring their repositories poorly due to the " +"new bundled application templates." +msgstr "" +"장고 1.4 버전의 릴리즈 이후로 장고 어플리케이션에 새로운 유행이 불고 있습니다. 많은 개발자들이 자신들의 저장소를 지저분하게 구성하고" +" 있습니다. 1.4 버전에 포함된 어플리케이션 템플릿 때문입니다. " + +#: ../../writing/structure.rst:275 +msgid "" +"How? Well, they go to their bare and fresh repository and run the following," +" as they always have:" +msgstr "어떻게 지저분하게 하길래? 음, 이런 개발자들은 자신의 정리 안 된 저장소에서 대체로 이런 명령을 실행합니다. " + +#: ../../writing/structure.rst:282 +msgid "The resulting repository structure looks like this:" +msgstr "그 결과로 뽑히는 저장소의 구조는 이렇습니다: " + +#: ../../writing/structure.rst:292 +msgid "Don't do this." +msgstr "이렇게 하지 마세요. " + +#: ../../writing/structure.rst:294 +msgid "" +"Repetitive paths are confusing for both your tools and your developers. " +"Unnecessary nesting doesn't help anybody (unless they're nostalgic for " +"monolithic SVN repos)." +msgstr "" +"상위 폴더와 하위 폴더의 이름이 같으니 개발 도구도 혼란스러워하고 개발자들도 혼란스러워하게 됩니다. 불필요한 폴더 감싸기는 (SVN " +"저장소를 그리워하는게 아니라면)도움이 안됩니다. " + +#: ../../writing/structure.rst:298 +msgid "Let's do it properly:" +msgstr "대신 이렇게 하면 좋습니다. " + +#: ../../writing/structure.rst:304 +msgid "Note the \"``.``\"." +msgstr "여기에 주목하세요 \"``.``\"." + +#: ../../writing/structure.rst:306 +msgid "The resulting structure:" +msgstr "결과물은 이렇습니다: " + +#: ../../writing/structure.rst:320 +msgid "Structure of Code is Key" +msgstr "코드 구성이 핵심" + +#: ../../writing/structure.rst:322 +msgid "" +"Thanks to the way imports and modules are handled in Python, it is " +"relatively easy to structure a Python project. Easy, here, means that you do" +" not have many constraints and that the module importing model is easy to " +"grasp. Therefore, you are left with the pure architectural task of crafting " +"the different parts of your project and their interactions." +msgstr "" +"파이썬의 임포트 방식과 잘 만들어진 모듈 덕분에 파이썬 프로젝트의 구성은 비교적 쉽습니다. 여기서 쉽다는 말은 제약이 많지 않고, 모듈을" +" 불러오는 방식이 이해하기 쉽다는 뜻입니다. 따라서 프로젝트의 서로 다른 파트와 그 사이의 상호작용을 다듬는 아키텍처 작업만을 하면 " +"됩니다." + +#: ../../writing/structure.rst:329 +msgid "" +"Easy structuring of a project means it is also easy to do it poorly. Some " +"signs of a poorly structured project include:" +msgstr "" +"프로젝트를 구성하기 쉽다는 말은 또한 엉망이 되기도 쉽다는 뜻입니다. 프로젝트가 엉망으로 구성되었음을 알 수 있는 신호를 몇 가지 " +"찾아보았습니다. " + +#: ../../writing/structure.rst:333 +msgid "" +"Multiple and messy circular dependencies: If the classes Table and Chair in " +":file:`furn.py` need to import Carpenter from :file:`workers.py` to answer a" +" question such as ``table.isdoneby()``, and if conversely the class " +"Carpenter needs to import Table and Chair to answer the question " +"``carpenter.whatdo()``, then you have a circular dependency. In this case " +"you will have to resort to fragile hacks such as using import statements " +"inside your methods or functions." +msgstr "" +"복잡한 순환 참조: ``책상.누가 만들었나()`` 같은 질문에 답하려면 :file:`가구.py` 의 탁자와 의자가 " +":file:`작업자.py` 에서 목수를 불러와야 하는데, 반대로 ``목수.뭐하니()`` 같은 질문에 답하려면 목수가 책상과 의자를 " +"불러와야만 하는 경우가 있습니다. 이것이 순환 참조입니다. 이런 경우에는 메소드나 펑션 안에 있는 임포트 구문을 사용하는 것 같은 " +"난도질스러운 방법에 의존하는 수 밖에 없습니다." + +#: ../../writing/structure.rst:342 +msgid "" +"Hidden coupling: Each and every change in Table's implementation breaks 20 " +"tests in unrelated test cases because it breaks Carpenter's code, which " +"requires very careful surgery to adapt to the change. This means you have " +"too many assumptions about Table in Carpenter's code or the reverse." +msgstr "" +"숨겨진 연결고리: 책상을 구현하는 코드의 모든 변경이 책상과 관련없는 다른 테스트들을 안돌아가게 합니다. 책상의 코드 변경이 목수의 " +"코드를 무너뜨리기 때문입니다. 이럴 때 코드 변경을 하려면 아주 신중하게 수술을 해야합니다. 이 말인즉, 목수의 코드 안에 있는 책상의 " +"코드를 변경하거나 그 반대의 경우에 아주 많은 경우의 수를 상정해야만 한다는 뜻입니다." + +#: ../../writing/structure.rst:348 +msgid "" +"Heavy usage of global state or context: Instead of explicitly passing " +"``(height, width, type, wood)`` to each other, Table and Carpenter rely on " +"global variables that can be modified and are modified on the fly by " +"different agents. You need to scrutinize all access to these global " +"variables in order to understand why a rectangular table became a square, " +"and discover that remote template code is also modifying this context, " +"messing with the table dimensions." +msgstr "" +"전역 구문의 과다 사용: ``(높이, 너비, 타입, 나무)`` 같은 말로 대상을 명확하게 정의하지 않는 경우입니다. 목수가 언제든 " +"아무나 바꿀 수 있는 전역 변수를 사용하기 시작하면, 원형 책상이 사각 책상으로 되어버리는 경우가 생깁니다. 어쩌다가 이런 일이 " +"벌어졌는지를 조사하기 위해 꼼꼼히 살피다 보면, 엉뚱한 샘플 코드가 변수를 변경하고 책상의 모양을 바꾸고 있다는 사실을 발견할 것입니다." + +#: ../../writing/structure.rst:357 +msgid "" +"Spaghetti code: multiple pages of nested if clauses and for loops with a lot" +" of copy-pasted procedural code and no proper segmentation are known as " +"spaghetti code. Python's meaningful indentation (one of its most " +"controversial features) makes it very hard to maintain this kind of code. " +"The good news is that you might not see too much of it." +msgstr "" +"스파게티 코드: 복사 & 붙여넣기가 몇 페이지나 계속되고, 그 안에서 if조건문과 for반복문이 어지럽게 반복되며, 적절하게 나눠지지도 " +"않은 코드를 스파게티 코드라고 합니다. 파이썬의 (가장 논란이 분분한 특징일)들여쓰기에는 의미가 있기 때문에 이런 복잡하고 어지러운 " +"코드는 유지 보수하기가 어렵습니다. 다행히 이런 난장판을 많이 볼 일은 없을 것입니다." + +#: ../../writing/structure.rst:364 +msgid "" +"Ravioli code is more likely in Python: it consists of hundreds of similar " +"little pieces of logic, often classes or objects, without proper structure. " +"If you never can remember, if you have to use FurnitureTable, AssetTable or " +"Table, or even TableNew for your task at hand, then you might be swimming in" +" ravioli code." +msgstr "" +"라비올리 코드: 파이썬에는 스파게티 코드보다도 라비올리 코드를 더 자주 볼 수 있습니다. 구조화도 되어있지 않으면서 수 백개의 비슷한 " +"로직이나 작은 클래스, 또는 오브젝트로 이루어져 있는 코드를 라비올리 코드라고 합니다. 식탁을 써야하는지, 탁자를 써야하는지, 그도 " +"아니면 새 책상이 필요한건지 도무지 기억할 수 없는 순간, 당신은 라비올리 코드 속에서 헤엄치고 있을 것입니다." + +#: ../../writing/structure.rst:373 +msgid "Modules" +msgstr "모듈" + +#: ../../writing/structure.rst:375 +msgid "" +"Python modules are one of the main abstraction layers available and probably" +" the most natural one. Abstraction layers allow separating code into parts " +"holding related data and functionality." +msgstr "" +"파이썬 모듈은 사용 가능한 주요 추상 레이어 중 하나이자, 추상 레이어의 가장 자연스러운 모습입니다. 추상 레이어는 코드를 기능 파트와 " +"데이터 저장 파트로 나눌 수 있도록 해줍니다." + +#: ../../writing/structure.rst:379 +msgid "" +"For example, a layer of a project can handle interfacing with user actions, " +"while another would handle low-level manipulation of data. The most natural " +"way to separate these two layers is to regroup all interfacing functionality" +" in one file, and all low-level operations in another file. In this case, " +"the interface file needs to import the low-level file. This is done with the" +" ``import`` and ``from ... import`` statements." +msgstr "" +"예를 들어 프로젝트의 레이어 중 하나는 사용자 인터페이스를 담당하고, 다른 하나는 저수준의 데이터 처리를 담당할 수도 있다. 이 두 " +"레이어를 분리시키는 가장 자연스러운 방법은 인터페이스 기능과 저수준의 데이터 처리를 담당하는 기능을 각각의 파일에 넣는 것입니다. 이런 " +"경우에 인터페이스 파일은 데이터 처리 파일을 불러와야 합니다. 이는 ``import`` 와 ``from ... import`` 구문으로" +" 가능합니다." + +#: ../../writing/structure.rst:386 +msgid "" +"As soon as you use `import` statements, you use modules. These can be either" +" built-in modules such as `os` and `sys`, third-party modules you have " +"installed in your environment, or your project's internal modules." +msgstr "" +"`import` 구문을 사용하는 즉시 해당 모듈을 불러올 수 있습니다. 이는 내장 모듈인`os`, `sys`, 프로젝트에 포함시킨 모듈과" +" 따로 설치한 서드파티 모듈도 마찬가지입니다." + +#: ../../writing/structure.rst:390 +msgid "" +"To keep in line with the style guide, keep module names short, lowercase, " +"and be sure to avoid using special symbols like the dot (.) or question mark" +" (?). A file name like :file:`my.spam.py` is the one you should avoid! " +"Naming this way will interfere with the way Python looks for modules." +msgstr "" +"이 책의 스타일 안내서처럼 하려면, 모듈의 이름은 소문자로 짧게 짓고, 점(.)이나 물음표(?) 같은 특수 문자의 사용을 지양해야 " +"합니다. 그러니까 :file:`my.spam.py` 같은 이름으로 만들면 안됩니다! 파이썬이 모듈을 찾는 걸 방해할겁니다. " + +#: ../../writing/structure.rst:395 +msgid "" +"In the case of `my.spam.py` Python expects to find a :file:`spam.py` file in" +" a folder named :file:`my` which is not the case. There is an `example " +"`_ of how the dot " +"notation should be used in the Python docs." +msgstr "" +"`my.spam.py` 의 경우, 파이썬은 :file:`my` 라는 이름의 폴더에서 :file:`spam.py` 이라는 이름의 파일을" +" 찾습니다. 이렇게 하면 안됩니다. 아래 글을 참조하세요. 파이썬 문서에서 점(.) 표시가 어떻게 사용되는지에 대한 `예시 " +"`_ " + +#: ../../writing/structure.rst:400 +msgid "" +"If you like, you could name your module :file:`my_spam.py`, but even our " +"trusty friend the underscore, should not be seen that often in module names." +" However, using other characters (spaces or hyphens) in module names will " +"prevent importing (- is the subtract operator). Try to keep module names " +"short so there is no need to separate words. And, most of all, don't " +"namespace with underscores; use submodules instead." +msgstr "" +"원한다면 모듈 이름을 :file:`my_spam.py` 처럼 지을 수도 있지만, 우리의 믿음직한 친구 언더스코어조차 모듈 이름에서는 자주" +" 보여서는 안 됩니다. 그렇다고 모듈 이름에 다른 문자(공백이나 하이픈)를 쓰면 임포트가 불가능해집니다(-는 빼기 연산자입니다). 단어를" +" 구분할 필요가 없도록 모듈 이름은 짧게 유지하세요. 무엇보다도, 언더스코어로 네임스페이스를 만들지 말고 서브모듈을 사용하세요." + +#: ../../writing/structure.rst:413 +msgid "" +"Aside from some naming restrictions, nothing special is required for a " +"Python file to be a module. But you need to understand the import mechanism " +"in order to use this concept properly and avoid some issues." +msgstr "" +"몇 가지 이름 짓기 규칙 외에는 파이썬 모듈을 만들기 위해 달리 특별히 필요한 것은 없습니다. 하지만 모듈이라는 개념을 잘 사용하고 " +"문제를 발생시키지 않기 위해서는, 모듈을 불러오는 방법을 이해할 필요가 있습니다." + +#: ../../writing/structure.rst:417 +msgid "" +"Concretely, the ``import modu`` statement will look for the proper file, " +"which is :file:`modu.py` in the same directory as the caller, if it exists." +" If it is not found, the Python interpreter will search for :file:`modu.py`" +" in the \"path\" recursively and raise an ImportError exception when it is " +"not found." +msgstr "" +"구체적으로 살펴봅시다. ``import modu`` 구문이 있으면 이는 호출자로서 같은 디렉토리 안에서 적절한 파일, 즉 " +":file:`modu.py` 라는 파일을 찾습니다. 만약 해당 파일이 발견되지 않는다면 파이썬 인터프리터는 :file:`modu.py`" +" 파일을 \"path\" 에서 재귀적으로 찾습니다. 그래도 발견되지 않으면 ImportError exception을 띄웁니다." + +#: ../../writing/structure.rst:422 +msgid "" +"When :file:`modu.py` is found, the Python interpreter will execute the " +"module in an isolated scope. Any top-level statement in :file:`modu.py` will" +" be executed, including other imports if any. Function and class definitions" +" are stored in the module's dictionary." +msgstr "" +"일단 :file:`modu.py` 이 발견되면, 파이썬 인터프리터는 독립적으로 그 모듈을 실행합니다. :file:`modu.py` 모듈 " +"안의 모든 최상위 구문이 실행됩니다. 불러온 다른 모듈이 있다면 그것도 함께 실행됩니다. 함수와 클래스 정의는 모듈의 디렉토리에 " +"저장됩니다." + +#: ../../writing/structure.rst:427 +msgid "" +"Then, the module's variables, functions, and classes will be available to " +"the caller through the module's namespace, a central concept in programming " +"that is particularly helpful and powerful in Python." +msgstr "" +"그런 다음에야 모듈의 변수와 함수, 그리고 클래스를 사용할 수 있게 됩니다. 여기서 호출자는 모듈의 네임스페이스(namespace)를 " +"통해 이것들을 사용합니다. 모듈의 네임스페이스(namespace)는 아주 유용하고 강력하게 사용되는 파이썬 프로그래밍의 핵심 개념입니다." +" " + +#: ../../writing/structure.rst:431 +msgid "" +"In many languages, an ``include file`` directive is used by the preprocessor" +" to take all code found in the file and 'copy' it into the caller's code. It" +" is different in Python: the included code is isolated in a module " +"namespace, which means that you generally don't have to worry that the " +"included code could have unwanted effects, e.g. override an existing " +"function with the same name." +msgstr "" +"많은 언어에서 ``include file`` 지시문은 전처리장치(preprocessor)가 해당 파일의 모든 코드를 가져와 호출자에 " +"'복사'해 넣는 명령어로 사용됩니다. 하지만 파이썬에서는 다릅니다. 모듈에 포함된 코드는 네임스페이스(namespace)에서 독립적으로 " +"실행됩니다. 이는 일반적으로 모듈에 포함된 코드가 오작동을 하는 경우가 없다는 뜻입니다. " + +#: ../../writing/structure.rst:437 +msgid "" +"It is possible to simulate the more standard behavior by using a special " +"syntax of the import statement: ``from modu import *``. This is generally " +"considered bad practice. **Using** ``import *`` **makes the code harder to " +"read and makes dependencies less compartmentalized**." +msgstr "" +"임포트 구문의 특수 문법인 ``from modu import *`` 를 사용하면 보다 표준적인 동작을 흉내낼 수 있습니다. 일반적으로 " +"이러한 구문은 잘못된 습관으로 여겨집니다. **``import *`` 를 사용하면** **코드를 읽기 어렵게 만들고, 의존성을 분리하기 " +"어렵게 합니다**." + +#: ../../writing/structure.rst:442 +msgid "" +"Using ``from modu import func`` is a way to pinpoint the function you want " +"to import and put it in the local namespace. While much less harmful than " +"``import *`` because it shows explicitly what is imported in the local " +"namespace, its only advantage over a simpler ``import modu`` is that it will" +" save a little typing." +msgstr "" +"``from modu import func`` 구문은 모듈에서 원하는 함수만 골라서 로컬 네임스페이스(local namespace)에 " +"넣는 방법입니다. 로컬 네임스페이스에 무엇이 임포트되는지 명시적으로 보여주기 때문에 ``import *`` 보다 훨씬 덜 해롭습니다. " +"다만 더 단순한 ``import modu`` 와 비교하면 타이핑이 조금 줄어든다는 이점이 있을 뿐입니다." + +#: ../../writing/structure.rst:448 +msgid "**Very bad**" +msgstr "**Very bad**" + +#: ../../writing/structure.rst:457 ../../writing/structure.rst:827 +msgid "**Better**" +msgstr "**Better**" + +#: ../../writing/structure.rst:465 ../../writing/structure.rst:837 +msgid "**Best**" +msgstr "**Best**" + +#: ../../writing/structure.rst:473 +msgid "" +"As mentioned in the :ref:`code_style` section, readability is one of the " +"main features of Python. Readability means to avoid useless boilerplate text" +" and clutter; therefore some efforts are spent trying to achieve a certain " +"level of brevity. But terseness and obscurity are the limits where brevity " +"should stop. Being able to tell immediately where a class or function comes " +"from, as in the ``modu.func`` idiom, greatly improves code readability and " +"understandability in all but the simplest single file projects." +msgstr "" +":ref:`code_style` 섹션에서 언급한 것처럼, 가독성은 파이썬의 주요 특징 중 하나입니다. 가독성이란 쓸데없이 긴 본문과 " +"잡동사니들을 피한다는 뜻입니다. 그러므로 어느 수준까지는 간결성을 얻고자 하는 노력이 필요합니다. 그러나 너무 간결한 나머지 모호해서는 " +"안됩니다. ``modu.func`` 처럼 클래스와 함수가 어디에서 왔는지 즉각 알려주는 구문은 코드의 가독성과 이해용이성을 크게 " +"높여줍니다. 단 하나의 파일만 있는 아주 간단한 프로젝트가 아닌 한 그렇습니다." + +#: ../../writing/structure.rst:484 +msgid "Packages" +msgstr "패키지" + +#: ../../writing/structure.rst:486 +msgid "" +"Python provides a very straightforward packaging system, which is simply an " +"extension of the module mechanism to a directory." +msgstr "파이썬은 아주 간단한 패키지 만들기 시스템을 제공합니다. 이 시스템은 단순히 파이썬 모듈 구조를 디렉토리로 확장한 것입니다." + +#: ../../writing/structure.rst:489 +msgid "" +"Any directory with an :file:`__init__.py` file is considered a Python " +"package. The different modules in the package are imported in a similar " +"manner as plain modules, but with a special behavior for the " +":file:`__init__.py` file, which is used to gather all package-wide " +"definitions." +msgstr "" +":file:`__init__.py` 가 있는 모든 디렉토리는 파이썬 패키지로 인식됩니다. 패키지의 여러 다른 모듈들은 일반적인 모듈과 " +"비슷한 방법으로 불러와집니다. 그러나 패키지는 일반 모듈과는 달리 :file:`__init__.py` 가 있다는 점이 특별합니다.이 " +"파일은 패키지 전체의 모든 정의를 모아두는 용도로 쓰입니다." + +#: ../../writing/structure.rst:494 +msgid "" +"A file :file:`modu.py` in the directory :file:`pack/` is imported with the " +"statement ``import pack.modu``. This statement will look for " +":file:`__init__.py` file in :file:`pack` and execute all of its top-level " +"statements. Then it will look for a file named :file:`pack/modu.py` and " +"execute all of its top-level statements. After these operations, any " +"variable, function, or class defined in :file:`modu.py` is available in the " +"pack.modu namespace." +msgstr "" +":file:`pack/` 디렉토리 안의 :file:`modu.py` 파일은 ``import pack.modu`` 구문으로 임포트됩니다. " +"이 구문은 :file:`pack` 안의 :file:`__init__.py` 파일을 찾아 그 안의 모든 최상위 구문을 실행합니다. 그런 " +"다음 :file:`pack/modu.py` 라는 파일을 찾아 그 안의 모든 최상위 구문을 실행합니다. 이러한 작업이 끝나면 " +":file:`modu.py` 에 정의된 모든 변수, 함수, 클래스는 pack.modu 네임스페이스에서 사용할 수 있게 됩니다." + +#: ../../writing/structure.rst:502 +msgid "" +"A commonly seen issue is adding too much code to :file:`__init__.py` files. " +"When the project complexity grows, there may be sub-packages and sub-sub-" +"packages in a deep directory structure. In this case, importing a single " +"item from a sub-sub-package will require executing all :file:`__init__.py` " +"files met while traversing the tree." +msgstr "" +"흔히 보는 문제는 :file:`__init__.py` 파일에 너무 많은 코드를 붙이는 경우입니다. 프로젝트가 복잡해질수록 디렉토리 구조 " +"깊숙히 서브-패키지와 서브-서브-패키지가 있을 수 있습니다. 이런 경우에는 서브-서브-패키지 안에 있는 단 한 줄을 불러오려고 했더니 " +"패키지 디렉토리를 가로지르며 만나게 되는 모든 :file:`__init__.py` 파일을 실행하게 될 때가 있습니다." + +#: ../../writing/structure.rst:508 +msgid "" +"Leaving an :file:`__init__.py` file empty is considered normal and even good" +" practice, if the package's modules and sub-packages do not need to share " +"any code." +msgstr "" +"따라서 패키지의 모듈과 서브-패키지에서 코드를 서로 공유할 필요가 없다면 :file:`__init__.py` 은 빈 파일로 남겨두는게 " +"일반적일 뿐만 아니라 좋은 습관입니다." + +#: ../../writing/structure.rst:512 +msgid "" +"Lastly, a convenient syntax is available for importing deeply nested " +"packages: ``import very.deep.module as mod``. This allows you to use `mod` " +"in place of the verbose repetition of ``very.deep.module``." +msgstr "" +"마지막으로 패키지 안쪽 깊숙히를 불러올 수 있는 편리한 구문이 있습니다. ``import very.deep.module as mod``" +" 입니다. 이 구문은 ``very.deep.module``같은 장황한 구문을 반복하는 대신에 `mod` 만으로 패키지를 사용할 수 " +"있게 해줍니다. " + +#: ../../writing/structure.rst:519 +msgid "Object-oriented programming" +msgstr "객체지향 프로그래밍" + +#: ../../writing/structure.rst:521 +msgid "" +"Python is sometimes described as an object-oriented programming language. " +"This can be somewhat misleading and requires further clarifications." +msgstr "파이썬은 종종 객체지향 프로그래밍 언어로 묘사됩니다. 이는 다소 오해의 여지가 있기에 명확히 할 필요가 있습니다." + +#: ../../writing/structure.rst:524 +msgid "" +"In Python, everything is an object, and can be handled as such. This is what" +" is meant when we say, for example, that functions are first-class objects. " +"Functions, classes, strings, and even types are objects in Python: like any " +"object, they have a type, they can be passed as function arguments, and they" +" may have methods and properties. In this understanding, Python can be " +"considered as an object-oriented language." +msgstr "" +"파이썬에서 모든 것은 객체입니다. 그리고 객체처럼 다룰 수 있습니다. 이 말인즉 함수는 일급 객체라고 말하는 것과 같은 의미입니다. " +"함수, 클래스, 문자열, 심지어 타입까지도 파이썬에서는 객체입니다. 다른 객체와 마찬가지로 타입을 가지며, 함수 인자로 전달될 수 있고," +" 메소드와 속성을 가질 수도 있습니다. 이러한 점을 고려하여 파이썬을 객체지향 언어라고 하는 것입니다." + +#: ../../writing/structure.rst:531 +msgid "" +"However, unlike Java, Python does not impose object-oriented programming as " +"the main programming paradigm. It is perfectly viable for a Python project " +"to not be object-oriented, i.e. to use no or very few class definitions, " +"class inheritance, or any other mechanisms that are specific to object-" +"oriented programming languages." +msgstr "" +"하지만 자바와는 달리 파이썬은 객체지향 프로그래밍을 프로그래밍 패러다임으로 도입하고 있지 않습니다. 객체지향으로 만들지 않은 파이썬 " +"프로젝트도 완벽하게 실행 가능합니다. 즉 클래스를 정의하지 않거나 거의 정의하지 않아도 사용할 수 있습니다. 클래스 상속이나 객체지향 " +"프로그래밍의 다른 특징적인 방법을 사용하지 않아도 마찬가지입니다." + +#: ../../writing/structure.rst:537 +msgid "" +"Moreover, as seen in the modules_ section, the way Python handles modules " +"and namespaces gives the developer a natural way to ensure the encapsulation" +" and separation of abstraction layers, both being the most common reasons to" +" use object-orientation. Therefore, Python programmers have more latitude as" +" to not use object-orientation, when it is not required by the business " +"model." +msgstr "" +"게다가 modules_ 섹션에서 볼 수 있듯이 파이썬이 모듈과 네임스페이스(namespace)를 다루는 방식은 개발자로 하여금 자연스럽게" +" 캡슐화와 추상 레이어의 분리를 가능하게 해줍니다. 캡슐화와 추상 레이어의 분리는 둘 다 객체지향을 사용하는 가장 일반적인 이유입니다. " +"그러므로 파이썬 프로그래머는 비즈니스 모델이 굳이 객체지향을 필요로 하지 않는다면 거기에 얽매이지 않아도 됩니다." + +#: ../../writing/structure.rst:544 +msgid "" +"There are some reasons to avoid unnecessary object-orientation. Defining " +"custom classes is useful when we want to glue some state and some " +"functionality together. The problem, as pointed out by the discussions about" +" functional programming, comes from the \"state\" part of the equation." +msgstr "" +"불필요한 객체지향을 피해야 할 이유는 많습니다. 어떤 상태와 기능은 한데 모아두는 편이 더 유용할 때가 있습니다. 이럴 때는 사용자 정의" +" 클래스를 정의해서 쓰면 편리합니다. 문제는 함수형 프로그래밍의 문제점으로 지적되는 것처럼 \"상태\" 를 대입할 때 발생합니다." + +#: ../../writing/structure.rst:549 +msgid "" +"In some architectures, typically web applications, multiple instances of " +"Python processes are spawned as a response to external requests that happen " +"simultaneously. In this case, holding some state in instantiated objects, " +"which means keeping some static information about the world, is prone to " +"concurrency problems or race conditions. Sometimes, between the " +"initialization of the state of an object (usually done with the " +"``__init__()`` method) and the actual use of the object state through one of" +" its methods, the world may have changed, and the retained state may be " +"outdated. For example, a request may load an item in memory and mark it as " +"read by a user. If another request requires the deletion of this item at the" +" same time, the deletion may actually occur after the first process loaded " +"the item, and then we have to mark a deleted object as read." +msgstr "" +"어떤 아키텍쳐, 보통 웹 어플리케이션에서는 동시에 발생하는 외부 요청에 응답하기 위해 파이썬 프로세스의 인스턴스가 여러 개 생성됩니다. " +"이런 경우 인스턴스화된 객체에 상태를 보관하는 것, 즉 세계에 대한 정적인 정보를 유지하는 것은 동시성 문제나 경합 상황(race " +"condition)을 일으키기 쉽습니다. 객체 상태의 초기화(보통 ``__init__()`` 메소드로 이루어짐)와 메소드를 통해 그 " +"상태를 실제로 사용하는 시점 사이에 세계가 바뀔 수 있고, 보관해둔 상태가 시대에 뒤떨어진 것이 될 수 있습니다. 예를 들어 어떤 요청이" +" 아이템을 메모리에 로드해서 사용자가 읽음으로 표시한다고 합시다. 다른 요청이 동시에 이 아이템의 삭제를 요구하면, 첫 프로세스가 " +"아이템을 로드한 이후에 삭제가 실제로 일어날 수 있고, 결과적으로 이미 삭제된 객체를 읽음으로 표시하게 됩니다." + +#: ../../writing/structure.rst:561 +msgid "" +"This and other issues led to the idea that using stateless functions is a " +"better programming paradigm." +msgstr "" +"이 문제 뿐만 아니라 다른 설명하지 않은 문제들이 발생하기도 합니다. 이 때문에 상태없는 함수가 더 나은 프로그래밍 패러다임으로 " +"생각되기도 한다." + +#: ../../writing/structure.rst:564 +msgid "" +"Another way to say the same thing is to suggest using functions and " +"procedures with as few implicit contexts and side-effects as possible. A " +"function's implicit context is made up of any of the global variables or " +"items in the persistence layer that are accessed from within the function. " +"Side-effects are the changes that a function makes to its implicit context. " +"If a function saves or deletes data in a global variable or in the " +"persistence layer, it is said to have a side-effect." +msgstr "" +"위 문제를 피하기 위한 또다른 방법은 가능한 한 모호한 문맥과 부작용을 최소화 한 함수와 프로시저를 사용하는 것입니다. 전역 변수를 " +"아무렇게나 사용하거나, 함수 내부에 있는 퍼시스턴스 레이어의 항목을 남용하면 함수의 의미가 모호해집니다. 여기서 부작용이란 함수가 함수를" +" 둘러싼 맥락을 바꿔버리는 변화를 의미합니다. 만약 함수가 퍼시스턴스 레이어에 있는 데이터나 전역 변수에 있는 데이터를 날려버리거나 " +"저장해 버린다면, 이런 것을 부작용이라 부릅니다. " + +#: ../../writing/structure.rst:572 +msgid "" +"Carefully isolating functions with context and side-effects from functions " +"with logic (called pure functions) allows the following benefits:" +msgstr "함수가 잘 분리되어 있고 부작용도 없는 순수 함수라면 다음과 같은 장점이 있습니다." + +#: ../../writing/structure.rst:575 +msgid "" +"Pure functions are deterministic: given a fixed input, the output will " +"always be the same." +msgstr "순수 함수는 결정성이 있습니다. 즉, 같은 입력값이 있으면 언제나 같은 출력값을 냅니다. " + +#: ../../writing/structure.rst:578 +msgid "" +"Pure functions are much easier to change or replace if they need to be " +"refactored or optimized." +msgstr "순수 함수는 수정하거나 최적화 작업이 필요할 때 쉽게 수정 및 변경할 수 있습니다." + +#: ../../writing/structure.rst:581 +msgid "" +"Pure functions are easier to test with unit tests: There is less need for " +"complex context setup and data cleaning afterwards." +msgstr "순수 함수는 단위 테스트를 하기 쉽습니다. 즉, 복잡한 테스트 셋업 작업과 데이터 삭제 작업에 손이 덜 갑니다." + +#: ../../writing/structure.rst:584 +msgid "Pure functions are easier to manipulate, decorate, and pass around." +msgstr "순수 함수는 다루기 쉽고, 기능을 더하기도 쉽고, 없애기도 쉽습니다." + +#: ../../writing/structure.rst:586 +msgid "" +"In summary, pure functions are more efficient building blocks than classes " +"and objects for some architectures because they have no context or side-" +"effects." +msgstr "" +"한마디로, 많은 아키텍처에서 순수한 함수는 가장 효율적인 건축 자재입니다. 클래스나 오브젝트보다 낫습니다. 순수한함수는 어떤 컨텍스트나 " +"부작용도 없기 때문입니다. " + +#: ../../writing/structure.rst:589 +msgid "" +"Obviously, object-orientation is useful and even necessary in many cases, " +"for example when developing graphical desktop applications or games, where " +"the things that are manipulated (windows, buttons, avatars, vehicles) have a" +" relatively long life of their own in the computer's memory." +msgstr "" +"분명히 객체지향은 유용합니다. 그리고 꼭 필요한 경우가 많습니다. 예를 들면 데스크톱 어플리케이션이라든가, 조작 가능한 창, 버튼, " +"아바타, 탈것이 있는 게임같은 경우에 그렇습니다. 이런 것들은 컴퓨터의 메모리에 비교적 오랫동안 남아있기 때문입니다." + +#: ../../writing/structure.rst:597 +msgid "Decorators" +msgstr "데코레이터" + +#: ../../writing/structure.rst:599 +msgid "" +"The Python language provides a simple yet powerful syntax called " +"'decorators'. A decorator is a function or a class that wraps (or decorates)" +" a function or a method. The 'decorated' function or method will replace the" +" original 'undecorated' function or method. Because functions are first-" +"class objects in Python, this can be done 'manually', but using the " +"@decorator syntax is clearer and thus preferred." +msgstr "" +"파이썬 언어에는 데코레이터라는 이름의 단순하지만 강력한 문법이 있습니다. 데코레이터는 함수나 메소드를 감싸는(데코레이트 하는) 함수나 " +"클래스입니다. '데코레이트 된' 함수나 메소드는 원래의 '데코레이트 되지 않은' 함수나 메소드를 대체합니다. 함수는 파이썬에서 일급 " +"객체이기 때문입니다. 이 작업은 '수작업'으로도 가능하지만 @decorator 문법을 쓰면 깔끔하게 쓸 수 있습니다. 그래서 많이들 " +"씁니다." + +#: ../../writing/structure.rst:622 +msgid "" +"This mechanism is useful for separating concerns and avoiding external " +"unrelated logic 'polluting' the core logic of the function or method. A good" +" example of a piece of functionality that is better handled with decoration " +"is `memoization `__ or " +"caching: you want to store the results of an expensive function in a table " +"and use them directly instead of recomputing them when they have already " +"been computed. This is clearly not part of the function logic." +msgstr "" +"이 방법은 외부의 관련없는 로직이 함수나 메소드의 핵심 로직을 오염시키는 사태를 피할 수 있기 때문에 유용합니다. 데코레이션을 써서 " +"다루는 편이 좋은 기능으로 예를 들면 " +"`메모이제이션`__ 과 캐싱을 들 수 " +"있습니다. 무거운 함수의 결과값을 테이블에 저장한 다음, 이미 처리가 끝난 그 결과값을 재처리 없이 바로 쓸 수 있도록 하는 것입니다. " +"물론 이런 것은 함수 자체의 로직과는 별개입니다. " + +#: ../../writing/structure.rst:633 +msgid "Context Managers" +msgstr "컨텍스트 관리자" + +#: ../../writing/structure.rst:635 +msgid "" +"A context manager is a Python object that provides extra contextual " +"information to an action. This extra information takes the form of running a" +" callable upon initiating the context using the ``with`` statement, as well " +"as running a callable upon completing all the code inside the ``with`` " +"block. The most well known example of using a context manager is shown here," +" opening on a file:" +msgstr "" +"컨텍스트 관리자는 동작에 추가적인 컨텍스트 정보를 추가하는 파이썬 오브젝트입니다. 이 추가 정보는 ``with`` 구문으로 컨텍스트를 " +"새로 열면서 함수를 실행하는 형태로 만들어집니다. 마찬가지로 ``with`` 블럭 안의 모든 코드를 종료시킬 때도 함수를 실행합니다. " +"컨텍스트 관리자를 사용하는 가장 유명한 예시는 이렇습니다. 파일을 열고: " + +#: ../../writing/structure.rst:646 +msgid "" +"Anyone familiar with this pattern knows that invoking ``open`` in this " +"fashion ensures that ``f``'s ``close`` method will be called at some point. " +"This reduces a developer's cognitive load and makes the code easier to read." +msgstr "" +"이런 식의 패턴에 익숙한 사람은 이런 방식으로 ``open`` 을 실행하면 ``f`` 의 ``close`` 메소드가 언젠가는 반드시 " +"실행됨을 잘 알 것입니다. " + +#: ../../writing/structure.rst:650 +msgid "" +"There are two easy ways to implement this functionality yourself: using a " +"class or using a generator. Let's implement the above functionality " +"ourselves, starting with the class approach:" +msgstr "" +"이런 기능을 직접 구현하는 2가지 쉬운 방법이 있습니다: 클래스를 사용하거나, 생성자를 사용하는 것입니다. 먼저 클래스를 사용하는 " +"방법으로 위의 기능을 직접 구현해 봅시다. " + +#: ../../writing/structure.rst:669 +msgid "" +"This is just a regular Python object with two extra methods that are used by" +" the ``with`` statement. CustomOpen is first instantiated and then its " +"``__enter__`` method is called and whatever ``__enter__`` returns is " +"assigned to ``f`` in the ``as f`` part of the statement. When the contents " +"of the ``with`` block is finished executing, the ``__exit__`` method is then" +" called." +msgstr "" +"위 예시는 ``with`` 에서 사용될 2개의 추가 메소드가 있는 일반적인 파이썬 오브젝트입니다. CustomOpen 은 먼저 " +"인스턴스화되고, 그 다음에 ``__enter__`` 메소드가 호출됩니다. 그리고 ``__enter__`` 함수가 리턴하는 ``as " +"f`` 구문 안의 모든 결과값들이 ``f`` 에 할당됩니다. ``with`` 블럭 안의 구문들이 모두 수행된 후에는 " +"``__exit__`` 메소드가 호출됩니다. " + +#: ../../writing/structure.rst:675 +msgid "" +"And now the generator approach using Python's own `contextlib " +"`_:" +msgstr "" +"이번에는 파이썬의 `contextlib `_ " +"를 써서 제너레이터(generator)로 같은 기능을 구현해봅시다:" + +#: ../../writing/structure.rst:693 +msgid "" +"This works in exactly the same way as the class example above, albeit it's " +"more terse. The ``custom_open`` function executes until it reaches the " +"``yield`` statement. It then gives control back to the ``with`` statement, " +"which assigns whatever was ``yield``'ed to `f` in the ``as f`` portion. The " +"``finally`` clause ensures that ``close()`` is called whether or not there " +"was an exception inside the ``with``." +msgstr "" +"이렇게 해도 위의 클래스 예시와 똑같이 동작합니다. 물론 이 방법이 더 간결합니다. ``custom_open`` 함수는 ``yield``" +" 구문에 닿을 때까지 실행됩니다. 그 다음 ``with`` 구문에게 제어권을 넘깁니다. ``as f`` 안에서 어떤 ``yield`` 가" +" `f` 에 할당되든 상관없습니다. ``finally`` 명령은 ``with`` 안에서 예외현상이 발생하든 말든 반드시 " +"``close()`` 를 실행합니다. " + +#: ../../writing/structure.rst:700 +msgid "" +"Since the two approaches appear the same, we should follow the Zen of Python" +" to decide when to use which. The class approach might be better if there's " +"a considerable amount of logic to encapsulate. The function approach might " +"be better for situations where we're dealing with a simple action." +msgstr "" +"둘 중 어느 방법을 사용하든 결과는 마찬가지이기 때문에, 우리는 파이썬 선(禪)에 따라 어떤 때 어느 것을 쓸지 선택해야 합니다. " +"클래스를 쓰는 방법은 캡슐화해야하는 대량의 로직이 있을 때 좋습니다. 생성자를 쓰는 방법은 간단한 동작을 다룰 때 좋은 방법입니다. " + +#: ../../writing/structure.rst:708 +msgid "Dynamic typing" +msgstr "동적 타이핑" + +#: ../../writing/structure.rst:710 +msgid "" +"Python is dynamically typed, which means that variables do not have a fixed " +"type. In fact, in Python, variables are very different from what they are in" +" many other languages, specifically statically-typed languages. Variables " +"are not a segment of the computer's memory where some value is written, they" +" are 'tags' or 'names' pointing to objects. It is therefore possible for the" +" variable 'a' to be set to the value 1, then the value 'a string', to a " +"function." +msgstr "" +"파이썬은 동적 타이핑이 되는 언어라고 불립니다. 이 말은 변수가 고정된 타입을 가지고 있지 않다는 뜻입니다. 사실 파이썬의 변수는 다른 " +"수많은 언어, 특히 정적 타입 언어의 변수와는 아주 다릅니다. 파이썬의 변수는 어떤 값이 쓰인 컴퓨터 메모리의 한 조각이 아니라, 객체를" +" 가리키는 '태그' 또는 '이름'입니다. 그렇기 때문에 변수 'a'가 값 1을 가졌다가, 'a string' 이라는 값을 가졌다가, 또 " +"함수가 될 수도 있는 것입니다." + +#: ../../writing/structure.rst:717 +msgid "" +"The dynamic typing of Python is often considered to be a weakness, and " +"indeed it can lead to complexities and hard-to-debug code. Something named " +"'a' can be set to many different things, and the developer or the maintainer" +" needs to track this name in the code to make sure it has not been set to a " +"completely unrelated object." +msgstr "" +"동적 타이핑은 종종 파이썬의 약점으로 여겨지기도 합니다. 실제로 동적 타이핑은 코드를 복잡하게 만들고 디버깅하기 어렵게 만듭니다. " +"'a'라는 이름이 너무나 많은 것이 될 수 있기 때문에 개발자나 유지보수 담당자는 이 이름이 어떻게 쓰이는지, 문제와 무관한 객체인지를 " +"확인하기 위해 코드 전체를 뒤져야 합니다." + +#: ../../writing/structure.rst:723 +msgid "Some guidelines help to avoid this issue:" +msgstr "이러한 문제를 피하기 위한 가이드라인을 소개합니다." + +#: ../../writing/structure.rst:725 +msgid "Avoid using the same variable name for different things." +msgstr "다른 것에 같은 변수명을 붙이지 마라." + +#: ../../writing/structure.rst:727 ../../writing/structure.rst:751 +#: ../../writing/structure.rst:817 +msgid "**Bad**" +msgstr "**나쁜 예**" + +#: ../../writing/structure.rst:736 +msgid "**Good**" +msgstr "**좋은 예**" + +#: ../../writing/structure.rst:745 +msgid "" +"Using short functions or methods helps to reduce the risk of using the same " +"name for two unrelated things." +msgstr "메소드나 함수를 짧게 쓰는 방법은 같은 이름을 상관없는 것들에게 붙이는 위험을 줄일 수 있습니다." + +#: ../../writing/structure.rst:748 +msgid "" +"It is better to use different names even for things that are related, when " +"they have a different type:" +msgstr "관련된 것이라고 해도 다른 타입을 가진다면 다른 이름을 붙이는 편이 좋습니다. " + +#: ../../writing/structure.rst:759 +msgid "" +"There is no efficiency gain when reusing names: the assignments will have to" +" create new objects anyway. However, when the complexity grows and each " +"assignment is separated by other lines of code, including 'if' branches and " +"loops, it becomes harder to ascertain what a given variable's type is." +msgstr "" +"한 번 쓴 이름을 재활용 하는 것은 비효율적입니다. 대입문은 반드시 새로운 객체를 만들어야 합니다. 하지만 너무 복잡해지고, 'if' " +"분기와 반복절이 들어가서 코드가 여러 줄로 쪼개지면 변수가 어떤 타입인지 확인하기 어려워집니다. " + +#: ../../writing/structure.rst:765 +msgid "" +"Some coding practices, like functional programming, recommend never " +"reassigning a variable. In Java this is done with the `final` keyword. " +"Python does not have a `final` keyword and it would be against its " +"philosophy anyway. However, it may be a good discipline to avoid assigning " +"to a variable more than once, and it helps in grasping the concept of " +"mutable and immutable types." +msgstr "" +"함수형 프로그래밍의 코딩 습관처럼 재할당이 불가능한 변수의 사용을 추천합니다. 자바에서는 `final` 키워드로 가능합니다. 파이썬은 " +"`final` 키워드가 없고, 이러한 방법은 파이썬의 철학에 반하는 일입니다. 하지만 변수를 한 번 이상 재할당하지 않는 것은 좋은 " +"습관이며, 가변 타입과 불변 타입을 이해하는데 도움이 될 것입니다." + +#: ../../writing/structure.rst:774 +msgid "Mutable and immutable types" +msgstr "가변 타입과 불변 타입" + +#: ../../writing/structure.rst:776 +msgid "Python has two kinds of built-in or user-defined types." +msgstr "파이썬에는 내장 타입과 사용자 정의 타입이 있습니다." + +#: ../../writing/structure.rst:778 +msgid "" +"Mutable types are those that allow in-place modification of the content. " +"Typical mutables are lists and dictionaries: All lists have mutating " +"methods, like :py:meth:`list.append` or :py:meth:`list.pop`, and can be " +"modified in place. The same goes for dictionaries." +msgstr "" +"가변 타입은 내부에서 자체적으로 조작이 가능합니다. 일반적인 가변 타입에는 리스트와 딕셔너리가 있습니다. 모든 리스트에는 " +":py:meth:`list.append` 나 :py:meth:`list.pop` 처럼 자체적으로 조작 가능한 메소드가 있습니다. " +"딕셔너리도 마찬가지입니다. " + +#: ../../writing/structure.rst:783 +msgid "" +"Immutable types provide no method for changing their content. For instance, " +"the variable x set to the integer 6 has no \"increment\" method. If you want" +" to compute x + 1, you have to create another integer and give it a name." +msgstr "" +"불변 타입은 자체적으로 내용을 바꾸는 메소드를 제공하지 않습니다. 예를 들면 integer 6으로 설정된 변수 x에는 " +"\"increment\" 가 없습니다. 만약 x에 1을 더하고 싶다면 다른 integer 변수를 만들어서 이름을 부여해야 합니다. " + +#: ../../writing/structure.rst:796 +msgid "" +"One consequence of this difference in behavior is that mutable types are not" +" \"stable\", and therefore cannot be used as dictionary keys." +msgstr "이러한 차이 때문에 가변 타입은 \"안정적\" 이지 못해서 딕셔너리 키로 쓸 수 없습니다." + +#: ../../writing/structure.rst:800 +msgid "" +"Using properly mutable types for things that are mutable in nature and " +"immutable types for things that are fixed in nature helps to clarify the " +"intent of the code." +msgstr "" +"원래부터 가변적인 것에는 가변 타입을 적절히 사용하고, 원래부터 변하지 않는 것에는 불변 타입을 적절히 사용하는 방법이 코드의 목적을 " +"명확히 하는데 도움이 됩니다. " + +#: ../../writing/structure.rst:804 +msgid "" +"For example, the immutable equivalent of a list is the tuple, created with " +"``(1, 2)``. This tuple is a pair that cannot be changed in-place, and can be" +" used as a key for a dictionary." +msgstr "" +"예를 들면, 튜플은 리스트와 비슷하지만 변경이 불가능합니다. 튜를은 ``(1, 2)`` 로 만들 수 있습니다. 튜플은 내부적으로 변경이 " +"불가능하기 때문에 딕셔너리의 키로 사용할 수 있습니다. " + +#: ../../writing/structure.rst:808 +msgid "" +"One peculiarity of Python that can surprise beginners is that strings are " +"immutable. This means that when constructing a string from its parts, " +"appending each part to the string is inefficient because the entirety of the" +" string is copied on each append. Instead, it is much more efficient to " +"accumulate the parts in a list, which is mutable, and then glue (``join``) " +"the parts together when the full string is needed. List comprehensions are " +"usually the fastest and most idiomatic way to do this." +msgstr "" +"초보자를 놀라게 할 수 있는 파이썬의 특이점 하나는 문자열이 불변(immutable)이라는 점입니다. 즉, 여러 조각으로부터 문자열을 " +"만들 때, 각 조각을 문자열에 덧붙이는 방식은 비효율적입니다. 덧붙일 때마다 문자열 전체가 복사되기 때문입니다. 그 대신, " +"가변(mutable)인 리스트에 조각들을 모아두었다가, 완전한 문자열이 필요해졌을 때 그 조각들을 한꺼번에 붙이는(``join``) 편이" +" 훨씬 효율적입니다. 일반적으로 이를 위한 가장 빠르고 관용적인 방법은 리스트 컴프리헨션입니다." + +#: ../../writing/structure.rst:845 +msgid "" +"One final thing to mention about strings is that using ``join()`` is not " +"always best. In the instances where you are creating a new string from a " +"pre-determined number of strings, using the addition operator is actually " +"faster. But in cases like above or in cases where you are adding to an " +"existing string, using ``join()`` should be your preferred method." +msgstr "" +"문자열에 대해 마지막으로 말할 것은 ``join()`` 을 쓰는게 항상 좋지는 않다는 것입니다. 문자열이 몇 개 있을지 미리 정해져 " +"있는 상태에서 새로운 문자열을 만들 때는 더하기 연산자를 쓰는 편이 실제로 더 빠릅니다. 하지만 문자열이 몇 개 있을지 정해져 있지 " +"않거나, 이미 만들어진 문자열에 추가로 문자열을 더할 때는 ``join()`` 을 쓰는 편을 선호하게 될 것입니다. " + +#: ../../writing/structure.rst:861 +msgid "" +"You can also use the :ref:`% ` formatting operator" +" to concatenate a pre-determined number of strings besides " +":py:meth:`str.join` and ``+``. However, :pep:`3101` discourages the usage of" +" the ``%`` operator in favor of the :py:meth:`str.format` method." +msgstr "" +":py:meth:`str.join` 과 ``+`` 외에도 포맷 연산자 :ref:`% ` 를" +" 써서 미리 정해진 숫자의 문자열에 붙이는 방법을 쓸 수도 있습니다. 하지만 :pep:`3101` 에 따르면 ``%`` 연산자는 " +"사용하지 말 것을 권장하고 있으며 :py:meth:`str.format` 를 대신 쓸 것을 권장하고 있습니다. " + +#: ../../writing/structure.rst:878 +msgid "Vendorizing Dependencies" +msgstr "Vendorizing Dependencies" + +#: ../../writing/structure.rst:884 +msgid "Runners" +msgstr "Runners" + +#: ../../writing/structure.rst:889 +msgid "Further Reading" +msgstr "더 알아보기" + +#: ../../writing/structure.rst:891 +msgid "http://docs.python.org/3/library/" +msgstr "http://docs.python.org/3/library/" + +#: ../../writing/structure.rst:892 +msgid "https://diveintopython3.net/" +msgstr "https://diveintopython3.net/" + +#~ msgid "" +#~ "**tl;dr**: This is what `Kenneth Reitz `_ " +#~ "recommends." +#~ msgstr "3줄 요약 필수(tl;dr): `Kenneth Reitz `_ 의 말입니다. " + +#~ msgid "" +#~ "I highly recommend the latter. Requiring a developer to run `setup.py " +#~ "`__ develop to test an actively changing codebase also " +#~ "requires them to have an isolated environment setup for each instance of the" +#~ " codebase." +#~ msgstr "" +#~ "후자를 강력 추천합니다. 계속 변경되고 있는 코드를 테스트하기 위해 `setup.py `__ 를 실행해야만" +#~ " 한다면, 변경 중인 코드의 각 시점마다 독립된 환경 설정을 해야만 합니다. " + +#~ msgid "" +#~ "If you'd like you could name your module :file:`my_spam.py`, but even our " +#~ "friend the underscore should not be seen often in module names." +#~ msgstr "" +#~ ":file:`my_spam.py` 처럼 모듈 이름을 짓는 것도 가능합니다. 하지만 우리의 친구 밑줄(_)은 모듈 이름으로는 자주 쓰이지 " +#~ "않습니다." + +#~ msgid "" +#~ "A file :file:`modu.py` in the directory :file:`pack/` is imported with the " +#~ "statement ``import pack.modu``. This statement will look for an " +#~ ":file:`__init__.py` file in :file:`pack`, execute all of its top-level " +#~ "statements. Then it will look for a file named :file:`pack/modu.py` and " +#~ "execute all of its top-level statements. After these operations, any " +#~ "variable, function, or class defined in :file:`modu.py` is available in the " +#~ "pack.modu namespace." +#~ msgstr "" +#~ ":file:`pack/` 디렉토리의 :file:`modu.py` 파일은 ``import pack.modu`` 구문으로 불러와집니다. " +#~ "이 구문은 :file:`pack` 에서 :file:`__init__.py` 파일을 찾습니다. 그리고 해당 패키지의 모든 상위 구문을 " +#~ "실행합니다. 이 작업 후에 :file:`modu.py` 파일에 정의된 모든 변수나 함수, 클래스를 pack.modu " +#~ "네임스페이스(namespace)에서 쓸 수 있습니다." + +#~ msgid "" +#~ "One peculiarity of Python that can surprise beginners is that strings are " +#~ "immutable. This means that when constructing a string from its parts, it is " +#~ "much more efficient to accumulate the parts in a list, which is mutable, and" +#~ " then glue ('join') the parts together when the full string is needed. One " +#~ "thing to notice, however, is that list comprehensions are better and faster " +#~ "than constructing a list in a loop with calls to ``append()``." +#~ msgstr "" +#~ "초보자가 깜짝 놀랄만한 파이썬의 특이한 점은 문자열이 변경 불가능하다는 점입니다. 이는 문자열의 일부를 다시 만들고 싶을 때, 애시당초 " +#~ "리스트로 만들어서 그 일부를 변경하는 편이 효율적이라는 뜻입니다. 리스트는 변경 가능하고, 전체 문자열이 필요하면 ('join')을 " +#~ "사용하여 한데 이어 붙일 수 있기 때문입니다. 하지만 한가지 알아둬야 할 점은 반복문에서 ``append()`` 메소드를 호출해 리스트를" +#~ " 만드는 것보다 리스트 컴프리헨션(list comprehension)을 쓰는 편이 더 좋고 빠르다는 것입니다." diff --git a/docs/locale/ko/LC_MESSAGES/writing/style.mo b/docs/locale/ko/LC_MESSAGES/writing/style.mo new file mode 100644 index 00000000..1fd529c4 Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/writing/style.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/writing/style.po b/docs/locale/ko/LC_MESSAGES/writing/style.po new file mode 100644 index 00000000..d68ff0c7 --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/writing/style.po @@ -0,0 +1,989 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-05-21 08:26+0900\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.18.0\n" + +#: ../../writing/style.rst:6 +msgid "Code Style" +msgstr "코드 스타일" + +#: ../../writing/style.rst:10 +msgid "" +"If you ask Python programmers what they like most about Python, they will " +"often cite its high readability. Indeed, a high level of readability is at " +"the heart of the design of the Python language, following the recognized " +"fact that code is read much more often than it is written." +msgstr "" +"파이썬 프로그래머에게 파이썬의 어떤 점을 가장 좋아하냐고 묻는다면, 뛰어난 가독성이 좋다고들 할 것입니다. 실제로 높은 수준의 가독성은 " +"파이썬 언어 디자인의 핵심입니다. 코드 작성은 한 번이겠지만, 코드를 읽을 일은 훨씬 더 많기 때문입니다. " + +#: ../../writing/style.rst:15 +msgid "" +"One reason for the high readability of Python code is its relatively " +"complete set of Code Style guidelines and \"Pythonic\" idioms." +msgstr "파이썬 코드가 쉽게 읽히고 잘 이해되는 이유는 비교적 완벽한 코드 스타일 가이드라인과 \"파이썬스러운\" 이디엄 때문입니다. " + +#: ../../writing/style.rst:18 +msgid "" +"When a veteran Python developer (a Pythonista) calls portions of code not " +"\"Pythonic\", they usually mean that these lines of code do not follow the " +"common guidelines and fail to express its intent in what is considered the " +"best (hear: most readable) way." +msgstr "" +"뿐만 아니라 베테랑 파이썬 개발자(파이써니스타)들이 코드의 어느 부분을 지적하며 이건 \"파이썬스럽지\" 않아, 라고 한다면 이는 보통 " +"파이썬의 일반적인 가이드라인을 따르지 않았다는 뜻이며, 가장 좋은 방법(명심하세요: 최고의 가독성)을 따르지 않아 코드의 의도를 " +"표현하는데 실패했다는 뜻입니다. " + +#: ../../writing/style.rst:23 +msgid "" +"On some border cases, no best way has been agreed upon on how to express an " +"intent in Python code, but these cases are rare." +msgstr "" +"어떤 경우에는 파이썬 코드의 의도를 표현하기 위한 최선의 방법을 합의하기 어려울 때도 있습니다. 하지만 이런 경우는 거의 없습니다. " + +#: ../../writing/style.rst:29 +msgid "General concepts" +msgstr "일반적인 개념" + +#: ../../writing/style.rst:32 +msgid "Explicit code" +msgstr "명쾌한 코드" + +#: ../../writing/style.rst:34 +msgid "" +"While any kind of black magic is possible with Python, the most explicit and" +" straightforward manner is preferred." +msgstr "파이썬으로 어둡의 마법을 부릴 수 있다면, 가장 명쾌하고 간단한 방법을 추천합니다. " + +#: ../../writing/style.rst:37 ../../writing/style.rst:64 +msgid "**Bad**" +msgstr "**나쁜 예**" + +#: ../../writing/style.rst:45 ../../writing/style.rst:75 +msgid "**Good**" +msgstr "**좋은 예**" + +#: ../../writing/style.rst:52 +msgid "" +"In the good code above, x and y are explicitly received from the caller, and" +" an explicit dictionary is returned. The developer using this function knows" +" exactly what to do by reading the first and last lines, which is not the " +"case with the bad example." +msgstr "" +"위의 좋은 코드 예시에서 x와 y는 호출자로부터 직접 값을 받아와 곧바로 딕셔너리로 반환합니다. 이 함수를 쓰는 개발자들은 첫 줄과 " +"마지막 줄을 읽는 것만으로 무엇을 하는 함수인지 정확히 알 수 있습니다. 하지만 나쁜 예에서는 그렇지 않습니다. " + +#: ../../writing/style.rst:58 +msgid "One statement per line" +msgstr "한 줄에 한 구문" + +#: ../../writing/style.rst:60 +msgid "" +"While some compound statements such as list comprehensions are allowed and " +"appreciated for their brevity and their expressiveness, it is bad practice " +"to have two disjointed statements on the same line of code." +msgstr "" +"간결성과 표현성을 위해 리스트 컴프리헨션(list comprehension) 같은 복잡한 구문을 만드는 경우가 있습니다. 이렇게 한 줄의" +" 코드에 두 개의 분리 가능한 코드를 넣는 것은 잘못된 습관입니다. " + +#: ../../writing/style.rst:91 +msgid "Function arguments" +msgstr "함수 인자" + +#: ../../writing/style.rst:93 +msgid "Arguments can be passed to functions in four different ways." +msgstr "인자는 4가지 경로를 통해 함수로 전달될 수 있습니다." + +#: ../../writing/style.rst:95 +msgid "" +"**Positional arguments** are mandatory and have no default values. They are " +"the simplest form of arguments and they can be used for the few function " +"arguments that are fully part of the function's meaning and their order is " +"natural. For instance, in ``send(message, recipient)`` or ``point(x, y)`` " +"the user of the function has no difficulty remembering that those two " +"functions require two arguments, and in which order." +msgstr "" +"**위치 인자** 는 필수입니다. 그리고 디폴트 값을 가지면 안됩니다. 위치 인자는 인자의 가장 간단한 형태이자, 함수의 의미를 완전히 " +"담고있는 함수 자체를 전달하기도 합니다. 인자의 순서는 넣은대로 들어갑니다. 예를 들어 ``send(message, " +"recipient)`` 혹은 ``point(x, y)`` 에서 함수를 사용하는 사람은 이 함수들이 인자를 몇 개 필요로 하는지, 어느 " +"순서로 들어가야 하는지 기억하려고 고민할 필요가 없습니다. " + +#: ../../writing/style.rst:102 +msgid "" +"In those two cases, it is possible to use argument names when calling the " +"functions and, doing so, it is possible to switch the order of arguments, " +"calling for instance ``send(recipient='World', message='Hello')`` and " +"``point(y=2, x=1)`` but this reduces readability and is unnecessarily " +"verbose, compared to the more straightforward calls to ``send('Hello', " +"'World')`` and ``point(1, 2)``." +msgstr "" +"위의 예시에서 함수를 호출할 때 인자명을 명시하는 것도 가능합니다. " +"``send(recipient='World',message='Hello')`` , ``point(y=2, x=1)`` 이렇게 하면 인자의" +" 순서를 바꿔도 상관없습니다. 하지만 위 방법은 ``send('Hello', 'World')`` , ``point(1, 2)`` 에 " +"비하여 가독성이 떨어지고, 코드가 쓸데없이 장황해집니다. " + +#: ../../writing/style.rst:109 +msgid "" +"**Keyword arguments** are not mandatory and have default values. They are " +"often used for optional parameters sent to the function. When a function has" +" more than two or three positional parameters, its signature is more " +"difficult to remember and using keyword arguments with default values is " +"helpful. For instance, a more complete ``send`` function could be defined as" +" ``send(message, to, cc=None, bcc=None)``. Here ``cc`` and ``bcc`` are " +"optional, and evaluate to ``None`` when they are not passed another value." +msgstr "" +"**키워드 인자** 는 필수값은 아니지만 디폴트값을 가집니다. 키워드 인자는 선택적인 파라미터로서 함수에 전달됩니다. 함수가 2개 혹은 " +"3개 이상의 위치 인자를 가지면 여기에 무슨 값을 넣어야할지 기억하기 어렵습니다. 이 때 디폴트값을 가진 키워드 인자가 도움이 됩니다. " +"예를 들어 이렇게 하면 ``send`` 함수를 더 명확하게 정의할 수 있습니다. ``send(message, to, cc=None, " +"bcc=None)`` .여기서 ``cc`` 와 ``bcc`` 는 선택적인 값입니다. 그리고 다른 값을 넣지 않으면 ``None`` 으로 " +"해석됩니다. " + +#: ../../writing/style.rst:117 +msgid "" +"Calling a function with keyword arguments can be done in multiple ways in " +"Python; for example, it is possible to follow the order of arguments in the " +"definition without explicitly naming the arguments, like in ``send('Hello', " +"'World', 'Cthulhu', 'God')``, sending a blind carbon copy to God. It would " +"also be possible to name arguments in another order, like in ``send('Hello " +"again', 'World', bcc='God', cc='Cthulhu')``. Those two possibilities are " +"better avoided without any strong reason to not follow the syntax that is " +"the closest to the function definition: ``send('Hello', 'World', " +"cc='Cthulhu', bcc='God')``." +msgstr "" +"파이썬에서는 키워드 인자가 있는 함수를 다양한 방식으로 호출할 수 있습니다. 예를 들면 ``send('Hello', 'World', " +"'Cthulhu', 'God')`` 처럼 인자명을 명시하지 않고 함수를 정의할 때의 순서에 따라 인자들을 보낼 수 있습니다. 이렇게 하면" +" God에게 blind carbon copy를 보내게 됩니다. 다른 방법도 가능합니다. ``send('Hello again', " +"'World', bcc='God', cc='Cthulhu')`` 처럼 순서를 다르게해도 인자명을 명시적으로 넣어주면 됩니다. 그래도 위 " +"두 방식처럼 함수 정의시의 인자 순서를 어그러뜨리는 방식은 가급적 피하는 편이 좋습니다. 즉 이렇게 하는게 제일 좋습니다: " +"``send('Hello', 'World', cc='Cthulhu', bcc='God')``." + +#: ../../writing/style.rst:127 +msgid "" +"As a side note, following the `YAGNI " +"`_ principle, it is " +"often harder to remove an optional argument (and its logic inside the " +"function) that was added \"just in case\" and is seemingly never used, than " +"to add a new optional argument and its logic when needed." +msgstr "" +"첨언 하나. `YAGNI `_ 원칙에 " +"따르면, \"만약을 위해서\" 추가했고 두 번 다시 사용하지 않은 선택적인 인자(그리고 함수 안에 포함된 관련 로직)을 삭제하기란, " +"필요할 때 새로운 선택적인 인자와 관련 로직을 추가하기보다 훨씬 어렵습니다. " + +#: ../../writing/style.rst:132 +msgid "" +"The **arbitrary argument list** is the third way to pass arguments to a " +"function. If the function intention is better expressed by a signature with " +"an extensible number of positional arguments, it can be defined with the " +"``*args`` constructs. In the function body, ``args`` will be a tuple of all " +"the remaining positional arguments. For example, ``send(message, *args)`` " +"can be called with each recipient as an argument: ``send('Hello', 'God', " +"'Mom', 'Cthulhu')``, and in the function body ``args`` will be equal to " +"``('God', 'Mom', 'Cthulhu')``." +msgstr "" +"**임의 인자 리스트** 는 함수에 인자를 보내는 세번째 방법입니다. 위치 인자에 추가적인 번호를 달아야 함수의 의도가 보다 잘 설명되는" +" 경우에는 ``*args`` 생성자를 쓰면 됩니다. 함수 본문에서 ``args`` 는 나머지 모든 위치 인자의 튜플이 됩니다. 예를 들어" +" ``send(message, *args)`` 는 이런 식으로 인자가 호출됩니다: ``send('Hello', 'God', 'Mom', " +"'Cthulhu')`` 를 호출하면, 함수 본문에서 ``args`` 는 ``('God', 'Mom', 'Cthulhu')`` 와 " +"같습니다. " + +#: ../../writing/style.rst:141 +msgid "" +"However, this construct has some drawbacks and should be used with caution. " +"If a function receives a list of arguments of the same nature, it is often " +"more clear to define it as a function of one argument, that argument being a" +" list or any sequence. Here, if ``send`` has multiple recipients, it is " +"better to define it explicitly: ``send(message, recipients)`` and call it " +"with ``send('Hello', ['God', 'Mom', 'Cthulhu'])``. This way, the user of the" +" function can manipulate the recipient list as a list beforehand, and it " +"opens the possibility to pass any sequence, including iterators, that cannot" +" be unpacked as other sequences." +msgstr "" +"하지만 이 생성자에는 문제점이 있으니 주의하셔야 합니다. 만약 함수가 같은 속성을 가진 인자의 리스트를 받는다면 ,이 리스트는 리스트나 " +"시퀀스의 형태를 가진 하나의 인자로 정의하는 편이 보다 명확할 때가 많습니다. 예를 들어 ``send`` 가 복수의 수신자를 가진다면 " +"이런 식으로 명확하게 정의하는 편이 좋습니다: ``send(message, recipients)`` 로 정의하고, " +"``send('Hello', ['God', 'Mom', 'Cthulhu'])`` 로 호출합니다. 이 방식에서는 함수를 사용하는 사람들이 " +"미리 수신자 명단을 리스트로 가공할 수 있고, 어느 시퀀스를 넘겨받든 이터레이터만 있으면 원하는 방식으로 풀 수 있습니다. " + +#: ../../writing/style.rst:150 +msgid "" +"The **arbitrary keyword argument dictionary** is the last way to pass " +"arguments to functions. If the function requires an undetermined series of " +"named arguments, it is possible to use the ``**kwargs`` construct. In the " +"function body, ``kwargs`` will be a dictionary of all the passed named " +"arguments that have not been caught by other keyword arguments in the " +"function signature." +msgstr "" +"**임의 키워드 인자 딕셔너리** 는 함수에 인자를 넘기는 마지막 방식입니다. 만약 함수가 필요로 하는 인자가 몇 개가 들어올지 알 수 " +"없으되 이름이 붙어있다면, ``kwargs`` 생성자를 사용할 수 있습니다. 함수 본문에서 ``kwargs`` 는 이름붙은 모든 인자의 " +"딕셔너리가 되는데 이러한 인자들은 오로지 ``kwargs`` 로만 받을 수 있습니다. " + +#: ../../writing/style.rst:157 +msgid "" +"The same caution as in the case of *arbitrary argument list* is necessary, " +"for similar reasons: these powerful techniques are to be used when there is " +"a proven necessity to use them, and they should not be used if the simpler " +"and clearer construct is sufficient to express the function's intention." +msgstr "" +"비슷한 이유로 *임의 인자 리스트* 를 쓸 때도 조심해야합니다: 이런 강력한 테크닉은 꼭 필요한 경우에만 써야합니다. 그리고 다른 " +"간단하고 명쾌한 생성자로도 함수의 의도를 표현하기에 충분하다면 절대 쓰면 안됩니다. " + +#: ../../writing/style.rst:162 +msgid "" +"It is up to the programmer writing the function to determine which arguments" +" are positional arguments and which are optional keyword arguments, and to " +"decide whether to use the advanced techniques of arbitrary argument passing." +" If the advice above is followed wisely, it is possible and enjoyable to " +"write Python functions that are:" +msgstr "" +"어느 인자를 위치 인자로 쓸지, 어느 인자를 선택적 키워드 인자로 쓸지, 임의 인자를 넘기는 고급 기술을 쓸지 말지를 결정하는 것은 " +"전적으로 함수를 작성하는 프로그래머에게 달렸습니다. 지금까지의 조언이 현명하게 쓰인다면, 파이썬 함수를 이렇게 즐겁게 작성할 수 " +"있습니다: " + +#: ../../writing/style.rst:168 +msgid "easy to read (the name and arguments need no explanations)" +msgstr "읽기 쉽다(이름과 인자를 설명할 필요가 없다)" + +#: ../../writing/style.rst:170 +msgid "" +"easy to change (adding a new keyword argument does not break other parts of " +"the code)" +msgstr "변경하기 쉽다(새 키워드 인자를 추가해도 코드의 다른 부분을 망가뜨리지 않는다)" + +#: ../../writing/style.rst:174 +msgid "Avoid the magical wand" +msgstr "마법의 지팡이를 피하기" + +#: ../../writing/style.rst:176 +msgid "" +"A powerful tool for hackers, Python comes with a very rich set of hooks and " +"tools allowing you to do almost any kind of tricky tricks. For instance, it " +"is possible to do each of the following:" +msgstr "" +"파이썬은 해커를 위한 막강한 도구입니다. 파이썬에는 어떠한 종류의 교묘한 트릭이라도 가능하게 해주는 다양한 도구들이 있습니다. 예를 " +"들자면 이런 것들입니다: " + +#: ../../writing/style.rst:180 +msgid "change how objects are created and instantiated" +msgstr "객체들이 어떻게 생성되고 초기화되었는지를 변경" + +#: ../../writing/style.rst:182 +msgid "change how the Python interpreter imports modules" +msgstr "파이썬 인터프리터가 모듈을 임포트 하는 방법을 변경" + +#: ../../writing/style.rst:184 +msgid "" +"It is even possible (and recommended if needed) to embed C routines in " +"Python." +msgstr "파이썬에 C 루틴을 넣는 것도 가능합니다(필요하다면 추천하기도 합니다)." + +#: ../../writing/style.rst:186 +msgid "" +"However, all these options have many drawbacks and it is always better to " +"use the most straightforward way to achieve your goal. The main drawback is " +"that readability suffers greatly when using these constructs. Many code " +"analysis tools, such as pylint or pyflakes, will be unable to parse this " +"\"magic\" code." +msgstr "" +"하지만 이 모든 방법은 결점이 있습니다. 그리고 목표를 향해 곧바로 나아가는 방법이 늘 더 좋습니다. 가장 중요한 문제점은 이러한 " +"생성자를 쓰면 가독성이 엄청나게 훼손된다는 점입니다. 파이린트나 파이플레이크 같은 많은 코드 분석 툴이 이런 \"마법\" 코드를 파싱하지" +" 못합니다. " + +#: ../../writing/style.rst:191 +msgid "" +"We consider that a Python developer should know about these nearly infinite " +"possibilities, because it instills confidence that no impassable problem " +"will be on the way. However, knowing how and particularly when **not** to " +"use them is very important." +msgstr "" +"우리는 파이썬 개발자들이 이러한 무한한 가능성을 알았으면 좋겠습니다. 해결불가능한 문제는 없다는 자신감을 심어주기 때문입니다. 하지만 " +"어떻게, 특히 어느 시점에 이런 마법의 지팡이를 **사용하지 말아야 하는지** 를 아는 것은 대단히 중요합니다. " + +#: ../../writing/style.rst:196 +msgid "" +"Like a kung fu master, a Pythonista knows how to kill with a single finger, " +"and never to actually do it." +msgstr "쿵푸의 달인처럼, 파이써니스타는 한 손가락으로 사람을 죽일 수 있지만 절대 실전에서 그것을 사용하지 않습니다. " + +#: ../../writing/style.rst:200 +msgid "We are all responsible users" +msgstr "우리는 모두 책임감 있는 사용자다" + +#: ../../writing/style.rst:202 +msgid "" +"As seen above, Python allows many tricks, and some of them are potentially " +"dangerous. A good example is that any client code can override an object's " +"properties and methods: there is no \"private\" keyword in Python. This " +"philosophy, very different from highly defensive languages like Java, which " +"give a lot of mechanisms to prevent any misuse, is expressed by the saying: " +"\"We are all responsible users\"." +msgstr "" +"위에서 본대로 파이썬에서는 많은 트릭이 가능하지만 이런 것들은 위험할 수 있습니다. 어느 클라이언트 코드가 객체의 속성과 메소드를 " +"오버라이드 할 수 있다는 것은 이 위험성에 대한 좋은 예시입니다. 파이썬에는 \"private\" 키워드가 없습니다. 이는 자바처럼 " +"오류를 막기 위한 많은 메커니즘을 가지고 있는 방어적인 언어와는 아주 다릅니다. 이러한 철학은 다음과 같이 표현할 수 있습니다: " +"\"우리는 모두 책임감 있는 사용자다\"." + +#: ../../writing/style.rst:209 +msgid "" +"This doesn't mean that, for example, no properties are considered private, " +"and that no proper encapsulation is possible in Python. Rather, instead of " +"relying on concrete walls erected by the developers between their code and " +"others', the Python community prefers to rely on a set of conventions " +"indicating that these elements should not be accessed directly." +msgstr "" +"이 말의 의미는 이런 것입니다. 파이썬에는 private로 인식되는 속성이 없다거나 적절한 캡슐화가 불가능하다는 뜻이 아닙니다. " +"파이썬에서는 개발자가 자신이 만든 코드와 다른 코드들 사이에 콘크리트 장벽을 세우고 거기에 의지하기보다는, 직접 접근해서는 안 될 " +"엘리먼트들을 알려주는 컨벤션에 의지하는 쪽을 선호합니다." + +#: ../../writing/style.rst:215 +msgid "" +"The main convention for private properties and implementation details is to " +"prefix all \"internals\" with an underscore. If the client code breaks this " +"rule and accesses these marked elements, any misbehavior or problems " +"encountered if the code is modified is the responsibility of the client " +"code." +msgstr "" +"private 속성과 그 상세한 구현을 위한 코딩 컨벤션은 \"내부적으로 사용하는\" 모든 변수 앞에 언더스코어(_)를 붙이는 것입니다." +" 만약 클라이언트 코드가 이 룰을 무시하고 어떤 엘리먼트에 접근하려고 한다면 그 코드가 겪을지도 모를 모든 문제와 오용은 전적으로 " +"클라이언트 코드의 책임입니다. " + +#: ../../writing/style.rst:220 +msgid "" +"Using this convention generously is encouraged: any method or property that " +"is not intended to be used by client code should be prefixed with an " +"underscore. This will guarantee a better separation of duties and easier " +"modification of existing code; it will always be possible to publicize a " +"private property, but making a public property private might be a much " +"harder operation." +msgstr "" +"이 컨벤션을 따를 것을 추천드립니다: 클라이언트 코드에서 가져다 쓰라고 만든 메소드나 속성이 아니라면 반드시 앞에 언더스코어(_)를 " +"붙이세요. 이렇게 하면 각 코드의 역할을 더 명확히 분리시켜줄 뿐만 아니라, 기존 코드의 수정도 쉬워집니다. 그리고 private " +"속성으로 표시하는 것은 언제든지 가능하지만, public 속성을 private로 바꾸기란 훨씬 더 어려운 작업이 될겁니다. " + +#: ../../writing/style.rst:227 +msgid "Returning values" +msgstr "반환값" + +#: ../../writing/style.rst:229 +msgid "" +"When a function grows in complexity, it is not uncommon to use multiple " +"return statements inside the function's body. However, in order to keep a " +"clear intent and a sustainable readability level, it is preferable to avoid " +"returning meaningful values from many output points in the body." +msgstr "" +"함수가 점점 더 복잡해지는 경우, 함수 본문에 여러 개의 리턴 구문이 들어가는 것이 보통입니다. 하지만 코드의 의도를 명확히 하고 지속 " +"가능한 가독성 수준을 유지하기 위해서는, 본문의 여러 출력 지점에서 의미 있는 값을 리턴하는 것은 피하는 편이 좋습니다." + +#: ../../writing/style.rst:234 +msgid "" +"There are two main cases for returning values in a function: the result of " +"the function return when it has been processed normally, and the error cases" +" that indicate a wrong input parameter or any other reason for the function " +"to not be able to complete its computation or task." +msgstr "" +"다음은 함수가 값을 리턴하는 주요 케이스입니다: 함수가 정상적으로 실행되었을 때의 리턴값, 그리고 잘못된 입력 파라미터나 들어가거나 다른" +" 이유로 인하여 함수의 계산이나 작업을 완료할 수 없어 에러가 발생하는 경우가 있습니다. " + +#: ../../writing/style.rst:239 +msgid "" +"If you do not wish to raise exceptions for the second case, then returning a" +" value, such as None or False, indicating that the function could not " +"perform correctly might be needed. In this case, it is better to return as " +"early as the incorrect context has been detected. It will help to flatten " +"the structure of the function: all the code after the return-because-of-" +"error statement can assume the condition is met to further compute the " +"function's main result. Having multiple such return statements is often " +"necessary." +msgstr "" +"두번째 경우에서 예외를 발생시키고 싶지 않다면, None 이나 False 같이 함수를 정상적으로 수행할 수 없다는 의미의 리턴값이 필요할" +" 것입니다. 이런 경우에는 가능한 한 일찍 부정확한 구문이 발견되었음을 알리는 편이 좋습니다. 이 방법이 함수의 구조를 매끈하게 하는데 " +"도움이 될 것입니다: 에러 때문에 리턴하는 구문 아래의 모든 코드는 해당 함수의 주요 결과물을 계산하기 위한 조건을 만족한다고 볼 수 " +"있습니다. 이런 경우에는 여러 개의 리턴 구문이 필요합니다. " + +#: ../../writing/style.rst:247 +msgid "" +"However, when a function has multiple main exit points for its normal " +"course, it becomes difficult to debug the returned result, so it may be " +"preferable to keep a single exit point. This will also help factoring out " +"some code paths, and the multiple exit points are a probable indication that" +" such a refactoring is needed." +msgstr "" +"하지만 정상적으로 코드가 돌아가는 부분에도 함수에 여러 개의 종료 지점이 있는 경우, 리턴하는 결과물을 디버깅하기 어렵습니다. 따라서 " +"함수에 하나의 종료점만 두는 편을 추천합니다. 이렇게 하면 코드의 경로를 뽑아내기에 좋습니다. 그러니 여러 개의 종료점이 있으면 이는 곧" +" 리팩토링이 필요한 지점일지도 모릅니다. " + +#: ../../writing/style.rst:270 +msgid "Idioms" +msgstr "이디엄" + +#: ../../writing/style.rst:272 +msgid "" +"A programming idiom, put simply, is a *way* to write code. The notion of " +"programming idioms is discussed amply at `c2 " +"`_ and at `Stack Overflow " +"`_." +msgstr "" +"프로그래밍 이디엄이란 간단히 말하자면 코드를 작성하는 *방법* 입니다. 이 개념은 `c2 " +"`_ 와 `Stack Overflow " +"`_ " +"에서 광범위하게 논의된 바 있습니다." + +#: ../../writing/style.rst:276 +msgid "Idiomatic Python code is often referred to as being *Pythonic*." +msgstr "자연스러운 파이썬 코드를 흔히들 *파이써닉* 스럽다고 말합니다. " + +#: ../../writing/style.rst:278 +msgid "" +"Although there usually is one --- and preferably only one --- obvious way to" +" do it; *the* way to write idiomatic Python code can be non-obvious to " +"Python beginners. So, good idioms must be consciously acquired." +msgstr "" +"이를 위한 명백한 방법(그리고 유일한 방법이라고 말하고 싶습니다)이 있지만, 파이썬 초보자에게는 이상적인 파이썬 코드 작성법이 와닿지 " +"않을 수도 있습니다. 그러니 좋은 이디엄들을 의식적으로 숙지해야 합니다. " + +#: ../../writing/style.rst:282 +msgid "Some common Python idioms follow:" +msgstr "다음은 몇 가지 일반적인 파이썬 이디엄들입니다: " + +#: ../../writing/style.rst:287 +msgid "Unpacking" +msgstr "언패킹" + +#: ../../writing/style.rst:289 +msgid "" +"If you know the length of a list or tuple, you can assign names to its " +"elements with unpacking. For example, since ``enumerate()`` will provide a " +"tuple of two elements for each item in list:" +msgstr "" +"리스트나 튜플의 길이를 알고 있다면, 언패킹을 하면서 각 엘리먼트마다 이름을 붙여줄 수 있습니다. 예를 들면 ``enumerate()``" +" 는 리스트 내부에 있는 각각의 아이템에 2개의 엘리먼트가 있는 튜플을 만들어줍니다: " + +#: ../../writing/style.rst:298 +msgid "You can use this to swap variables as well:" +msgstr "이런 식으로 변수들을 스왑할 수도 있습니다. " + +#: ../../writing/style.rst:304 +msgid "Nested unpacking works too:" +msgstr "중첩 언패킹도 됩니다: " + +#: ../../writing/style.rst:310 +msgid "" +"In Python 3, a new method of extended unpacking was introduced by " +":pep:`3132`:" +msgstr "파이썬3에서는 :pep:`3132` 에서 언패킹을 하는 새로운 방법이 소개되었습니다: " + +#: ../../writing/style.rst:321 +msgid "Create an ignored variable" +msgstr "사용하지 않을 변수 만들기" + +#: ../../writing/style.rst:323 +msgid "" +"If you need to assign something (for instance, in :ref:`unpacking-ref`) but " +"will not need that variable, use ``__``:" +msgstr "" +"사용하지 않을 변수를 가져다가 어딘가에 할당하는 경우 (예를 들면 :ref:`unpacking-ref` 할 경우) ``__`` 를 " +"사용하세요: " + +#: ../../writing/style.rst:333 +msgid "" +"Many Python style guides recommend the use of a single underscore \"``_``\" " +"for throwaway variables rather than the double underscore \"``__``\" " +"recommended here. The issue is that \"``_``\" is commonly used as an alias " +"for the :func:`~gettext.gettext` function, and is also used at the " +"interactive prompt to hold the value of the last operation. Using a double " +"underscore instead is just as clear and almost as convenient, and eliminates" +" the risk of accidentally interfering with either of these other use cases." +msgstr "" +"이 안내서에서는 쓸모없는 변수를 치워버리는데 언더스코어 두 줄 \"``__``\" 을 사용할 것을 추천하지만, 다른 많은 파이썬 스타일 " +"안내서에서는 언더스코어 한 줄 \"``_``\" 을 사용하라고 합니다. 하지만 \"``_``\" 에는 문제가 있습니다. \"``_``\"" +" 이 일반적으로 :func:`~gettext.gettext` 함수의 별칭(alias)로 쓰일 뿐 아니라, 대화형 프롬프트상에서 이전 " +"명령어의 결과값을 가지고 있는 변수로 쓰이기 때문입니다. 그 대신 언더스코어 두 줄을 사용하면 아주 깔끔하고 편리할 뿐만 아니라, 위에서" +" 이야기한 경우가 돌발적으로 나타나 코드를 간섭하는 리스크를 제거할 수 있습니다. " + +#: ../../writing/style.rst:343 +msgid "Create a length-N list of the same thing" +msgstr "동일한 내용물을 가진 길이 N의 리스트 만들기" + +#: ../../writing/style.rst:345 +msgid "Use the Python list ``*`` operator:" +msgstr "파이썬 리스트의 ``*`` 연산자를 사용하세요. " + +#: ../../writing/style.rst:352 +msgid "Create a length-N list of lists" +msgstr "길이가 N인 리스트가 들어있는 리스트 만들기" + +#: ../../writing/style.rst:354 +msgid "" +"Because lists are mutable, the ``*`` operator (as above) will create a list " +"of N references to the `same` list, which is not likely what you want. " +"Instead, use a list comprehension:" +msgstr "" +"리스트는 변경 가능하기 때문에, ``*`` 연산자는 (위에서처럼) N개의 리퍼런스가 있는 `같은` 리스트를 만들 것입니다. 하지만 아마 " +"이렇게 만들고 싶지는 않았을 것입니다. 대신에 리스트 컴프리헨션(list comprehension)을 사용하세요: (역주: 번역이 마땅치" +" 않아 영문 그대로 사용하였습니다. 타 번역서에서는 리스트 축약, 리스트 해석, 리스트 내장, 리스트 내포 등으로 번역되어 있습니다. )" + +#: ../../writing/style.rst:363 +msgid "Create a string from a list" +msgstr "리스트로 문자열 만들기" + +#: ../../writing/style.rst:365 +msgid "" +"A common idiom for creating strings is to use :py:meth:`str.join` on an " +"empty string." +msgstr "문자열을 만드는 일반적인 이디엄은 빈 문자열 변수에 :py:meth:`str.join` 을 사용하는 것입니다. " + +#: ../../writing/style.rst:373 +msgid "" +"This will set the value of the variable *word* to 'spam'. This idiom can be " +"applied to lists and tuples." +msgstr "이것은 변수의 *글자* 의 값을 붙여줍니다. 이 이디엄은 리스트와 튜플에도 적용 가능합니다. " + +#: ../../writing/style.rst:377 +msgid "Searching for an item in a collection" +msgstr "컬렉션에서 아이템 찾기" + +#: ../../writing/style.rst:379 +msgid "" +"Sometimes we need to search through a collection of things. Let's look at " +"two options: lists and sets." +msgstr "컬렉션에서 무언가를 찾아야 할 때가 있습니다. 두 가지 옵션을 살펴봅시다. 리스트와 셋(set)입니다: " + +#: ../../writing/style.rst:382 +msgid "Take the following code for example:" +msgstr "예시 삼아 다음의 코드를 작성해봅시다: " + +#: ../../writing/style.rst:395 +msgid "" +"Even though both functions look identical, because *lookup_set* is utilizing" +" the fact that sets in Python are hashtables, the lookup performance between" +" the two is very different. To determine whether an item is in a list, " +"Python will have to go through each item until it finds a matching item. " +"This is time consuming, especially for long lists. In a set, on the other " +"hand, the hash of the item will tell Python where in the set to look for a " +"matching item. As a result, the search can be done quickly, even if the set " +"is large. Searching in dictionaries works the same way. For more information" +" see this `StackOverflow `_ page. For detailed information on the " +"amount of time various common operations take on each of these data " +"structures, see `this page `_." +msgstr "" +"두 함수는 똑같아 보입니다. 하지만 검색 성능은 확연히 다릅니다. *lookup_set* 함수가 파이썬에서 셋(set)은 해시테이블이라는" +" 사실을 이용하기 때문입니다. 리스트 안에 어떤 아이템이 존재하는지 확인하려면 파이썬은 그 아이템과 매칭되는 것을 찾을 때까지 각각의 " +"아이템을 모두 검사해야만 합니다. 이 작업에는 시간이 걸립니다. 리스트가 긴 경우에는 더욱 그렇습니다. 반면에 셋(set)에서는 각 " +"아이템의 해시가 셋 안의 어느 곳에 매칭되는 아이템이 위치하는지 알려줍니다. 결과적으로 셋(set)이 크더라도 검색이 빠르게 완료됩니다." +" 딕셔너리(dictionary)에서의 검색도 마찬가지로 수행됩니다. 더 많은 정보를 원하시면 `StackOverflow " +"`_ 페이지를 참조하세요. 데이터 구조에 따라 각 연산자들이 어느 정도의 시간을 소모하는지에 대한 자세한 정보는 `이 페이지 " +"`_ 를 참고하세요." + +#: ../../writing/style.rst:409 +msgid "" +"Because of these differences in performance, it is often a good idea to use " +"sets or dictionaries instead of lists in cases where:" +msgstr "" +"이러한 성능의 차이 때문에 다음과 같은 경우에는 리스트 대신 셋(set)이나 딕셔너리(dictionary)를 사용하는 편이 좋습니다: " + +#: ../../writing/style.rst:412 +msgid "The collection will contain a large number of items" +msgstr "컬렉션이 아이템을 많이 가질 경우" + +#: ../../writing/style.rst:414 +msgid "You will be repeatedly searching for items in the collection" +msgstr "컬렉션 안의 아이템을 반복적으로 검색할 경우" + +#: ../../writing/style.rst:416 +msgid "You do not have duplicate items." +msgstr "중복 아이템이 없는 경우" + +#: ../../writing/style.rst:418 +msgid "" +"For small collections, or collections which you will not frequently be " +"searching through, the additional time and memory required to set up the " +"hashtable will often be greater than the time saved by the improved search " +"speed." +msgstr "" +"크기가 작거나 검색을 자주 하지 않는 컬렉션의 경우에는 오히려 해시테이블을 만드는데 필요한 추가적인 시간과 메모리가 검색할 때 절약되는 " +"시간에 비해 더 큰 경우도 많습니다. " + +#: ../../writing/style.rst:426 +msgid "Zen of Python" +msgstr "파이썬의 선(禪)" + +#: ../../writing/style.rst:428 +msgid "Also known as :pep:`20`, the guiding principles for Python's design." +msgstr ":pep:`20` 으로도 알려진 파이썬 디자인의 기본 원칙" + +#: ../../writing/style.rst:455 +msgid "" +"For some examples of good Python style, see `these slides from a Python user" +" group `_." +msgstr "" +"좋은 파이썬 스타일의 예시를 보고 싶다면, `파이썬 유저 그룹의 이 슬라이드 `_ 를 읽어보세요." + +#: ../../writing/style.rst:461 +msgid "PEP 8" +msgstr "PEP 8" + +#: ../../writing/style.rst:463 +msgid "" +":pep:`8` is the de facto code style guide for Python. A high quality, easy-" +"to-read version of PEP 8 is also available at `pep8.org " +"`_." +msgstr "" +":pep:`8` 은 사실상 파이썬을 위한 코드 스타일 안내서입니다. 질 좋고 읽기 쉬운 버전의 PEP 8도 있습니다: `pep8.org " +"`_ " + +#: ../../writing/style.rst:466 +msgid "" +"This is highly recommended reading. The entire Python community does their " +"best to adhere to the guidelines laid out within this document. Some project" +" may sway from it from time to time, while others may amend its " +"recommendations." +msgstr "" +"읽어볼 것을 강력 추천합니다. 모든 파이썬 커뮤니티가 이 문서의 가이드라인을 준수하려고 노력합니다. 시간이 흐름에 따라 여기서 멀어지는 " +"프로젝트도 있을 것이고, 권장 사항을 수정하는 프로젝트도 있을 것입니다." + +#: ../../writing/style.rst:470 +msgid "" +"That being said, conforming your Python code to PEP 8 is generally a good " +"idea and helps make code more consistent when working on projects with other" +" developers. There is a command-line program, `pycodestyle " +"`_ (previously known as ``pep8``), " +"that can check your code for conformance. Install it by running the " +"following command in your terminal:" +msgstr "" +"이 말인즉, PEP 8에 파이썬 코드를 맞추는 편이 대체로 좋은 생각이며, 프로젝트에서 다른 개발자와 함께 일할 경우 코드의 일관성을 " +"유지하는데 도움이 된다는 뜻입니다. 이를 위해 여러분의 코드가 PEP 8을 지키는지를 체크하는 `pycodestyle " +"`_ (이전 명칭은 ``pep8``) 라는 커맨드라인 프로그램이 " +"있습니다. 터미널에서 아래의 명령어를 돌려 설치해보세요." + +#: ../../writing/style.rst:482 +msgid "" +"Then run it on a file or series of files to get a report of any violations." +msgstr "그런 다음 파일 하나 혹은 여러 개의 파일에다 돌리면 PEP 8 위반 여부 보고서를 얻을 수 있습니다. " + +#: ../../writing/style.rst:497 +msgid "Auto-Formatting" +msgstr "자동 포매팅" + +#: ../../writing/style.rst:499 +msgid "" +"There are several auto-formatting tools that can reformat your code, in " +"order to comply with PEP 8." +msgstr "PEP 8을 준수하도록 코드를 재포맷해주는 자동 포매팅 도구가 여러 가지 있습니다." + +#: ../../writing/style.rst:502 +msgid "**autopep8**" +msgstr "**autopep8**" + +#: ../../writing/style.rst:504 +msgid "" +"The program `autopep8 `_ can be used to " +"automatically reformat code in the PEP 8 style. Install the program with:" +msgstr "" +"`autopep8 `_ 프로그램도 코드를 PEP 8 스타일로 자동 " +"재포맷하는데 쓰일 수 있습니다. 이렇게 설치하시면 됩니다:" + +#: ../../writing/style.rst:511 +msgid "Use it to format a file in-place with:" +msgstr "포맷할 파일에다가 이렇게 사용하시며 됩니다: " + +#: ../../writing/style.rst:517 +msgid "" +"Excluding the ``--in-place`` flag will cause the program to output the " +"modified code directly to the console for review. The ``--aggressive`` flag " +"will perform more substantial changes and can be applied multiple times for " +"greater effect." +msgstr "" +"``--in-place`` 플래그를 빼면 프로그램이 콘솔에 바로 뽑아준 변경된 코드로 리뷰를 할 수 있습니다. " +"``--aggressive`` 플래그는 더 많은 변화를 수행하고, 여러 번 수행해서 더 많은 효과를 볼 수도 있습니다. " + +#: ../../writing/style.rst:521 +msgid "**yapf**" +msgstr "**yapf**" + +#: ../../writing/style.rst:523 +msgid "" +"While autopep8 focuses on solving the PEP 8 violations, `yapf " +"`_ tries to improve the format of your code " +"aside from complying with PEP 8. This formatter aims at providing as good " +"looking code as a programmer who writes PEP 8 compliant code. It gets " +"installed with:" +msgstr "" +"autopep8가 PEP 8 위반을 해결하는 데 초점을 맞추는 반면, `yapf " +"`_ 는 PEP 8 준수 외에도 코드의 포맷을 개선하려 합니다. 이 포매터는 " +"PEP 8을 잘 따르는 프로그래머가 작성한 것만큼 보기 좋은 코드를 제공하는 것을 목표로 합니다. 다음과 같이 설치합니다:" + +#: ../../writing/style.rst:533 +msgid "Run the auto-formatting of a file with:" +msgstr "다음 명령어로 파일의 자동 포매팅을 실행합니다:" + +#: ../../writing/style.rst:539 +msgid "" +"Similar to autopep8, running the command without the ``--in-place`` flag " +"will output the diff for review before applying the changes." +msgstr "" +"autopep8과 마찬가지로, ``--in-place`` 플래그 없이 명령어를 실행하면 변경 사항을 적용하기 전에 검토할 수 있도록 " +"diff를 출력합니다." + +#: ../../writing/style.rst:542 +msgid "**black**" +msgstr "**black**" + +#: ../../writing/style.rst:544 +msgid "" +"The auto-formatter `black `_ offers an " +"opinionated and deterministic reformatting of your code base. Its main focus" +" lies in providing a uniform code style without the need of configuration " +"throughout its users. Hence, users of black are able to forget about " +"formatting altogether. Also, due to the deterministic approach minimal git " +"diffs with only the relevant changes are guaranteed. You can install the " +"tool as follows:" +msgstr "" +"자동 포매터 `black `_ 은 코드베이스에 대해 독단적이고 결정론적인 재포맷을 " +"제공합니다. 사용자 전체에 걸쳐 설정 없이도 일관된 코드 스타일을 제공하는 것이 주된 초점입니다. 따라서 black 사용자는 포매팅에 " +"대해 신경을 끄고 잊어버릴 수 있습니다. 또한 결정론적 접근 방식 덕분에, 관련된 변경 사항만 담긴 최소한의 git diff가 " +"보장됩니다. 다음과 같이 설치할 수 있습니다:" + +#: ../../writing/style.rst:556 +msgid "A python file can be formatted with:" +msgstr "파이썬 파일을 다음과 같이 포맷할 수 있습니다:" + +#: ../../writing/style.rst:562 +msgid "" +"Adding the ``--diff`` flag provides the code modification for review without" +" direct application." +msgstr "``--diff`` 플래그를 추가하면 코드를 직접 적용하지 않고 검토용으로 변경 사항을 제공합니다." + +#: ../../writing/style.rst:567 +msgid "Conventions" +msgstr "컨벤션(convention)" + +#: ../../writing/style.rst:569 +msgid "" +"Here are some conventions you should follow to make your code easier to " +"read." +msgstr "읽기 쉬운 코드 작성을 위한 코딩 컨벤션을 소개합니다. " + +#: ../../writing/style.rst:572 +msgid "Check if a variable equals a constant" +msgstr "변수와 상수가 같은지 여부를 체크하기" + +#: ../../writing/style.rst:574 +msgid "" +"You don't need to explicitly compare a value to True, or None, or 0 -- you " +"can just add it to the if statement. See `Truth Value Testing " +"`_ for a " +"list of what is considered false." +msgstr "" +"값이 True인지, None인지, 0인지를 확실하게 비교할 필요는 없습니다 - 그냥 if문만 붙이면 됩니다. `Truth Value " +"Testing `_" +" 을 보시면 어느 것이 false인지 알 수 있습니다. " + +#: ../../writing/style.rst:579 ../../writing/style.rst:611 +#: ../../writing/style.rst:649 ../../writing/style.rst:690 +#: ../../writing/style.rst:707 ../../writing/style.rst:752 +#: ../../writing/style.rst:798 ../../writing/style.rst:833 +msgid "**Bad**:" +msgstr "**나쁜 예**:" + +#: ../../writing/style.rst:589 ../../writing/style.rst:621 +#: ../../writing/style.rst:656 ../../writing/style.rst:670 +#: ../../writing/style.rst:696 ../../writing/style.rst:726 +#: ../../writing/style.rst:765 ../../writing/style.rst:807 +#: ../../writing/style.rst:844 +msgid "**Good**:" +msgstr "**좋은 예**:" + +#: ../../writing/style.rst:606 +msgid "Access a Dictionary Element" +msgstr "딕셔너리의 엘리먼트에 접근하기" + +#: ../../writing/style.rst:608 +msgid "" +"Don't use the :py:meth:`dict.has_key` method. Instead, use ``x in d`` " +"syntax, or pass a default argument to :py:meth:`dict.get`." +msgstr "" +":py:meth:`dict.has_key` 메소드를 쓰지 마세요. 대신에 ``x in d`` 문법을 쓰거나, " +":py:meth:`dict.get` 에 디폴트값을 넣어 쓰세요. " + +#: ../../writing/style.rst:635 +msgid "Short Ways to Manipulate Lists" +msgstr "리스트를 조작하는 지름길" + +#: ../../writing/style.rst:637 +msgid "" +"`List comprehensions " +"`_ " +"provides a powerful, concise way to work with lists." +msgstr "" +"`리스트 컴프리헨션(list comprehension) " +"`_ " +"은 리스트로 작업하는 강력하고도 간결한 방법을 제공합니다." + +#: ../../writing/style.rst:641 +msgid "" +"`Generator expressions " +"`_ " +"follows almost the same syntax as list comprehensions but return a generator" +" instead of a list." +msgstr "" +"`제너레이터 표현식(generator expression) " +"`_ 은 리스트" +" 컴프리헨션과 거의 동일한 문법을 따르지만 리스트 대신 제너레이터를 반환합니다." + +#: ../../writing/style.rst:646 +msgid "" +"Creating a new list requires more work and uses more memory. If you are just" +" going to loop through the new list, prefer using an iterator instead." +msgstr "" +"새 리스트를 만드는 데에는 더 많은 작업이 필요하고 메모리도 더 많이 사용합니다. 새 리스트를 단지 순회하기만 할 거라면, 그 대신 " +"이터레이터를 사용하는 편이 좋습니다." + +#: ../../writing/style.rst:663 +msgid "" +"Use list comprehensions when you really need to create a second list, for " +"example if you need to use the result multiple times." +msgstr "정말로 두 번째 리스트를 만들 필요가 있을 때, 예를 들어 결과를 여러 번 사용해야 할 때 리스트 컴프리헨션을 사용하세요." + +#: ../../writing/style.rst:667 +msgid "" +"If your logic is too complicated for a short list comprehension or generator" +" expression, consider using a generator function instead of returning a " +"list." +msgstr "" +"로직이 짧은 리스트 컴프리헨션이나 제너레이터 표현식으로 표현하기에 너무 복잡하다면, 리스트를 반환하는 대신 제너레이터 함수를 사용하는 " +"것을 고려하세요." + +#: ../../writing/style.rst:688 +msgid "Never use a list comprehension just for its side effects." +msgstr "부수 효과만을 위해서 리스트 컴프리헨션을 사용하지 마세요." + +#: ../../writing/style.rst:705 +msgid "Filtering a list" +msgstr "리스트 필터링하기" + +#: ../../writing/style.rst:709 +msgid "Never remove items from a list while you are iterating through it." +msgstr "리스트를 순회하는 도중에 그 리스트의 항목을 제거하지 마세요." + +#: ../../writing/style.rst:719 +msgid "Don't make multiple passes through the list." +msgstr "리스트를 여러 번 순회하지 마세요." + +#: ../../writing/style.rst:728 +msgid "Use a list comprehension or generator expression." +msgstr "리스트 컴프리헨션이나 제너레이터 표현식을 사용하세요." + +#: ../../writing/style.rst:740 +msgid "Possible side effects of modifying the original list" +msgstr "원본 리스트를 수정할 때 발생할 수 있는 부수 효과" + +#: ../../writing/style.rst:742 +msgid "" +"Modifying the original list can be risky if there are other variables " +"referencing it. But you can use *slice assignment* if you really want to do " +"that." +msgstr "" +"다른 변수가 같은 리스트를 참조하고 있다면 원본 리스트를 수정하는 일은 위험할 수 있습니다. 정말로 그렇게 하고 싶다면 *슬라이스 " +"할당(slice assignment)* 을 사용할 수 있습니다." + +#: ../../writing/style.rst:751 +msgid "Modifying the values in a list" +msgstr "리스트의 값 수정하기" + +#: ../../writing/style.rst:754 +msgid "" +"Remember that assignment never creates a new object. If two or more " +"variables refer to the same list, changing one of them changes them all." +msgstr "" +"할당은 결코 새 객체를 만들지 않는다는 점을 기억하세요. 두 개 이상의 변수가 같은 리스트를 참조한다면, 그 중 하나를 바꾸면 모두가 " +"바뀝니다." + +#: ../../writing/style.rst:767 +msgid "It's safer to create a new list object and leave the original alone." +msgstr "새 리스트 객체를 만들고 원본은 건드리지 않는 편이 더 안전합니다." + +#: ../../writing/style.rst:777 +msgid "Use :py:func:`enumerate` keep a count of your place in the list." +msgstr ":py:func:`enumerate` 를 사용하면 리스트 안의 순서를 세어 기억시켜둘 수 있습니다. " + +#: ../../writing/style.rst:789 +msgid "" +"The :py:func:`enumerate` function has better readability than handling a " +"counter manually. Moreover, it is better optimized for iterators." +msgstr ":py:func:`enumerate` 함수는 직접 번호를 매기는 코드를 다루는 방법보다 가독성이 좋습니다. " + +#: ../../writing/style.rst:793 +msgid "Read From a File" +msgstr "파일에서 읽기" + +#: ../../writing/style.rst:795 +msgid "" +"Use the ``with open`` syntax to read from files. This will automatically " +"close files for you." +msgstr "``with open`` 문법으로 파일을 읽으세요. 파일을 자동으로 닫아줍니다. " + +#: ../../writing/style.rst:815 +msgid "" +"The ``with`` statement is better because it will ensure you always close the" +" file, even if an exception is raised inside the ``with`` block." +msgstr "" +"``with`` 문은 파일을 반드시 닫아주기 때문에 더 좋습니다. 심지어 ``with`` 블럭 안에서 예외(exception)이 발생해도" +" 그렇습니다. " + +#: ../../writing/style.rst:819 +msgid "Line Continuations" +msgstr "줄 잇기" + +#: ../../writing/style.rst:821 +msgid "" +"When a logical line of code is longer than the accepted limit, you need to " +"split it over multiple physical lines. The Python interpreter will join " +"consecutive lines if the last character of the line is a backslash. This is " +"helpful in some cases, but should usually be avoided because of its " +"fragility: a white space added to the end of the line, after the backslash, " +"will break the code and may have unexpected results." +msgstr "" +"코드의 논리적 줄이 어느 정도를 넘어서면 몇 개의 물리적 줄로 쪼갤 필요가 있습니다. 파이썬 인터프리터는 줄의 마지막 문자가 " +"역슬래시(\\)일 경우 자동으로 줄을 이어줍니다. 이는 많은 경우에 도움이 되지만 망가지기 쉬운 경우가 있기에 일반적으로 피해야합니다: " +"역슬래시 뒤에 빈 칸(white space)가 있는 경우, 코드가 망가지고 예상치 못한 결과가 나옵니다. " + +#: ../../writing/style.rst:828 +msgid "" +"A better solution is to use parentheses around your elements. Left with an " +"unclosed parenthesis on an end-of-line, the Python interpreter will join the" +" next line until the parentheses are closed. The same behavior holds for " +"curly and square braces." +msgstr "" +"더 나은 해결책은 괄호()를 두르는 것입니다. 파이썬 인터프리터는 왼쪽의 열린 괄호에서부터 오른쪽의 닫힌 괄호까지의 줄을 자동으로 " +"연결합니다. 중괄호{}와 대괄호[]에서도 동일하게 동작합니다. " + +#: ../../writing/style.rst:857 +msgid "" +"However, more often than not, having to split a long logical line is a sign " +"that you are trying to do too many things at the same time, which may hinder" +" readability." +msgstr "" +"그러나 대부분의 경우 긴 논리적 줄을 나누는 짓은 동시에 너무 많은 일을 하려고 한다는 신호입니다. 이는 가독성을 해칩니다. " + +#~ msgid "Note: Use range() instead of xrange() in Python 3" +#~ msgstr "주석: 파이썬3에서는 xrange() 대신에 range()를 쓰세요. " diff --git a/docs/locale/ko/LC_MESSAGES/writing/tests.mo b/docs/locale/ko/LC_MESSAGES/writing/tests.mo new file mode 100644 index 00000000..f54fd38a Binary files /dev/null and b/docs/locale/ko/LC_MESSAGES/writing/tests.mo differ diff --git a/docs/locale/ko/LC_MESSAGES/writing/tests.po b/docs/locale/ko/LC_MESSAGES/writing/tests.po new file mode 100644 index 00000000..937feebf --- /dev/null +++ b/docs/locale/ko/LC_MESSAGES/writing/tests.po @@ -0,0 +1,423 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2011-2021 Kenneth Reitz & Real Python. CC BY-NC-SA +# 3.0 +# This file is distributed under the same license as the pythonguide +# package. +# FIRST AUTHOR , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: pythonguide 0.0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-03-15 08:55+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: YoungSeon Ahn \n" +"Language-Team: KOREAN \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.2.0\n" + +#: ../../writing/tests.rst:5 +msgid "Testing Your Code" +msgstr "코드 테스트하기" + +#: ../../writing/tests.rst:9 +msgid "Testing your code is very important." +msgstr "코드 테스트는 아주 중요합니다." + +#: ../../writing/tests.rst:11 +msgid "" +"Getting used to writing testing code and running this code in parallel is " +"now considered a good habit. Used wisely, this method helps to define your " +"code's intent more precisely and have a more decoupled architecture." +msgstr "" +"테스트 코드를 능숙하게 작성하고 이 코드를 패러랠하게 돌리는 것은 이제 좋은 습관으로 인정받고 있습니다. 이 방법을 현명하게 사용하면 " +"코드의 의도를 보다 명확히하는데 좋을 뿐 아니라, 아키텍처의 결합도를 낮출 수 있습니다. " + +#: ../../writing/tests.rst:15 +msgid "Some general rules of testing:" +msgstr "테스트의 일반 원칙 몇 가지:" + +#: ../../writing/tests.rst:17 +msgid "" +"A testing unit should focus on one tiny bit of functionality and prove it " +"correct." +msgstr "테스트 유닛은 각 기능의 가장 작은 단위에 집중하여, 해당 기능이 정확히 동작하는지를 증명해야 합니다. " + +#: ../../writing/tests.rst:20 +msgid "" +"Each test unit must be fully independent. Each test must be able to run " +"alone, and also within the test suite, regardless of the order that they are" +" called. The implication of this rule is that each test must be loaded with " +"a fresh dataset and may have to do some cleanup afterwards. This is usually " +"handled by :meth:`setUp()` and :meth:`tearDown()` methods." +msgstr "" +"각 테스트 유닛은 반드시 독립적이어야 합니다. 각 테스트는 혼자서도 실행 가능해야하고, 테스트 슈트로도 실행 가능해야 합니다. 이 때, " +"호출되는 순서와 무관하게 잘 동작해야 합니다. 이 규칙이 뜻하는 바, 새로운 데이터셋으로 각각의 테스트를 로딩해야 하고, 그 실행 결과는" +" 꼭 삭제해야합니다. 보통 :meth:`setUp()` 과 :meth:`tearDown()` 메소드로 이런 작업을 합니다. " + +#: ../../writing/tests.rst:26 +msgid "" +"Try hard to make tests that run fast. If one single test needs more than a " +"few milliseconds to run, development will be slowed down or the tests will " +"not be run as often as is desirable. In some cases, tests can't be fast " +"because they need a complex data structure to work on, and this data " +"structure must be loaded every time the test runs. Keep these heavier tests " +"in a separate test suite that is run by some scheduled task, and run all " +"other tests as often as needed." +msgstr "" +"테스트가 빠르게 돌 수 있도록 만들기 위해 노력해야 합니다. 테스트 하나가 실행하는데 몇 밀리세컨드 이상의 시간이 걸린다면, 개발 " +"속도가 느려지거나 테스트가 충분히 자주 수행되지 못할 것입니다. 테스트에 필요한 데이터 구조가 너무 복잡하고, 테스트를 하려면 매번 이 " +"복잡한 데이터를 불러와야 해서 테스트를 빠르게 만들 수 없는 경우도 있습니다. 이럴 때는 무거운 테스트는 따로 분리하여 별도의 테스트 " +"슈트를 만들어 두고 스케쥴 작업을 걸어두면 됩니다. 그리고 그 외의 다른 모든 테스트는 필요한 만큼 자주 수행하면 됩니다. " + +#: ../../writing/tests.rst:34 +msgid "" +"Learn your tools and learn how to run a single test or a test case. Then, " +"when developing a function inside a module, run this function's tests " +"frequently, ideally automatically when you save the code." +msgstr "" +"지금 사용하고 있는 툴이 개별 테스트나 테스트 케이스를 어떻게 수행하는지 배우셔야 합니다. 모듈 안에 들어있는 함수를 개발하고 있다면, " +"그 함수의 테스트를 자주, 가능하다면 코드를 저장할 때마다 자동으로 돌려야 합니다. " + +#: ../../writing/tests.rst:38 +msgid "" +"Always run the full test suite before a coding session, and run it again " +"after. This will give you more confidence that you did not break anything in" +" the rest of the code." +msgstr "" +"그날의 코딩을 시작하기 전에 항상 풀 테스트 슈트를 돌려야 합니다. 끝난 후에도 마찬가지입니다. 이 작업은 당신이 다른 코드를 망가뜨리지" +" 않았다는 더 큰 자신감을 심어줄 것입니다. " + +#: ../../writing/tests.rst:42 +msgid "" +"It is a good idea to implement a hook that runs all tests before pushing " +"code to a shared repository." +msgstr "" +"모두가 공유하는 저장소에다가 코드를 집어넣기 전에 자동으로 모든 테스트를 수행하도록 하는 훅을 구현하는 것도 좋은 생각입니다. " + +#: ../../writing/tests.rst:45 +msgid "" +"If you are in the middle of a development session and have to interrupt your" +" work, it is a good idea to write a broken unit test about what you want to " +"develop next. When coming back to work, you will have a pointer to where you" +" were and get back on track faster." +msgstr "" +"지금 한창 개발 중인데 그만두고 잠시 다른 일을 해야한다면, 다음에 개발할 부분에다가 일부러 고장난 유닛 테스트를 작성하는 것도 좋은 " +"생각입니다. " + +#: ../../writing/tests.rst:50 +msgid "" +"The first step when you are debugging your code is to write a new test " +"pinpointing the bug. While it is not always possible to do, those bug " +"catching tests are among the most valuable pieces of code in your project." +msgstr "" +"코드를 디버깅할 때 가장 먼저 시작할 일은 버그를 찝어내는 새로운 테스트를 작성하는 것입니다. 이런 일이 언제나 가능한 것은 아니지만, " +"이런 버그 잡이 테스트들이야말로 당신의 프로젝트에서 가장 가치있는 코드 조각이 될 것입니다. " + +#: ../../writing/tests.rst:54 +msgid "" +"Use long and descriptive names for testing functions. The style guide here " +"is slightly different than that of running code, where short names are often" +" preferred. The reason is testing functions are never called explicitly. " +"``square()`` or even ``sqr()`` is ok in running code, but in testing code " +"you would have names such as ``test_square_of_number_2()``, " +"``test_square_negative_number()``. These function names are displayed when a" +" test fails, and should be as descriptive as possible." +msgstr "" +"테스트 함수에는 길고 서술적인 이름을 사용하셔야 합니다. 테스트에서의 스타일 안내서는 짧은 이름을 보다 선호하는 다른 일반적인 코드와는 " +"조금 다릅니다. 테스트 함수는 절대 직접 호출되지 않기 때문입니다. 실제로 돌아가는 코드에서는 ``square()`` 라든가 심지어 " +"``sqr()`` 조차도 괜찮습니다. 하지만 테스트 코드에서는 ``test_square_of_number_2()``, " +"``test_square_negative_number()`` 같은 이름을 붙여야 합니다. 이런 함수명들은 테스트가 실패할 때나 보입니다." +" 그러니 반드시 가능한 한 서술적인 이름을 붙여야 합니다. " + +#: ../../writing/tests.rst:62 +msgid "" +"When something goes wrong or has to be changed, and if your code has a good " +"set of tests, you or other maintainers will rely largely on the testing " +"suite to fix the problem or modify a given behavior. Therefore the testing " +"code will be read as much as or even more than the running code. A unit test" +" whose purpose is unclear is not very helpful in this case." +msgstr "" +"무언가 잘못되었거나 뜯어고쳐야만 할 경우, 괜찮은 코드에 테스트 셋이 있다면 당신이나 다른 유지보수 담당자들은 오류를 수정하거나 " +"프로그램의 동작을 수정할 때 필시 그 테스트 슈트에 전적으로 의지할 것입니다. " + +#: ../../writing/tests.rst:69 +msgid "" +"Another use of the testing code is as an introduction to new developers. " +"When someone will have to work on the code base, running and reading the " +"related testing code is often the best thing that they can do to start. They" +" will or should discover the hot spots, where most difficulties arise, and " +"the corner cases. If they have to add some functionality, the first step " +"should be to add a test to ensure that the new functionality is not already " +"a working path that has not been plugged into the interface." +msgstr "" +"테스트 코드의 또다른 사용 방법은 새로운 개발자들을 위한 안내서로 쓰는 방법입니다. 이미 만들어져 있는 코드에서 작업해야할 경우, 관련 " +"테스트 코드를 돌려보고 읽어보는 것이야말로 가장 좋은 시작점일 경우가 많습니다. 이렇게 테스트 코드를 돌려보면 어느 지점이 문제인지, " +"수정하기 어려운 곳은 어디일지, 막다른 골목은 어디일지를 발견하게 됩니다. 몇 가지 기능을 추가해야 한다면 가장 먼저 해야할 일은, 그 " +"새로운 기능이 아직 돌아가지 않음을 확인할 수 있는 테스트를 붙여넣는 것입니다. " + +#: ../../writing/tests.rst:81 +msgid "The Basics" +msgstr "기본" + +#: ../../writing/tests.rst:85 +msgid "unittest" +msgstr "unittest" + +#: ../../writing/tests.rst:87 +msgid "" +":mod:`unittest` is the batteries-included test module in the Python standard" +" library. Its API will be familiar to anyone who has used any of the " +"JUnit/nUnit/CppUnit series of tools." +msgstr "" +":mod:`unittest` 는 파이썬 표준 라이브러리 중 아주 유용한 테스트 모듈입니다. JUnit/nUnit/CppUnit 시리즈와 " +"같은 툴을 써본 사람이라면 :mod:`unittest` 의 API에도 익숙할 것입니다. " + +#: ../../writing/tests.rst:91 +msgid "" +"Creating test cases is accomplished by subclassing " +":class:`unittest.TestCase`." +msgstr "테스트 케이스를 만드려면 :class:`unittest.TestCase` 를 상속받는 하위 클래스를 만들어야 합니다. " + +#: ../../writing/tests.rst:104 +msgid "" +"As of Python 2.7 unittest also includes its own test discovery mechanisms." +msgstr "파이썬 2.7부터는 unittest도 자체적인 테스트 탐색 매커니즘이 생겼습니다. " + +#: ../../writing/tests.rst:106 +msgid "" +"`unittest in the standard library documentation " +"`_" +msgstr "" +"`표준 라이브러리 문서의 unittest `_" + +#: ../../writing/tests.rst:110 +msgid "Doctest" +msgstr "Doctest" + +#: ../../writing/tests.rst:112 +msgid "" +"The :mod:`doctest` module searches for pieces of text that look like " +"interactive Python sessions in docstrings, and then executes those sessions " +"to verify that they work exactly as shown." +msgstr "" +":mod:`doctest` 모듈은 독스트링 안에 대화형 파이썬 세션처럼 보이는 텍스트가 있는지를 검색한 후, 해당 세션들을 실행하여 " +"텍스트에 써진대로 정확히 동작하는지를 확인합니다. " + +#: ../../writing/tests.rst:116 +msgid "" +"Doctests have a different use case than proper unit tests: they are usually " +"less detailed and don't catch special cases or obscure regression bugs. They" +" are useful as an expressive documentation of the main use cases of a module" +" and its components. However, doctests should run automatically each time " +"the full test suite runs." +msgstr "" +"doctest는 다른 단위 테스트와는 사용 방법이 다릅니다: doctest는 일반적으로 상세하지 않고 특이한 케이스나 회귀 테스트에서의 " +"버그를 잡아내지도 못합니다. 하지만 각 모듈과 그 컴포넌트의 주된 사용법을 알려주는 문서로써는 아주 유용합니다. doctest는 전체 " +"테스트 슈트를 실행할 때마다 자동으로 돌려야 합니다. " + +#: ../../writing/tests.rst:122 +msgid "A simple doctest in a function:" +msgstr "함수에서 doctest를 돌리는 간단한 예시:" + +#: ../../writing/tests.rst:141 +msgid "" +"When running this module from the command line as in ``python module.py``, " +"the doctests will run and complain if anything is not behaving as described " +"in the docstrings." +msgstr "" +"커맨드 라인에서 ``python module.py`` 를 쳐서 해당 모듈을 실행하면 doctest가 실행되고, 무언가 doctest에 " +"기술한대로 동작하지 않는 경우에는 경고를 해줍니다. " + +#: ../../writing/tests.rst:148 +msgid "Tools" +msgstr "도구" + +#: ../../writing/tests.rst:152 +msgid "py.test" +msgstr "py.test" + +#: ../../writing/tests.rst:154 +msgid "" +"py.test is a no-boilerplate alternative to Python's standard unittest " +"module." +msgstr "py.test는 보일러플레이트가 없는 파이썬 표준 unittest의 대체품입니다. " + +#: ../../writing/tests.rst:160 +msgid "" +"Despite being a fully-featured and extensible test tool, it boasts a simple " +"syntax. Creating a test suite is as easy as writing a module with a couple " +"of functions:" +msgstr "" +"모든 기능을 갖추지는 않았습니다. 확장 가능한 테스트 도구도 아닙니다. 하지만 단순한 신텍스를 자랑합니다. 테스트 슈트를 만드는 것은 " +"함수 몇 개가 있는 모듈 하나를 작성하는 것 만큼이나 간단합니다. " + +#: ../../writing/tests.rst:173 +msgid "and then running the `py.test` command:" +msgstr "그리고 명령창에서 `py.test` 를 실행하면 됩니다. " + +#: ../../writing/tests.rst:195 +msgid "" +"is far less work than would be required for the equivalent functionality " +"with the unittest module!" +msgstr "unittest 모듈로 같은 기능을 구현하기 위해 필요한 것보다 훨씬 덜 작업해도 됩니다! " + +#: ../../writing/tests.rst:198 +msgid "`py.test `_" +msgstr "`py.test `_" + +#: ../../writing/tests.rst:202 +msgid "Hypothesis" +msgstr "Hypothesis" + +#: ../../writing/tests.rst:204 +msgid "" +"Hypothesis is a library which lets you write tests that are parameterized by" +" a source of examples. It then generates simple and comprehensible examples" +" that make your tests fail, letting you find more bugs with less work." +msgstr "" +"Hypothesis는 예시 소스로 파라미터화된 테스트를 작성할 수 있게 해주는 라이브러리입니다. 그러고 나서 테스트를 실패하게 하는 " +"단순하고 이해하기 쉬운 예시를 생성해서, 적은 노력으로 더 많은 버그를 찾을 수 있도록 도와줍니다." + +#: ../../writing/tests.rst:212 +msgid "" +"For example, testing lists of floats will try many examples, but report the " +"minimal example of each bug (distinguished exception type and location):" +msgstr "" +"예를 들어 실수(float)의 리스트를 테스트한다면 수많은 예시를 시도하면서도, 각 버그에 대해서는 최소한의 예시만(예외 타입과 위치로 " +"구별하여) 보고합니다:" + +#: ../../writing/tests.rst:228 +msgid "" +"Hypothesis is practical as well as very powerful and will often find bugs " +"that escaped all other forms of testing. It integrates well with py.test, " +"and has a strong focus on usability in both simple and advanced scenarios." +msgstr "" +"Hypothesis는 매우 강력하면서도 실용적이며, 다른 모든 형태의 테스트가 놓친 버그를 자주 찾아냅니다. py.test와 잘 " +"통합되며, 단순한 시나리오와 고급 시나리오 모두에서 사용성에 큰 비중을 두고 있습니다." + +#: ../../writing/tests.rst:232 +msgid "`hypothesis `_" +msgstr "`hypothesis `_" + +#: ../../writing/tests.rst:236 +msgid "tox" +msgstr "tox" + +#: ../../writing/tests.rst:238 +msgid "" +"tox is a tool for automating test environment management and testing against" +" multiple interpreter configurations." +msgstr "tox는 자동화된 테스트 환경 관리와 다양한 인터프리터 설정 하에서의 테스트를 위한 도구입니다. " + +#: ../../writing/tests.rst:245 +msgid "" +"tox allows you to configure complicated multi-parameter test matrices via a " +"simple INI-style configuration file." +msgstr "tox는 간단한 ini 스타일의 설정 파일을 통해 복잡한 멀티 파라미터 테스트 메트릭을 설정할 수 있도록 해줍니다. " + +#: ../../writing/tests.rst:248 +msgid "`tox `_" +msgstr "`tox `_" + +#: ../../writing/tests.rst:252 +msgid "mock" +msgstr "mock" + +#: ../../writing/tests.rst:254 +msgid "" +":mod:`unittest.mock` is a library for testing in Python. As of Python 3.3, " +"it is available in the `standard library " +"`_." +msgstr "" +":mod:`unittest.mock` 은 파이썬의 테스트 라이브러리입니다. 파이썬 3.3부터는 `표준 라이브러리 " +"`_ 가 되었습니다. " + +#: ../../writing/tests.rst:258 +msgid "For older versions of Python:" +msgstr "예전 버전의 파이썬에서:" + +#: ../../writing/tests.rst:264 +msgid "" +"It allows you to replace parts of your system under test with mock objects " +"and make assertions about how they have been used." +msgstr "" +"를 하면 mock 오브젝트로 시스템의 테스트 파트를 변경할 수 있습니다. 그리고 테스트가 어떻게 쓰일지에 대한 단정문을 만들 수 " +"있습니다. " + +#: ../../writing/tests.rst:267 +msgid "For example, you can monkey-patch a method:" +msgstr "이렇게 메소드를 몽키 패치할 수도 있습니다: " + +#: ../../writing/tests.rst:278 +msgid "" +"To mock classes or objects in a module under test, use the ``patch`` " +"decorator. In the example below, an external search system is replaced with " +"a mock that always returns the same result (but only for the duration of the" +" test)." +msgstr "" +"테스트하는 모듈에서 모의 클래스나 모의 객체를 만들 경우에는 ``patch`` 데코레이터를 사용하세요. 아래의 예시에서는 언제나 같은 " +"결과값을 내는(아무튼 테스트 중에는) 모의 객체가 외부 검색 시스템 하나 대신 쓰였습니다. " + +#: ../../writing/tests.rst:297 +msgid "" +"Mock has many other ways with which you can configure and control its " +"behaviour." +msgstr "mock은 다양하게 설정하여 동작 방법을 컨트롤 할 수 있습니다. " + +#: ../../writing/tests.rst:299 +msgid "`mock `_" +msgstr "`mock `_" + +#~ msgid "Nose" +#~ msgstr "Nose" + +#~ msgid "nose extends unittest to make testing easier." +#~ msgstr "nose는 테스트를 쉽게 하도록 unittest를 확장한 것입니다. " + +#~ msgid "" +#~ "nose provides automatic test discovery to save you the hassle of manually " +#~ "creating test suites. It also provides numerous plugins for features such as" +#~ " xUnit-compatible test output, coverage reporting, and test selection." +#~ msgstr "" +#~ "nose는 자동으로 테스트를 발견합니다. 덕분에 수작업으로 테스트 슈트를 만드는 수고를 덜 수 있습니다. 또한 xUnit 호환 테스트 " +#~ "결과, 코드 커버리지 보고서, 선택 테스트와 같이 다양한 플러그인도 제공합니다. " + +#~ msgid "`tox `_" +#~ msgstr "`tox `_" + +#~ msgid "Unittest2" +#~ msgstr "Unittest2" + +#~ msgid "" +#~ "unittest2 is a backport of Python 2.7's unittest module which has an " +#~ "improved API and better assertions over the one available in previous " +#~ "versions of Python." +#~ msgstr "" +#~ "unittest2는 향상된 API와 단정문을 가지고 있는 파이썬 2.7의 unittest의 백포트 버전입니다. 2.7 이전 버전의 " +#~ "파이썬에서 사용 가능합니다. " + +#~ msgid "If you're using Python 2.6 or below, you can install it with pip" +#~ msgstr "파이썬 2.6이나 그 이전 버전을 사용하고 있다면 pip로 설치할 수 있습니다. " + +#~ msgid "" +#~ "You may want to import the module under the name unittest to make porting " +#~ "code to newer versions of the module easier in the future" +#~ msgstr "" +#~ "unittest라는 이름으로 모듈을 임포트하여 나중에 새로운 파이썬 버전의 모듈로 포팅하기 쉽도록 만들고 싶을 수도 있습니다. " + +#~ msgid "" +#~ "This way if you ever switch to a newer Python version and no longer need the" +#~ " unittest2 module, you can simply change the import in your test module " +#~ "without the need to change any other code." +#~ msgstr "" +#~ "이 방법을 쓰면 나중에 새로운 버전의 파이썬으로 바꾸거나 unittest2 모듈이 더이상 필요하지 않더라도, 코드 수정 없이 테스트 " +#~ "모듈의 임포트를 변경할 수 있습니다. " + +#~ msgid "`unittest2 `_" +#~ msgstr "`unittest2 `_" diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..c6d95fba --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,4 @@ +sphinx>=7,<10 +sphinx-intl +sphinx-rtd-theme +sphinx-sitemap diff --git a/requirements.txt b/requirements.txt index 4a246ac7..26542b98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +sphinx-intl alabaster==0.7.11 Babel==2.6.0 certifi==2018.4.16 @@ -18,3 +19,5 @@ Sphinx==1.7.6 sphinx-sitemap==0.3.1 sphinxcontrib-websupport==1.1.0 urllib3==1.23 +sphinx-rtd-theme==0.1.9 +wheel==0.29.0