Skip to content

Commit b43fbff

Browse files
committed
#1030 - remove fuzzy flags
1 parent 3010dbb commit b43fbff

File tree

1 file changed

+51
-79
lines changed

1 file changed

+51
-79
lines changed

β€Žfaq/extending.po

Lines changed: 51 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,19 @@ msgid ""
6969
msgstr "μˆ˜ν–‰ν•˜λ €λŠ” μž‘μ—…μ— 따라, μ—¬λŸ¬λΆ„ 만의 C ν™•μž₯을 μž‘μ„±ν•˜λŠ” μ—¬λŸ¬ κ°€μ§€ λŒ€μ•ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€."
7070

7171
#: ../../faq/extending.rst:44
72-
#, fuzzy
7372
msgid ""
7473
"`Cython <https://cython.org>`_ and its relative `Pyrex "
7574
"<https://www.csse.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_ are "
7675
"compilers that accept a slightly modified form of Python and generate the"
7776
" corresponding C code. Cython and Pyrex make it possible to write an "
7877
"extension without having to learn Python's C API."
7978
msgstr ""
80-
"`Cython <http://cython.org>`_\\κ³Ό κ΄€λ ¨ `Pyrex "
81-
"<https://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_\\λŠ” μ•½κ°„ μˆ˜μ •λœ "
79+
"`Cython <https://cython.org>`_\\κ³Ό κ΄€λ ¨ `Pyrex "
80+
"<https://www.csse.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_\\λŠ” μ•½κ°„ μˆ˜μ •λœ "
8281
"파이썬 ν˜•μ‹μ„ 받아듀이고 ν•΄λ‹Ή C μ½”λ“œλ₯Ό μƒμ„±ν•˜λŠ” μ»΄νŒŒμΌλŸ¬μž…λ‹ˆλ‹€. Cythonκ³Ό Pyrexλ₯Ό μ‚¬μš©ν•˜λ©΄ 파이썬의 C APIλ₯Ό λ°°μš°μ§€ "
8382
"μ•Šκ³ λ„ ν™•μž₯을 μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€."
8483

8584
#: ../../faq/extending.rst:50
86-
#, fuzzy
8785
msgid ""
8886
"If you need to interface to some C or C++ library for which no Python "
8987
"extension currently exists, you can try wrapping the library's data types"
@@ -95,10 +93,9 @@ msgid ""
9593
" libraries."
9694
msgstr ""
9795
"ν˜„μž¬ 파이썬 ν™•μž₯이 μ—†λŠ” 일뢀 Cλ‚˜ C++ λΌμ΄λΈŒλŸ¬λ¦¬μ— λŒ€ν•œ μΈν„°νŽ˜μ΄μŠ€κ°€ ν•„μš”ν•˜λ©΄, 라이브러리의 λ°μ΄ν„°ν˜•κ³Ό ν•¨μˆ˜λ₯Ό `SWIG "
98-
"<http://www.swig.org>`_\\κ³Ό 같은 λ„κ΅¬λ‘œ λž˜ν•‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. `SIP "
99-
"<https://riverbankcomputing.com/software/sip/intro>`__, `CXX "
100-
"<http://cxx.sourceforge.net/>`_, `Boost "
101-
"<http://www.boost.org/libs/python/doc/index.html>`_ λ˜λŠ” `Weave "
96+
"<https://www.swig.org>`_\\κ³Ό 같은 λ„κ΅¬λ‘œ λž˜ν•‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€. `SIP <https://github.com"
97+
"/Python-SIP/sip>`__, `CXX <https://cxx.sourceforge.net/>`_, `Boost "
98+
"<https://www.boost.org/libs/python/doc/index.html>`_ λ˜λŠ” `Weave "
10299
"<https://github.com/scipy/weave>`_\\도 C++ 라이브러리 λž˜ν•‘μ˜ λŒ€μ•ˆμž…λ‹ˆλ‹€."
103100

104101
#: ../../faq/extending.rst:61
@@ -138,7 +135,6 @@ msgid "How do I extract C values from a Python object?"
138135
msgstr "파이썬 κ°μ²΄μ—μ„œ C값을 μ–΄λ–»κ²Œ μΆ”μΆœν•©λ‹ˆκΉŒ?"
139136

140137
#: ../../faq/extending.rst:82
141-
#, fuzzy
142138
msgid ""
143139
"That depends on the object's type. If it's a tuple, "
144140
":c:func:`PyTuple_Size` returns its length and :c:func:`PyTuple_GetItem` "
@@ -147,10 +143,9 @@ msgid ""
147143
msgstr ""
148144
"μ΄λŠ” 객체의 ν˜•μ— 따라 λ‹€λ¦…λ‹ˆλ‹€. νŠœν”Œμ΄λ©΄, :c:func:`PyTuple_Size`\\λŠ” 길이λ₯Ό λ°˜ν™˜ν•˜κ³  "
149145
":c:func:`PyTuple_GetItem`\\은 μ§€μ •λœ 인덱슀의 ν•­λͺ©μ„ λ°˜ν™˜ν•©λ‹ˆλ‹€. λ¦¬μŠ€νŠΈλŠ” λΉ„μŠ·ν•œ ν•¨μˆ˜λ₯Ό κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€, "
150-
":c:func:`PyListSize`\\와 :c:func:`PyList_GetItem`."
146+
":c:func:`PyList_Size`\\와 :c:func:`PyList_GetItem`."
151147

152148
#: ../../faq/extending.rst:87
153-
#, fuzzy
154149
msgid ""
155150
"For bytes, :c:func:`PyBytes_Size` returns its length and "
156151
":c:func:`PyBytes_AsStringAndSize` provides a pointer to its value and its"
@@ -159,7 +154,7 @@ msgid ""
159154
msgstr ""
160155
"λ°”μ΄νŠΈμ—΄μ—μ„œλŠ”, :c:func:`PyBytes_Size`\\λŠ” 길이λ₯Ό λ°˜ν™˜ν•˜κ³  "
161156
":c:func:`PyBytes_AsStringAndSize`\\λŠ” κ°’κ³Ό 길이에 λŒ€ν•œ 포인터λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. 파이썬 λ°”μ΄νŠΈμ—΄ κ°μ²΄λŠ” "
162-
"널(null) λ°”μ΄νŠΈλ₯Ό 포함할 수 μžˆμ–΄μ„œ C의 :c:func:`strlen`\\을 μ‚¬μš©ν•  수 μ—†μŒμ— μœ μ˜ν•˜μ‹­μ‹œμ˜€."
157+
"널(null) λ°”μ΄νŠΈλ₯Ό 포함할 수 μžˆμ–΄μ„œ C의 :c:func:`!strlen`\\을 μ‚¬μš©ν•  수 μ—†μŒμ— μœ μ˜ν•˜μ‹­μ‹œμ˜€."
163158

164159
#: ../../faq/extending.rst:92
165160
msgid ""
@@ -214,6 +209,9 @@ msgid ""
214209
"PyObject_CallMethod(PyObject *object, const char *method_name,\n"
215210
" const char *arg_format, ...);"
216211
msgstr ""
212+
"PyObject *\n"
213+
"PyObject_CallMethod(PyObject *object, const char *method_name,\n"
214+
" const char *arg_format, ...);"
217215

218216
#: ../../faq/extending.rst:121
219217
msgid ""
@@ -241,6 +239,13 @@ msgid ""
241239
" Py_DECREF(res);\n"
242240
"}"
243241
msgstr ""
242+
"res = PyObject_CallMethod(f, \"seek\", \"(ii)\", 10, 0);\n"
243+
"if (res == NULL) {\n"
244+
" ... an exception occurred ...\n"
245+
"}\n"
246+
"else {\n"
247+
" Py_DECREF(res);\n"
248+
"}"
244249

245250
#: ../../faq/extending.rst:135
246251
msgid ""
@@ -284,6 +289,13 @@ msgid ""
284289
"foo\n"
285290
"hello world!"
286291
msgstr ""
292+
">>> import io, sys\n"
293+
">>> sys.stdout = io.StringIO()\n"
294+
">>> print('foo')\n"
295+
">>> print('hello world!')\n"
296+
">>> sys.stderr.write(sys.stdout.getvalue())\n"
297+
"foo\n"
298+
"hello world!"
287299

288300
#: ../../faq/extending.rst:161
289301
msgid "A custom object to do the same would look like this:"
@@ -306,6 +318,20 @@ msgid ""
306318
"foo\n"
307319
"hello world!"
308320
msgstr ""
321+
">>> import io, sys\n"
322+
">>> class StdoutCatcher(io.TextIOBase):\n"
323+
"... def __init__(self):\n"
324+
"... self.data = []\n"
325+
"... def write(self, stuff):\n"
326+
"... self.data.append(stuff)\n"
327+
"...\n"
328+
">>> import sys\n"
329+
">>> sys.stdout = StdoutCatcher()\n"
330+
">>> print('foo')\n"
331+
">>> print('hello world!')\n"
332+
">>> sys.stderr.write(''.join(sys.stdout.data))\n"
333+
"foo\n"
334+
"hello world!"
309335

310336
#: ../../faq/extending.rst:182
311337
msgid "How do I access a module written in Python from C?"
@@ -317,7 +343,7 @@ msgstr "λ‹€μŒκ³Ό 같이 λͺ¨λ“ˆ 객체에 λŒ€ν•œ 포인터λ₯Ό 얻을 수 있슡
317343

318344
#: ../../faq/extending.rst:186
319345
msgid "module = PyImport_ImportModule(\"<modulename>\");"
320-
msgstr ""
346+
msgstr "module = PyImport_ImportModule(\"<modulename>\");"
321347

322348
#: ../../faq/extending.rst:188
323349
msgid ""
@@ -339,7 +365,7 @@ msgstr "그런 λ‹€μŒ, λ‹€μŒκ³Ό 같이 λͺ¨λ“ˆμ˜ μ–΄νŠΈλ¦¬λ·°νŠΈ(즉 λͺ¨λ“ˆμ—
339365

340366
#: ../../faq/extending.rst:197
341367
msgid "attr = PyObject_GetAttrString(module, \"<attrname>\");"
342-
msgstr ""
368+
msgstr "attr = PyObject_GetAttrString(module, \"<attrname>\");"
343369

344370
#: ../../faq/extending.rst:199
345371
msgid ""
@@ -398,7 +424,7 @@ msgstr "``.gdbinit`` νŒŒμΌμ—μ„œ (λ˜λŠ” λŒ€ν™”μ‹μœΌλ‘œ) λ‹€μŒ λͺ…령을 μΆ”
398424

399425
#: ../../faq/extending.rst:231
400426
msgid "br _PyImport_LoadDynamicModule"
401-
msgstr ""
427+
msgstr "br _PyImport_LoadDynamicModule"
402428

403429
#: ../../faq/extending.rst:235
404430
msgid "Then, when you run GDB:"
@@ -413,6 +439,12 @@ msgid ""
413439
"gdb) br myfunction.c:50\n"
414440
"gdb) continue"
415441
msgstr ""
442+
"$ gdb /local/bin/python\n"
443+
"gdb) run myscript.py\n"
444+
"gdb) continue # repeat until your extension is loaded\n"
445+
"gdb) finish # so that your extension is loaded\n"
446+
"gdb) br myfunction.c:50\n"
447+
"gdb) continue"
416448

417449
#: ../../faq/extending.rst:247
418450
msgid ""
@@ -421,23 +453,18 @@ msgid ""
421453
msgstr "λ¦¬λˆ…μŠ€ μ‹œμŠ€ν…œμ—μ„œ 파이썬 λͺ¨λ“ˆμ„ μ»΄νŒŒμΌν•˜κ³  μ‹Άμ§€λ§Œ, 일뢀 파일이 μ—†μŠ΅λ‹ˆλ‹€. μ™œ κ·Έλ ‡μŠ΅λ‹ˆκΉŒ?"
422454

423455
#: ../../faq/extending.rst:249
424-
#, fuzzy, python-brace-format
425456
msgid ""
426457
"Most packaged versions of Python omit some files required for compiling "
427458
"Python extensions."
428-
msgstr ""
429-
"λŒ€λΆ€λΆ„μ˜ 포μž₯된 λ²„μ „μ˜ νŒŒμ΄μ¬μ€ 파이썬 ν™•μž₯을 μ»΄νŒŒμΌν•˜λŠ” 데 ν•„μš”ν•œ λ‹€μ–‘ν•œ 파일이 ν¬ν•¨λœ "
430-
":file:`/usr/lib/python2.{x}/config/` 디렉터리가 ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€."
459+
msgstr "λŒ€λΆ€λΆ„μ˜ 포μž₯된 λ²„μ „μ˜ νŒŒμ΄μ¬μ€ 파이썬 ν™•μž₯을 μ»΄νŒŒμΌν•˜λŠ” 데 ν•„μš”ν•œ 일뢀 νŒŒμΌμ„ μƒλž΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€."
431460

432461
#: ../../faq/extending.rst:252
433-
#, fuzzy
434462
msgid "For Red Hat, install the python3-devel RPM to get the necessary files."
435-
msgstr "λ ˆλ“œν–‡μ˜ 경우, ν•„μš”ν•œ νŒŒμΌμ„ μ–»μœΌλ €λ©΄ python-devel RPM을 μ„€μΉ˜ν•˜μ‹­μ‹œμ˜€."
463+
msgstr "λ ˆλ“œν–‡μ˜ 경우, ν•„μš”ν•œ νŒŒμΌμ„ μ–»μœΌλ €λ©΄ python3-devel RPM을 μ„€μΉ˜ν•˜μ‹­μ‹œμ˜€."
436464

437465
#: ../../faq/extending.rst:254
438-
#, fuzzy
439466
msgid "For Debian, run ``apt-get install python3-dev``."
440-
msgstr "λ°λΉ„μ•ˆμ˜ 경우, ``apt-get install python-dev``\\λ₯Ό μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
467+
msgstr "λ°λΉ„μ•ˆμ˜ 경우, ``apt-get install python3-dev``\\λ₯Ό μ‹€ν–‰ν•˜μ‹­μ‹œμ˜€."
441468

442469
#: ../../faq/extending.rst:257
443470
msgid "How do I tell \"incomplete input\" from \"invalid input\"?"
@@ -508,67 +535,12 @@ msgstr ""
508535
"μžˆμŠ΅λ‹ˆλ‹€."
509536

510537
#: ../../faq/extending.rst:288
511-
#, fuzzy
512538
msgid ""
513539
"The Boost Python Library (BPL, "
514540
"https://www.boost.org/libs/python/doc/index.html) provides a way of doing"
515541
" this from C++ (i.e. you can inherit from an extension class written in "
516542
"C++ using the BPL)."
517543
msgstr ""
518-
"Boost 파이썬 라이브러리(BPL, http://www.boost.org/libs/python/doc/index.html)λŠ” "
544+
"Boost 파이썬 라이브러리(BPL, https://www.boost.org/libs/python/doc/index.html)λŠ” "
519545
"C++μ—μ„œ 이λ₯Ό μˆ˜ν–‰ν•˜λŠ” 방법을 μ œκ³΅ν•©λ‹ˆλ‹€ (즉, BPL을 μ‚¬μš©ν•˜μ—¬ C++둜 μž‘μ„±λœ ν™•μž₯ 클래슀λ₯Ό 상속할 수 μžˆμŠ΅λ‹ˆλ‹€)."
520546

521-
#~ msgid ""
522-
#~ "However sometimes you have to run "
523-
#~ "the embedded Python interpreter in the"
524-
#~ " same thread as your rest application"
525-
#~ " and you can't allow the "
526-
#~ ":c:func:`PyRun_InteractiveLoop` to stop while "
527-
#~ "waiting for user input. The one "
528-
#~ "solution then is to call "
529-
#~ ":c:func:`PyParser_ParseString` and test for "
530-
#~ "``e.error`` equal to ``E_EOF``, which "
531-
#~ "means the input is incomplete. Here's"
532-
#~ " a sample code fragment, untested, "
533-
#~ "inspired by code from Alex Farber::"
534-
#~ msgstr ""
535-
#~ "κ·ΈλŸ¬λ‚˜ λ•Œλ‘œλŠ” λ‚˜λ¨Έμ§€ μ‘μš© ν”„λ‘œκ·Έλž¨κ³Ό 같은 μŠ€λ ˆλ“œμ—μ„œ "
536-
#~ "λ‚΄μž₯된 파이썬 인터프리터λ₯Ό μ‹€ν–‰ν•΄μ•Ό ν•˜κ³ , μ‚¬μš©μž μž…λ ₯을"
537-
#~ " κΈ°λ‹€λ¦¬λŠ” λ™μ•ˆ :c:func:`PyRun_InteractiveLoop`\\λ₯Ό 쀑지할"
538-
#~ " 수 μ—†μŠ΅λ‹ˆλ‹€. ν•œ κ°€μ§€ 해결책은 "
539-
#~ ":c:func:`PyParser_ParseString`\\을 ν˜ΈμΆœν•˜κ³  ``e.error``\\κ°€ "
540-
#~ "``E_EOF``\\와 같은지λ₯Ό κ²€μ‚¬ν•˜λŠ” 것인데, μ΄λŠ” μž…λ ₯이 "
541-
#~ "λΆˆμ™„μ „ν•˜λ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. λ‹€μŒμ€ Alex Farber의 "
542-
#~ "μ½”λ“œμ—μ„œ μ˜κ°μ„ 얻은 ν…ŒμŠ€νŠΈ λ˜μ§€ μ•Šμ€ μƒ˜ν”Œ μ½”λ“œ"
543-
#~ " μ‘°κ°μž…λ‹ˆλ‹€::"
544-
545-
#~ msgid ""
546-
#~ "Another solution is trying to compile"
547-
#~ " the received string with "
548-
#~ ":c:func:`Py_CompileString`. If it compiles "
549-
#~ "without errors, try to execute the "
550-
#~ "returned code object by calling "
551-
#~ ":c:func:`PyEval_EvalCode`. Otherwise save the "
552-
#~ "input for later. If the compilation "
553-
#~ "fails, find out if it's an error"
554-
#~ " or just more input is required "
555-
#~ "- by extracting the message string "
556-
#~ "from the exception tuple and comparing"
557-
#~ " it to the string \"unexpected EOF"
558-
#~ " while parsing\". Here is a complete"
559-
#~ " example using the GNU readline "
560-
#~ "library (you may want to ignore "
561-
#~ "**SIGINT** while calling readline())::"
562-
#~ msgstr ""
563-
#~ "λ‹€λ₯Έ 해결책은 μˆ˜μ‹ λœ λ¬Έμžμ—΄μ„ "
564-
#~ ":c:func:`Py_CompileString`\\으둜 μ»΄νŒŒμΌν•˜λ €κ³  ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. "
565-
#~ "μ—λŸ¬ 없이 컴파일되면, :c:func:`PyEval_EvalCode`\\λ₯Ό ν˜ΈμΆœν•˜μ—¬"
566-
#~ " λ°˜ν™˜λœ μ½”λ“œ 객체λ₯Ό μ‹€ν–‰ν•΄ λ³΄μ‹­μ‹œμ˜€. κ·Έλ ‡μ§€ μ•ŠμœΌλ©΄"
567-
#~ " λ‚˜μ€‘μ„ μœ„ν•΄ μž…λ ₯을 μ €μž₯ν•˜μ‹­μ‹œμ˜€. 컴파일이 μ‹€νŒ¨ν•˜λ©΄, "
568-
#~ "μ˜ˆμ™Έ νŠœν”Œμ—μ„œ λ©”μ‹œμ§€ λ¬Έμžμ—΄μ„ μΆ”μΆœν•˜κ³  이λ₯Ό "
569-
#~ "\"unexpected EOF while parsing\" λ¬Έμžμ—΄κ³Ό "
570-
#~ "λΉ„κ΅ν•˜μ—¬ μ—λŸ¬μΈμ§€ 단지 더 λ§Žμ€ μž…λ ₯이 ν•„μš”ν•œμ§€λ₯Ό "
571-
#~ "ν™•μΈν•˜μ‹­μ‹œμ˜€. λ‹€μŒμ€ GNU readline 라이브러리λ₯Ό μ‚¬μš©ν•˜λŠ” "
572-
#~ "μ™„μ „ν•œ μ˜ˆμ œμž…λ‹ˆλ‹€ (readline()을 ν˜ΈμΆœν•˜λŠ” λ™μ•ˆ "
573-
#~ "**SIGINT**\\λ₯Ό λ¬΄μ‹œν•˜κ³ μž ν•  수 μžˆμŠ΅λ‹ˆλ‹€)::"
574-

0 commit comments

Comments
Β (0)