git: f92d7dbd60 - main - pt-br/books/fdp-primer: Sync with en 8bdfb5dfcf

From: Danilo G. Baio <dbaio_at_FreeBSD.org>
Date: Sat, 22 Jan 2022 14:35:01 UTC
The branch main has been updated by dbaio:

URL: https://cgit.FreeBSD.org/doc/commit/?id=f92d7dbd60b94063910576c9209a821d6aa5dfed

commit f92d7dbd60b94063910576c9209a821d6aa5dfed
Author:     Danilo G. Baio <dbaio@FreeBSD.org>
AuthorDate: 2022-01-22 14:22:59 +0000
Commit:     Danilo G. Baio <dbaio@FreeBSD.org>
CommitDate: 2022-01-22 14:23:49 +0000

    pt-br/books/fdp-primer: Sync with en 8bdfb5dfcf
---
 .../fdp-primer/asciidoctor-primer/_index.adoc      |   43 +-
 .../books/fdp-primer/asciidoctor-primer/_index.po  |  260 ++--
 .../pt-br/books/fdp-primer/doc-build/_index.adoc   |  418 ++++++-
 .../pt-br/books/fdp-primer/doc-build/_index.po     | 1309 ++++++++++++++++----
 .../pt-br/books/fdp-primer/examples/_index.adoc    |   21 +-
 .../pt-br/books/fdp-primer/examples/_index.po      |  124 +-
 .../books/fdp-primer/po-translations/_index.adoc   |   11 +-
 .../books/fdp-primer/po-translations/_index.po     |  253 ++--
 .../pt-br/books/fdp-primer/preface/_index.adoc     |   17 +-
 .../pt-br/books/fdp-primer/preface/_index.po       |   59 +-
 .../pt-br/books/fdp-primer/rosetta/_index.adoc     |   36 +-
 .../pt-br/books/fdp-primer/rosetta/_index.po       |  177 +--
 .../pt-br/books/fdp-primer/see-also/_index.adoc    |   12 +-
 .../pt-br/books/fdp-primer/see-also/_index.po      |   68 +-
 .../pt-br/books/fdp-primer/structure/_index.adoc   |   96 +-
 .../pt-br/books/fdp-primer/structure/_index.po     |  505 ++++----
 .../pt-br/books/fdp-primer/tools/_index.adoc       |   11 +-
 .../content/pt-br/books/fdp-primer/tools/_index.po |   45 +-
 .../books/fdp-primer/translations/_index.adoc      |    6 +-
 .../pt-br/books/fdp-primer/translations/_index.po  |  204 +--
 20 files changed, 2493 insertions(+), 1182 deletions(-)

diff --git a/documentation/content/pt-br/books/fdp-primer/asciidoctor-primer/_index.adoc b/documentation/content/pt-br/books/fdp-primer/asciidoctor-primer/_index.adoc
index de33d2fae8..9640929a0e 100644
--- a/documentation/content/pt-br/books/fdp-primer/asciidoctor-primer/_index.adoc
+++ b/documentation/content/pt-br/books/fdp-primer/asciidoctor-primer/_index.adoc
@@ -1,12 +1,12 @@
 ---
 description: 'Uma breve introdução ao AsciiDoctor'
 next: books/fdp-primer/rosetta
+path: /books/fdp-primer/
 prev: books/fdp-primer/doc-build
+showBookMenu: 'true'
 tags: ["AsciiDoc", "AsciiDoctor", "Primer", "Introduction", "Guide"]
 title: 'Capítulo 6. Primer AsciiDoctor'
-showBookMenu: true
 weight: 7
-path: "/books/fdp-primer/"
 ---
 
 [[asciidoctor-primer]]
@@ -72,7 +72,7 @@ Para remover [.filename]#/tmp/foo#, utilize o man:rm[1].
 O exemplo anterior é representado neste documento da seguinte forma:
 
 ....
-Para remover [.filename]#/tmp/foo#, utilize o man:rm[1].
+Para remover */tmp/foo*, utilize o man:rm[1].
 
 [source,shell]
 ----
@@ -88,19 +88,19 @@ AsciiDoctor suporta seis níveis de cabeçalhos. Se o tipo de documento for `art
 Estes são exemplos de cabeçalhos em um `artigo`.
 
 ....
- = Título do Documento (Nível 0)
+= Título do Documento (Nível 0)
 
- == Título da Seção de Nível 1
+== Título da Seção de Nível 1
 
- === Título da Seção de Nível 2
+=== Título da Seção de Nível 2
 
- ==== Título da Seção de Nível 3
+==== Título da Seção de Nível 3
 
- ===== Título da Seção de Nível 4
+===== Título da Seção de Nível 4
 
- ====== Título da Seção de Nível 5
+====== Título da Seção de Nível 5
 
- == Outro Título de Seção de Nível 1
+== Outro Título de Seção de Nível 1
 ....
 
 [WARNING]
@@ -110,11 +110,11 @@ Os níveis de seção não podem ser ignorados ao aninhar seções.
 A sintaxe a seguir não está correta.
 
 ....
- = Título do Documento
+= Título do Documento
 
- == Nível 2
+== Nível 2
 
- ==== Nível 4
+==== Nível 4
 ....
 ====
 
@@ -126,12 +126,12 @@ Os parágrafos não precisam de marcação especial no AsciiDoc. Um parágrafo 
 Por exemplo, este é um título com dois parágrafos.
 
 ....
- = Este é o título
+= Este é o título
 
- Este é o primeiro parágrafo.
- Este também é o primeiro parágrafo.
+Este é o primeiro parágrafo.
+Este também é o primeiro parágrafo.
 
- E este é o segundo parágrafo.
+E este é o segundo parágrafo.
 ....
 
 [[asciidoctor-lists]]
@@ -195,13 +195,14 @@ link:https://www.FreeBSD.org[FreeBSD]
 
 [NOTE]
 ====
-Como a documentação do AsciiDoctor descreve, a macro `link` não é necessária quando o link começa com um esquema de URL como`https`. No entanto, é uma boa prática fazer o uso assim para garantir que o AsciiDoctor renderize o link corretamente, especialmente em idiomas não latinos como o Japonês.
+Como a documentação do AsciiDoctor descreve, a macro `link` não é necessária quando o link começa com um esquema de URL como `https`.
+No entanto, é uma boa prática fazer o uso assim para garantir que o AsciiDoctor renderize o link corretamente, especialmente em idiomas não latinos como o Japonês.
 ====
 
 [[asciidoctor-links-internal]]
 === Link interno
 
-Para apontar para outro livro ou artigo, as variáveis AsciiDoctor devem ser usadas. Por exemplo, se estamos no artigo `cups` e queremos apontar para`ipsec-must`, esses passos devem ser usados.
+Para apontar para outro livro ou artigo, as variáveis AsciiDoctor devem ser usadas. Por exemplo, se estamos no artigo `cups` e queremos apontar para `ipsec-must`, esses passos devem ser usados.
 
 . Inclua o arquivo [.filename]#urls.adoc# da pasta [.filename]#~/doc/shared#.
 +
@@ -212,12 +213,12 @@ Para apontar para outro livro ou artigo, as variáveis AsciiDoctor devem ser usa
 . Em seguida, crie um link usando a variável AsciiDoctor para o artigo `ipsec-must`.
 +
 ....
-extref:{ipsec-must}[Artigo IPSec-Must]
+extref:{ipsec-must}[IPSec-Must article]
 ....
 +
 E isso seria processado como.
 +
-extref:{ipsec-must}[Artigo IPSec-Must]
+extref:{ipsec-must}[IPSec-Must article]
 
 [[asciidoctor-conclusion]]
 == Conclusão
diff --git a/documentation/content/pt-br/books/fdp-primer/asciidoctor-primer/_index.po b/documentation/content/pt-br/books/fdp-primer/asciidoctor-primer/_index.po
index 51133417a2..2dbd09a3a1 100644
--- a/documentation/content/pt-br/books/fdp-primer/asciidoctor-primer/_index.po
+++ b/documentation/content/pt-br/books/fdp-primer/asciidoctor-primer/_index.po
@@ -1,12 +1,12 @@
 # SOME DESCRIPTIVE TITLE
 # Copyright (C) YEAR The FreeBSD Project
 # This file is distributed under the same license as the FreeBSD Documentation package.
-# Danilo G. Baio <dbaio@FreeBSD.org>, 2021.
+# Danilo G. Baio <dbaio@FreeBSD.org>, 2021, 2022.
 msgid ""
 msgstr ""
 "Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2021-07-24 11:38-0300\n"
-"PO-Revision-Date: 2021-08-14 00:56+0000\n"
+"POT-Creation-Date: 2022-01-08 11:34-0300\n"
+"PO-Revision-Date: 2022-01-18 02:18+0000\n"
 "Last-Translator: Danilo G. Baio <dbaio@FreeBSD.org>\n"
 "Language-Team: Portuguese (Brazil) <https://translate-dev.freebsd.org/"
 "projects/documentation/booksfdp-primerasciidoctor-primer_index/pt_BR/>\n"
@@ -15,7 +15,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=n > 1;\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 4.10.1\n"
 
 #. type: YAML Front Matter: description
 #: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:1
@@ -30,18 +30,24 @@ msgid "Chapter 6. AsciiDoctor Primer"
 msgstr "Capítulo 6. Primer AsciiDoctor"
 
 #. type: Title =
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:10
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:13
 #, no-wrap
 msgid "AsciiDoctor Primer"
 msgstr "Primer AsciiDoctor"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:28
-msgid "toc::[]"
-msgstr "toc::[]"
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:38
+msgid ""
+"include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/"
+"{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] "
+"include::shared/{{% lang %}}/urls.adoc[]"
+msgstr ""
+"include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/"
+"{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] "
+"include::shared/{{% lang %}}/urls.adoc[]"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:33
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:54
 msgid ""
 "Most FDP documentation is written with AsciiDoc.  This chapter explains what "
 "that means, how to read and understand the documentation source, and the "
@@ -56,17 +62,17 @@ msgstr ""
 "as técnicas usadas. Para obter uma referência completa dos recursos do "
 "AsciiDoctor, consulte a link:https://docs.asciidoctor.org/home/[documentação "
 "do Asciidoctor]. Alguns exemplos usados neste capítulo foram retirados da "
-"link:https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference["
-"Referência rápida de sintaxe AsciiDoc]."
+"link:https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-"
+"reference[Referência rápida de sintaxe AsciiDoc]."
 
 #. type: Title ==
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:35
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:56
 #, no-wrap
 msgid "Overview"
 msgstr "Visão geral"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:41
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:62
 msgid ""
 "In the original days of computers, electronic text was simple.  There were a "
 "few character sets like ASCII or EBCDIC, but that was about it.  Text was "
@@ -79,7 +85,7 @@ msgstr ""
 "frescuras, sem formatação, sem inteligência."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:46
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:67
 msgid ""
 "Inevitably, this was not enough.  When text is in a machine-usable format, "
 "machines are expected to be able to use and manipulate it intelligently.  "
@@ -98,7 +104,7 @@ msgstr ""
 "para apresentação."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:50
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:71
 msgid ""
 "It was once hoped that Artificial Intelligence (AI) would make this easy.  "
 "The computer would read the document and automatically identify key phrases, "
@@ -114,7 +120,7 @@ msgstr ""
 "significativa."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:53
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:74
 msgid ""
 "More precisely, they need help identifying what is what.  Consider this text:"
 msgstr ""
@@ -122,18 +128,18 @@ msgstr ""
 "Considere este texto:"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:55
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:76
 msgid "To remove [.filename]#/tmp/foo#, use man:rm[1]."
 msgstr "Para remover [.filename]#/tmp/foo#, utilize o man:rm[1]."
 
 #. type: delimited block - 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:59
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:80
 #, no-wrap
 msgid "% rm /tmp/foo\n"
 msgstr "% rm /tmp/foo\n"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:64
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:85
 msgid ""
 "It is easy for the reader to see which parts are filenames, which are "
 "commands to be typed in, which parts are references to manual pages, and so "
@@ -146,19 +152,19 @@ msgstr ""
 "isso, precisamos utilizar markup."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:66
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:87
 msgid ""
 "The previous example is actually represented in this document like this:"
 msgstr "O exemplo anterior é representado neste documento da seguinte forma:"
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:69
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:90
 #, no-wrap
-msgid "To remove [.filename]#/tmp/foo#, use man:rm[1].\n"
-msgstr "Para remover [.filename]#/tmp/foo#, utilize o man:rm[1].\n"
+msgid "To remove */tmp/foo*, use man:rm[1].\n"
+msgstr "Para remover */tmp/foo*, utilize o man:rm[1].\n"
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:74
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:95
 #, no-wrap
 msgid ""
 "[source,shell]\n"
@@ -172,13 +178,13 @@ msgstr ""
 "----\n"
 
 #. type: Title ==
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:77
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:98
 #, no-wrap
 msgid "Headings"
 msgstr "Cabeçalhos"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:82
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:103
 msgid ""
 "AsciiDoctor supports six headings levels.  If the document type is `article` "
 "only one level 0 (`=`) can be used.  If the document type is `book` then "
@@ -189,88 +195,87 @@ msgstr ""
 "`livro`, pode haver vários títulos de nível 0 (`=`)."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:84
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:105
 msgid "This is an example of headings in an `article`."
 msgstr "Estes são exemplos de cabeçalhos em um `artigo`."
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:87
+#. type: Title =
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:107
 #, no-wrap
-msgid " = Document Title (Level 0)\n"
-msgstr " = Título do Documento (Nível 0)\n"
+msgid "Document Title (Level 0)"
+msgstr "Título do Documento (Nível 0)"
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:89
+#. type: Title ==
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:109
 #, no-wrap
-msgid " == Level 1 Section Title\n"
-msgstr " == Título da Seção de Nível 1\n"
+msgid "Level 1 Section Title"
+msgstr "Título da Seção de Nível 1"
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:91
+#. type: Title ===
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:111
 #, no-wrap
-msgid " === Level 2 Section Title\n"
-msgstr " === Título da Seção de Nível 2\n"
+msgid "Level 2 Section Title"
+msgstr "Título da Seção de Nível 2"
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:93
+#. type: Title ====
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:113
 #, no-wrap
-msgid " ==== Level 3 Section Title\n"
-msgstr " ==== Título da Seção de Nível 3\n"
+msgid "Level 3 Section Title"
+msgstr "Título da Seção de Nível 3"
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:95
+#. type: Title =====
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:115
 #, no-wrap
-msgid " ===== Level 4 Section Title\n"
-msgstr " ===== Título da Seção de Nível 4\n"
+msgid "Level 4 Section Title"
+msgstr "Título da Seção de Nível 4"
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:97
-#, no-wrap
-msgid " ====== Level 5 Section Title\n"
-msgstr " ====== Título da Seção de Nível 5\n"
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:118
+msgid "====== Level 5 Section Title"
+msgstr "====== Título da Seção de Nível 5"
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:99
+#. type: Title ==
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:119
 #, no-wrap
-msgid " == Another Level 1 Section Title\n"
-msgstr " == Outro Título de Seção de Nível 1\n"
+msgid "Another Level 1 Section Title"
+msgstr "Outro Título de Seção de Nível 1"
 
 #. type: delimited block = 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:104
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:125
 msgid "Section levels cannot be skipped when nesting sections."
 msgstr "Os níveis de seção não podem ser ignorados ao aninhar seções."
 
 #. type: delimited block = 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:106
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:127
 msgid "The following syntax is not correct."
 msgstr "A sintaxe a seguir não está correta."
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:109
+#. type: Title =
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:129
 #, no-wrap
-msgid " = Document Title\n"
-msgstr " = Título do Documento\n"
+msgid "Document Title"
+msgstr "Título do Documento"
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:111
+#. type: Title ==
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:131
 #, no-wrap
-msgid " == Level 2\n"
-msgstr " == Nível 2\n"
+msgid "Level 2"
+msgstr "Nível 2"
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:113
+#. type: Title ====
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:133
 #, no-wrap
-msgid " ==== Level 4\n"
-msgstr " ==== Nível 4\n"
+msgid "Level 4"
+msgstr "Nível 4"
 
 #. type: Title ==
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:117
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:138
 #, no-wrap
 msgid "Paragraphs"
 msgstr "Parágrafos"
 
 #. type: delimited block = 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:122
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:143
 msgid ""
 "Paragraphs don't require special markup in AsciiDoc.  A paragraph is defined "
 "by one or more consecutive lines of text.  To create a new paragraph leave "
@@ -281,69 +286,65 @@ msgstr ""
 "parágrafo, deixe uma linha em branco."
 
 #. type: delimited block = 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:124
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:145
 msgid "For example, this is a heading with two paragraphs."
 msgstr "Por exemplo, este é um título com dois parágrafos."
 
-#. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:127
+#. type: Title =
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:147
 #, no-wrap
-msgid " = This is the heading\n"
-msgstr " = Este é o título\n"
+msgid "This is the heading"
+msgstr "Este é o título"
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:130
-#, no-wrap
-msgid ""
-" This is the first paragraph.\n"
-" This is also the first paragraph.\n"
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:151
+msgid "This is the first paragraph.  This is also the first paragraph."
 msgstr ""
-" Este é o primeiro parágrafo.\n"
-" Este também é o primeiro parágrafo.\n"
+"Este é o primeiro parágrafo.\n"
+"Este também é o primeiro parágrafo."
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:132
-#, no-wrap
-msgid " And this is the second paragraph.\n"
-msgstr " E este é o segundo parágrafo.\n"
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:153
+msgid "And this is the second paragraph."
+msgstr "E este é o segundo parágrafo."
 
 #. type: Title ==
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:135
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:156
 #, no-wrap
 msgid "Lists"
 msgstr "Listas"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:139
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:160
 msgid ""
 "AsciiDoctor supports a few types of lists, the most common are `ordered` and "
 "`unordered`.  To get more information about lists, see link:https://docs."
 "asciidoctor.org/asciidoc/latest/syntax-quick-reference/#lists[AsciiDoc "
 "Syntax Quick Reference]."
 msgstr ""
-"AsciiDoctor suporta alguns tipos de listas, as mais comuns são `ordenadas` e`"
-" não ordenadas`. Para obter mais informações sobre listas, consulte o "
-"link:https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/"
+"AsciiDoctor suporta alguns tipos de listas, as mais comuns são `ordenadas` "
+"e` não ordenadas`. Para obter mais informações sobre listas, consulte o link:"
+"https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/"
 "#lists[Referência Rápida da Sintaxe AsciiDoc]."
 
 #. type: Title ===
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:141
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:162
 #, no-wrap
 msgid "Ordered lists"
 msgstr "Listas ordenadas"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:144
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:165
 msgid "To create an ordered list use the `.` character."
 msgstr "Para criar uma lista ordenada, use o caractere `.`."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:146
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:167
 msgid "For example, this is an ordered list."
 msgstr "Por exemplo, esta é uma lista ordenada."
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:152
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:173
 #, no-wrap
 msgid ""
 ". First item\n"
@@ -357,54 +358,54 @@ msgstr ""
 ". Terceiro item\n"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:155
 #: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:176
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:219
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:197
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:240
 msgid "And this would be rendered as."
 msgstr "E isso seria processado como."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:157
 #: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:178
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:199
 msgid "First item"
 msgstr "Primeiro item"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:158
 #: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:179
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:200
 msgid "Second item"
 msgstr "Segundo item"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:159
 #: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:180
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:201
 msgid "Subsecond item"
 msgstr "Sub-segundo item"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:160
 #: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:181
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:202
 msgid "Third item"
 msgstr "Terceiro item"
 
 #. type: Title ===
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:162
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:183
 #, no-wrap
 msgid "Unordered lists"
 msgstr "Listas não ordenadas"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:165
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:186
 msgid "To create an unordered list use the `*` character."
 msgstr "Para criar uma lista não ordenada, use o caractere `*`."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:167
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:188
 msgid "For example, this is an unordered list."
 msgstr "Por exemplo, esta é uma lista não ordenada."
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:173
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:194
 #, no-wrap
 msgid ""
 "* First item\n"
@@ -418,30 +419,30 @@ msgstr ""
 "* Terceiro item\n"
 
 #. type: Title ==
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:183
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:204
 #, no-wrap
 msgid "Links"
 msgstr "Links"
 
 #. type: Title ===
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:186
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:207
 #, no-wrap
 msgid "External links"
 msgstr "Links externos"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:189
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:210
 msgid "To point to another website the `link` macro should be used."
 msgstr "Para apontar para outro site, a macro `link` deve ser usada."
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:192
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:213
 #, no-wrap
 msgid "link:https://www.FreeBSD.org[FreeBSD]\n"
 msgstr "link:https://www.FreeBSD.org[FreeBSD]\n"
 
 #. type: delimited block = 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:198
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:219
 msgid ""
 "As the AsciiDoctor documentation describes, the `link` macro is not required "
 "when the target starts with a URL scheme like `https`.  However, it is a "
@@ -454,24 +455,24 @@ msgstr ""
 "link corretamente, especialmente em idiomas não latinos como o Japonês."
 
 #. type: Title ===
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:201
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:222
 #, no-wrap
 msgid "Internal link"
 msgstr "Link interno"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:205
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:226
 msgid ""
 "To point to another book or article the AsciiDoctor variables should be "
 "used.  For example, if we are in the `cups` article and we want to point to "
 "`ipsec-must` these steps should be used."
 msgstr ""
 "Para apontar para outro livro ou artigo, as variáveis AsciiDoctor devem ser "
-"usadas. Por exemplo, se estamos no artigo `cups` e queremos apontar para"
-"`ipsec-must`, esses passos devem ser usados."
+"usadas. Por exemplo, se estamos no artigo `cups` e queremos apontar "
+"para`ipsec-must`, esses passos devem ser usados."
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:207
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:228
 msgid ""
 "Include the [.filename]#urls.adoc# file from [.filename]#~/doc/shared# "
 "folder."
@@ -479,13 +480,13 @@ msgstr ""
 "Inclua o arquivo [.filename]#urls.adoc# da pasta [.filename]#~/doc/shared#."
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:210
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:231
 #, no-wrap
 msgid "\\include::shared/{lang}/urls.adoc[]\n"
 msgstr "\\include::shared/{lang}/urls.adoc[]\n"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:213
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:234
 msgid ""
 "Then create a link using the AsciiDoctor variable to the `ipsec-must` "
 "article."
@@ -494,24 +495,24 @@ msgstr ""
 "must`."
 
 #. type: delimited block . 4
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:216
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:237
 #, no-wrap
-msgid "link:{ipsec-must}[IPSec-Must article]\n"
-msgstr "link:{ipsec-must}[Artigo IPSec-Must]\n"
+msgid "extref:{ipsec-must}[IPSec-Must article]\n"
+msgstr "extref:{ipsec-must}[IPSec-Must article]\n"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:221
-msgid "link:{ipsec-must}[IPSec-Must article]"
-msgstr "link:{ipsec-must}[Artigo IPSec-Must]"
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:242
+msgid "extref:{ipsec-must}[IPSec-Must article]"
+msgstr "extref:{ipsec-must}[IPSec-Must article]"
 
 #. type: Title ==
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:223
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:244
 #, no-wrap
 msgid "Conclusion"
 msgstr "Conclusão"
 
 #. type: Plain text
-#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:226
+#: documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc:247
 msgid ""
 "This is the conclusion of this AsciiDoctor primer.  For reasons of space and "
 "complexity, several things have not been covered in depth (or at all)."
@@ -519,3 +520,10 @@ msgstr ""
 "Esta é a conclusão deste primer do AsciiDoctor. Por razões de espaço e "
 "complexidade, várias assuntos não foram abordadas em profundidade (ou "
 "completamente)."
+
+#, no-wrap
+#~ msgid " ===== Level 4 Section Title\n"
+#~ msgstr " ===== Título da Seção de Nível 4\n"
+
+#~ msgid "toc::[]"
+#~ msgstr "toc::[]"
diff --git a/documentation/content/pt-br/books/fdp-primer/doc-build/_index.adoc b/documentation/content/pt-br/books/fdp-primer/doc-build/_index.adoc
index 8de4f4a0d0..3b7c04686a 100644
--- a/documentation/content/pt-br/books/fdp-primer/doc-build/_index.adoc
+++ b/documentation/content/pt-br/books/fdp-primer/doc-build/_index.adoc
@@ -1,12 +1,12 @@
 ---
 description: 'Descreve o Processo de Compilação da Documentação do FreeBSD'
 next: books/fdp-primer/asciidoctor-primer
+path: /books/fdp-primer/
 prev: books/fdp-primer/structure
+showBookMenu: 'true'
 tags: ["build", "process", "make"]
 title: 'Capítulo 5. Processo de Compilação da Documentação do FreeBSD'
-showBookMenu: true
 weight: 6
-path: "/books/fdp-primer/"
 ---
 
 [[doc-build]]
@@ -154,36 +154,66 @@ Um `hostname` também pode ser definido como url base para o servidor web intern
 [[doc-build-rendering-pdf]]
 === Renderizando em pdf
 
-Para gerar um documento no formato `pdf` use este comando. Neste exemplo, o Handbook em Inglês será usado. Para exportar o documento corretamente, todas as extensões devem ser passadas usando o argumento `-r`.
+Para gerar a documentação no formato `pdf`, use um dos seguintes exemplos.
 
 [[document-pdf-example]]
-.Compilar um documento em pdf
+.Compilar todos os documentos em pdf
 [example]
 ====
 [source, shell]
 ....
 % cd ~/doc/documentation
-% asciidoctor-pdf \
-  -r ./shared/lib/man-macro.rb \
-  -r ./shared/lib/git-macro.rb \
-  -r ./shared/lib/packages-macro.rb \
-  -r ./shared/lib/inter-document-references-macro.rb \
-  -r ./shared/lib/sectnumoffset-treeprocessor.rb \
-  --doctype=book \
-  -a skip-front-matter \
-  -a pdf-theme=./themes/default-pdf-theme.yml \
-  -o /tmp/handbook.pdf \
-  content/en/books/handbook/book.adoc
+% make pdf
 ....
 ====
 
+[[document-pdf-articles-example]]
+.Compilar todos os artigos em pdf
+[example]
+====
+[source, shell]
+....
+% cd ~/doc/documentation
+% make pdf-articles
+....
+====
+
+[[document-pdf-books-example]]
+.Compilar todos os livros em pdf
+[example]
+====
+[source, shell]
+....
+% cd ~/doc/documentation
+% make pdf-books
+....
+====
+
+[[document-pdf-language-example]]
+.Compilar todos os documentos em pdf de um idioma em específico
+[example]
+====
+[source, shell]
+....
+% cd ~/doc/documentation
+% make DOC_LANG="en" pdf
+....
+Este comando irá compilar todos os documentos em pdf do idioma Inglês.
+
+[source, shell]
+....
+% cd ~/doc/documentation
+% make DOC_LANG="en fr" pdf-books
+....
+Este comando irá compilar todos os livros em pdf dos idiomas Inglês e Francês.
+====
+
 [[doc-build-toolset]]
 == O Conjunto de Ferramentas de Compilação da Documentação do FreeBSD
 
 Essas são as ferramentas usadas para compilar e instalar a documentação FDP.
 
 * A principal ferramenta de compilação é o man:make[1], especificamente o Berkeley Make.
-* Python é usado para gerar o Índice e outras Tabelas relacionadas.
 * Hugo
 * AsciiDoctor
 * Git
@@ -214,7 +244,15 @@ Este [.filename]#Makefile# suporta o seguinte:
 # Targets intended for use on the command line
 #
 # all (default)	-	generate the books TOC and compile all the documentation
-# run	-			serves the built documentation site for local browsing
+# clean		- 	removes generated files
+# run		-	serves the built documentation site for local browsing
+# pdf		-	build PDF versions of the articles and books.
+# html		-	build HTML versions of the articles and books for
+#			offline use.
+#			If variable DOC_HTML_ARCHIVE is set, all documents will be
+#			archived/compressed, and only these files will be kept in the public
+#			directory.
+# epub		-	build EPUB versions of the articles and books (Experimental).
 #
 # The run target uses hugo's built-in webserver to make the documentation site
 # available for local browsing.  The documentation should have been built prior
@@ -223,55 +261,263 @@ Este [.filename]#Makefile# suporta o seguinte:
 
 MAINTAINER=carlavilla@FreeBSD.org <.>
 
-PYTHON_CMD =	/usr/local/bin/python3 <.>
-HUGO_CMD =	/usr/local/bin/hugo <.>
-LANGUAGES =	en,es,pt_BR,de,ja,zh_CN,zh_TW,ru,el,hu,it,mn,nl,pl,fr <.>
+# List of languages without book translations
+ARTICLEONLY_LANGS=	bn-bd da ko tr
+# List of languages without article translations
+BOOKONLY_LANGS=		mn
+
+# List of all languages we have content for
+ALL_LANGUAGES=	bn-bd da de el en es fr hu it ja ko mn nl pl pt-br ru tr zh-cn zh-tw <.>
+
+LOCALBASE?=	/usr/local
+
+RUBY_CMD =	${LOCALBASE}/bin/ruby <.>
+HUGO_CMD =	${LOCALBASE}/bin/hugo <.>
+HUGO_ARGS?=	--verbose --minify
+HUGO_OFFLINE_ARGS?= 	--environment offline --verbose --minify
+ASCIIDOCTOR_CMD=	${LOCALBASE}/bin/asciidoctor
+ASCIIDOCTORPDF_CMD=	${LOCALBASE}/bin/asciidoctor-pdf
+
+.if defined(DOC_LANG) && !empty(DOC_LANG)
+LANGUAGES=	${DOC_LANG:S/,/ /g}
+.if  ${LANGUAGES:Men} == "" && ${.TARGETS:Mpdf*} == "" && ${.TARGETS:Mhtml*} == ""
+.warning "Warning: cannot skip 'en'; adding it back"
+LANGUAGES+=	en
+.endif
+.else
+LANGUAGES=	${ALL_LANGUAGES}
+.endif
+
 RUBYLIB =	../shared/lib
 .export	RUBYLIB
 
+RUN_DEPENDS=	${HUGO_CMD} \
+		${LOCALBASE}/bin/asciidoctor \
+		${LOCALBASE}/bin/rougify
+
 .ifndef HOSTNAME
-.HOST+=localhost
+.  ifdef BIND
+.HOST=$(BIND)
+.  else
+.HOST=localhost
+.  endif
 .else
-.HOST+=$(HOSTNAME)
+.HOST=$(HOSTNAME)
 .endif
 
-.ORDER: all run<.>
+# Strip the languages with only articles from the list of languages we
+#  will use to build books.
+BOOK_LANGS= ${LANGUAGES}
+.for a in ${ARTICLEONLY_LANGS}
+BOOK_LANGS:=	${BOOK_LANGS:N${a}}
+.endfor
+
+# Strip the languages with only books from the list of languages we
+#  will use to build articles.
+ARTICLE_LANGS= ${LANGUAGES}
+.for a in ${BOOKONLY_LANGS}
+ARTICLE_LANGS:=	${ARTICLE_LANGS:N${a}}
+.endfor
+
+# Take the list of all languages, and take out the ones we have been
+#   asked for.  We'll feed this to hugo.
+SKIP_LANGS=
+.for a in ${ALL_LANGUAGES}
+.if  ${LANGUAGES:M${a}} == ""
+SKIP_LANGS+=    ${a}
+.endif
+.endfor
 
-.ORDER: starting-message generate-books-toc
+.ORDER: all run <.>
+
+.ORDER: requirements <.>
+.ORDER: starting-message
 .ORDER: starting-message build
-.ORDER: generate-books-toc build
+.ORDER: build
+
+all: requirements starting-message generate-pgpkeys-txt build
+run: requirements starting-message generate-pgpkeys-txt run-local
+
+# clean does not call pdf-clean as that is a subset of hugo-clean
+clean: hugo-clean pgp-clean
+
+requirements:
+.for dep in ${RUN_DEPENDS}
+.if !exists(${dep})
+	@(echo ${dep} not found, please run 'pkg install docproj'; exit 1)
+.endif
+.endfor
 
-all: starting-message generate-books-toc build <.>
+requirements-pdf:
+.if !exists(${LOCALBASE}/bin/asciidoctor-pdf)
+	@(echo ${LOCALBASE}/bin/asciidoctor-pdf not found, please run 'pkg install rubygem-asciidoctor-pdf'; exit 1)
+.endif
+
+requirements-epub:
+.if !exists(${LOCALBASE}/bin/asciidoctor-epub3)
+	@(echo ${LOCALBASE}/bin/asciidoctor-epub3 not found, please run 'pkg install rubygem-asciidoctor-epub3'; exit 1)
+.endif
 
 starting-message: .PHONY <.>
 	@echo ---------------------------------------------------------------
 	@echo                   Building the documentation
+	@echo  included languages: ${LANGUAGES}
+	@echo  excluded languages: ${SKIP_LANGS}
 	@echo ---------------------------------------------------------------
 
-generate-books-toc: .PHONY <.>
-	${PYTHON_CMD} ./tools/books-toc-parts-creator.py -l ${LANGUAGES}
-	${PYTHON_CMD} ./tools/books-toc-creator.py -l ${LANGUAGES}
-	${PYTHON_CMD} ./tools/books-toc-figures-creator.py -l ${LANGUAGES}
-	${PYTHON_CMD} ./tools/books-toc-tables-creator.py -l ${LANGUAGES}
-	${PYTHON_CMD} ./tools/books-toc-examples-creator.py -l ${LANGUAGES}
+generate-pgpkeys-txt: static/pgpkeys/pgpkeys.txt
 
-run: .PHONY <.>
-	${HUGO_CMD} server -D --baseURL="http://$(.HOST):1313"
+static/pgpkeys/pgpkeys.txt: static/pgpkeys/*key
+	${RUBY_CMD} ./tools/global-pgpkeys-creator.rb
+
+run-local: .PHONY <.>
*** 6221 LINES SKIPPED ***