@@ -24,13 +24,16 @@ msgstr ""
2424
2525#: ../../extending/building.rst:7
2626msgid "Building C and C++ Extensions"
27- msgstr "Construindo Extensões C e C++"
27+ msgstr "Construindo extensões C e C++"
2828
2929#: ../../extending/building.rst:9
3030msgid ""
3131"A C extension for CPython is a shared library (e.g. a ``.so`` file on Linux, "
3232"``.pyd`` on Windows), which exports an *initialization function*."
3333msgstr ""
34+ "Uma extensão C para CPython é uma biblioteca compartilhada (por exemplo, um "
35+ "arquivo ``.so`` no Linux, ``.pyd`` no Windows), que exporta uma *função de "
36+ "inicialização*."
3437
3538#: ../../extending/building.rst:12
3639msgid ""
@@ -39,16 +42,22 @@ msgid ""
3942"extension. When using distutils, the correct filename is generated "
4043"automatically."
4144msgstr ""
45+ "Para ser importável, a biblioteca compartilhada deve estar disponível em :"
46+ "envvar:`PYTHONPATH`, e deve ser nomeada após o nome do módulo, com uma "
47+ "extensão apropriada. Ao usar distutils, o nome do arquivo correto é gerado "
48+ "automaticamente."
4249
4350#: ../../extending/building.rst:16
4451msgid "The initialization function has the signature:"
45- msgstr ""
52+ msgstr "A função de inicialização tem a assinatura: "
4653
4754#: ../../extending/building.rst:20
4855msgid ""
4956"It returns either a fully-initialized module, or a :c:type:`PyModuleDef` "
5057"instance. See :ref:`initializing-modules` for details."
5158msgstr ""
59+ "Ela retorna um módulo totalmente inicializado ou uma instância de :c:type:"
60+ "`PyModuleDef`. Veja :ref:`initializing-modules` para detalhes."
5261
5362#: ../../extending/building.rst:25
5463msgid ""
@@ -59,6 +68,13 @@ msgid ""
5968"``PyInitU_<modulename>``, with ``<modulename>`` encoded using Python's "
6069"*punycode* encoding with hyphens replaced by underscores. In Python::"
6170msgstr ""
71+ "Para módulos com nomes somente ASCII, a função deve ser nomeada "
72+ "``PyInit_<nomemódulo>``, com ``<nomemódulo>`` substituído pelo nome do "
73+ "módulo. Ao usar :ref:`multi-phase-initialization`, nomes de módulos não "
74+ "ASCII são permitidos. Neste caso, o nome da função de inicialização é "
75+ "``PyInitU_<nomemódulo>``, com ``<nomemódulo>`` codificado usando a "
76+ "codificação *punycode* do Python com hifenes substituídos por sublinhados. "
77+ "Em Python::"
6278
6379#: ../../extending/building.rst:39
6480msgid ""
@@ -68,27 +84,39 @@ msgid ""
6884"function corresponding to the filename is found. See the *\" Multiple modules "
6985"in one library\" * section in :pep:`489` for details."
7086msgstr ""
87+ "É possível exportar vários módulos de uma única biblioteca compartilhada, "
88+ "definindo várias funções de inicialização. No entanto, importá-los requer o "
89+ "uso de links simbólicos ou um importador personalizado, porque por padrão "
90+ "apenas a função correspondente ao nome do arquivo é encontrada. Veja a "
91+ "seção *\" Multiple modules in one library\" * na :pep:`489` para detalhes."
7192
7293#: ../../extending/building.rst:49
7394msgid "Building C and C++ Extensions with distutils"
74- msgstr ""
95+ msgstr "Construindo extensões C e C ++ com distutils "
7596
7697#: ../../extending/building.rst:53
7798msgid ""
7899"Extension modules can be built using distutils, which is included in "
79100"Python. Since distutils also supports creation of binary packages, users "
80101"don't necessarily need a compiler and distutils to install the extension."
81102msgstr ""
103+ "Módulos de extensão podem ser construídos usando distutils, que está "
104+ "incluído no Python. Visto que distutils também suporta a criação de pacotes "
105+ "binários, os usuários não precisam necessariamente de um compilador e "
106+ "distutils para instalar a extensão."
82107
83108#: ../../extending/building.rst:57
84109msgid ""
85110"A distutils package contains a driver script, :file:`setup.py`. This is a "
86111"plain Python file, which, in the most simple case, could look like this:"
87112msgstr ""
113+ "Um pacote distutils contém um script guia :file:`setup.py`. Este é um "
114+ "arquivo Python simples, que, no caso mais simples, pode ter a seguinte "
115+ "aparência:"
88116
89117#: ../../extending/building.rst:73
90118msgid "With this :file:`setup.py`, and a file :file:`demo.c`, running ::"
91- msgstr ""
119+ msgstr "Com este:file:`setup.py` e um arquivo :file:`demo.c`, executando :: "
92120
93121#: ../../extending/building.rst:77
94122msgid ""
@@ -97,6 +125,10 @@ msgid ""
97125"will end up in a subdirectory :file:`build/lib.system`, and may have a name "
98126"like :file:`demo.so` or :file:`demo.pyd`."
99127msgstr ""
128+ "vai compilar :file:`demo.c`, e produzir um módulo de extensão chamado "
129+ "``demo`` no diretório :file:`build`. Dependendo do sistema, o arquivo do "
130+ "módulo vai terminar em um subdiretório :file:`build/lib.system`, e pode ter "
131+ "um nome como :file:`demo.so` ou :file:`demo.pyd`."
100132
101133#: ../../extending/building.rst:82
102134msgid ""
@@ -109,6 +141,14 @@ msgid ""
109141"distutils documentation in :ref:`distutils-index` to learn more about the "
110142"features of distutils; this section explains building extension modules only."
111143msgstr ""
144+ "No :file:`setup.py`, toda a execução é realizada chamando a função "
145+ "``setup``. Isso leva um número variável de argumentos nomeados, dos quais o "
146+ "exemplo acima usa apenas um subconjunto. Especificamente, o exemplo "
147+ "especifica meta-informação para construir pacotes e especifica o conteúdo do "
148+ "pacote. Normalmente, um pacote conterá módulos adicionais, como módulos-"
149+ "fonte Python, documentação, subpacotes etc. Consulte a documentação do "
150+ "distutils em :ref:`distutils-index` para aprender mais sobre os recursos do "
151+ "distutils; esta seção explica apenas a construção de módulos de extensão."
112152
113153#: ../../extending/building.rst:91
114154msgid ""
@@ -119,13 +159,22 @@ msgid ""
119159"example, the instance defines an extension named ``demo`` which is build by "
120160"compiling a single source file, :file:`demo.c`."
121161msgstr ""
162+ "É comum pré-computar argumentos para :func:`setup`, para melhor estruturar o "
163+ "script guia. No exemplo acima, o argumento ``ext_modules`` para :func:"
164+ "`~distutils.core.setup` é uma lista de módulos de extensão, cada um dos "
165+ "quais é uma instância de :class:`~distutils.extension.Extension`. No "
166+ "exemplo, a instância define uma extensão chamada ``demo`` que é construída "
167+ "compilando um único arquivo fonte, :file:`demo.c`."
122168
123169#: ../../extending/building.rst:99
124170msgid ""
125171"In many cases, building an extension is more complex, since additional "
126172"preprocessor defines and libraries may be needed. This is demonstrated in "
127173"the example below."
128174msgstr ""
175+ "Em muitos casos, construir uma extensão é mais complexo, uma vez que "
176+ "definições de pré-processador adicionais e bibliotecas podem ser "
177+ "necessárias. Isso é demonstrado no exemplo abaixo."
129178
130179#: ../../extending/building.rst:127
131180msgid ""
@@ -136,43 +185,63 @@ msgid ""
136185"distutils passes this information in different ways to the compiler. For "
137186"example, on Unix, this may result in the compilation commands ::"
138187msgstr ""
188+ "Neste exemplo, :func:`~distutils.core.setup` é chamado com meta-informação "
189+ "adicional, o que é recomendado quando os pacotes de distribuição precisam "
190+ "ser construídos. Para a extensão em si, especifica definições de pré-"
191+ "processador, diretórios de inclusão, diretórios de biblioteca e bibliotecas. "
192+ "Dependendo do compilador, distutils passa essas informações de maneiras "
193+ "diferentes para o compilador. Por exemplo, no Unix, isso pode resultar nos "
194+ "comandos de compilação ::"
139195
140196#: ../../extending/building.rst:139
141197msgid ""
142198"These lines are for demonstration purposes only; distutils users should "
143199"trust that distutils gets the invocations right."
144200msgstr ""
201+ "Essas linhas são apenas para fins de demonstração; Os usuários de distutils "
202+ "devem confiar que distutils acertará as invocações."
145203
146204#: ../../extending/building.rst:146
147205msgid "Distributing your extension modules"
148- msgstr ""
206+ msgstr "Distribuindo seus módulos de extensão "
149207
150208#: ../../extending/building.rst:148
151209msgid ""
152210"When an extension has been successfully built, there are three ways to use "
153211"it."
154212msgstr ""
213+ "Quando uma extensão é construída com sucesso, há três maneiras de usá-la."
155214
156215#: ../../extending/building.rst:150
157216msgid ""
158217"End-users will typically want to install the module, they do so by running ::"
159218msgstr ""
219+ "Os usuários finais normalmente desejam instalar o módulo, eles fazem isso "
220+ "executando ::"
160221
161222#: ../../extending/building.rst:154
162223msgid ""
163224"Module maintainers should produce source packages; to do so, they run ::"
164225msgstr ""
226+ "Os mantenedores do módulo devem produzir pacotes fonte; para fazer isso, "
227+ "eles executam::"
165228
166229#: ../../extending/building.rst:158
167230msgid ""
168231"In some cases, additional files need to be included in a source "
169232"distribution; this is done through a :file:`MANIFEST.in` file; see :ref:"
170233"`manifest` for details."
171234msgstr ""
235+ "Em alguns casos, arquivos adicionais precisam ser incluídos em uma "
236+ "distribuição fonte; isso é feito através de um arquivo :file:`MANIFEST.in`; "
237+ "veja :ref:`manifest` para detalhes."
172238
173239#: ../../extending/building.rst:161
174240msgid ""
175241"If the source distribution has been built successfully, maintainers can also "
176242"create binary distributions. Depending on the platform, one of the following "
177243"commands can be used to do so. ::"
178244msgstr ""
245+ "Se a distribuição fonte foi construída com sucesso, os mantenedores também "
246+ "podem criar distribuições binárias. Dependendo da plataforma, um dos "
247+ "seguintes comandos pode ser usado para fazer isso. ::"
0 commit comments