py4web 1.20201127.1 - en to pt translation catalogue (43 entries)

en: YATL Template Language
pt: Linguagem de template YATL

en: py4web uses Python for its models, controllers, and views, although it uses a slightly modified Python syntax in the views to allow more readable code without imposing any restrictions on proper Python usage.
pt: py4web usa Python para os seus templates, controladores e pontos de vista, embora ele usa uma sintaxe Python ligeiramente modificada nas vistas para permitir que o código mais legível, sem impor quaisquer restrições sobre o uso adequado Python.

en: py4web uses ``[[ ... ]]`` to escape Python code embedded in HTML. The advantage of using square brackets instead of angle brackets is that it’s transparent to all common HTML editors. This allows the developer to use those editors to create py4web views.
pt: usos py4web `` [[...]] `` para escapar código Python embutido em HTML. A vantagem de usar colchetes em vez de colchetes é que é transparente para todos os editores comum HTML. Isso permite que o desenvolvedor usar esses editores para criar visualizações py4web.

en: Since the developer is embedding Python code into HTML, the document should be indented according to HTML rules, and not Python rules. Therefore, we allow unindented Python inside the ``[[ ... ]]`` tags. Since Python normally uses indentation to delimit blocks of code, we need a different way to delimit them; this is why the py4web template language makes use of the Python keyword ``pass``.
pt: Desde o desenvolvedor está incorporação de código Python em HTML, o documento deve ser recuado de acordo com as regras HTML, e não regras Python. Portanto, permitimos que sem recuo Python dentro das `` [[...]] `` tags. Desde Python normalmente usa recuo para delimitar blocos de código, precisamos de uma maneira diferente para delimitá-los; é por isso que as marcas de linguagem template py4web usar da palavra-chave Python `` pass``.

en: A code block starts with a line ending with a colon and ends with a line beginning with ``pass``. The keyword ``pass`` is not necessary when the end of the block is obvious from the context.
pt: Um bloco de código é iniciado com uma linha que termina com dois pontos e as extremidades com uma linha que se inicia com `` pass``. A palavra-chave `` pass`` não é necessário quando o fim do bloco é óbvio a partir do contexto.

en: Here is an example:
pt: Aqui está um exemplo:

en: Note that ``pass`` is a Python keyword, not a py4web keyword. Some Python editors, such as Emacs, use the keyword ``pass`` to signify the division of blocks and use it to re-indent code automatically.
pt: Note que `` pass`` é uma palavra-chave Python, não uma palavra-chave py4web. Alguns editores Python, como Emacs, use a palavra-chave `` pass`` para significar a divisão de blocos e usá-lo para o código re-indent automaticamente.

en: The py4web template language does exactly the same. When it finds something like:
pt: O linguagem de template py4web faz exatamente a mesma. Quando encontra algo como:

en: it translates it into a program:
pt: que traduz em um programa:

en: ``response.write`` writes to the ``response.body``.
pt: `` Response.write`` escreve para o `` response.body``.

en: When there is an error in a py4web view, the error report shows the generated view code, not the actual view as written by the developer. This helps the developer debug the code by highlighting the actual code that is executed (which is something that can be debugged with an HTML editor or the DOM inspector of the browser).
pt: Quando há um erro em uma visão py4web, o relatório de erro mostra o código gerado vista, e não o ponto de vista real como escrito pelo desenvolvedor. Isso ajuda o desenvolvedor de depuração do código, destacando o código real que é executado (que é algo que pode ser depurado com um editor de HTML ou o inspetor DOM do navegador).

en: Also note that:
pt: Observe também que:

en: generates
pt: gera

en: Variables injected into the HTML in this way are escaped by default. The escaping is ignored if ``x`` is an ``XML`` object, even if escape is set to ``True``.
pt: Variáveis ​​injetadas no HTML desta forma são escapou por padrão. O escape é ignorado se `` x`` é um objeto `` XML``, mesmo que escape é definida como `` True``.

en: Here is an example that introduces the ``H1`` helper:
pt: Aqui está um exemplo que introduz o `` H1`` helper:

en: which is translated to:
pt: que é traduzido para:

en: upon evaluation, the ``H1`` object and its components are recursively serialized, escaped and written to the response body. The tags generated by ``H1`` and inner HTML are not escaped. This mechanism guarantees that all text — and only text — displayed on the web page is always escaped, thus preventing XSS vulnerabilities. At the same time, the code is simple and easy to debug.
pt: mediante avaliação, o objeto `` H1`` e seus componentes são recursivamente serializados, escapou e escrita para o corpo da resposta. As tags gerados pelo `` H1`` e HTML interior não escapamos. Este mecanismo garante que todo o texto - e somente texto - exibido na página web é sempre escaparam, evitando assim vulnerabilidades XSS. Ao mesmo tempo, o código é simples e fácil de depurar.

en: The method ``response.write(obj, escape=True)`` takes two arguments, the object to be written and whether it has to be escaped (set to ``True`` by default). If ``obj`` has an ``.xml()`` method, it is called and the result written to the response body (the ``escape`` argument is ignored). Otherwise it uses the object’s ``__str__`` method to serialize it and, if the escape argument is ``True``, escapes it. All built-in helper objects (``H1`` in the example) are objects that know how to serialize themselves via the ``.xml()`` method.
pt: O método `` response.write (obj, escapar = True) `` recebe dois argumentos, o objeto a ser escrito e se ele tem que ser escapado (definido como `` True`` por padrão). Se `` obj`` tem um `` .xml () `` método, ele é chamado e o resultado escrito para o corpo da resposta (o argumento `` escape`` é ignorado). Caso contrário, ele usa `` __str__`` o método do objeto para serializar-lo e, se o argumento fuga é `` True``, lhe escapa. Todos os built-in helper objetos ( `` H1`` no exemplo) são objetos que sabem como serializar-se através do `` .xml () `` método.

en: This is all done transparently. You never need to (and never should) call the ``response.write`` method explicitly.
pt: Isso tudo é feito de forma transparente. Você nunca precisa (e não deve) chamar o método `response.write`` explicitamente.

en: Basic syntax
pt: Sintaxe básica

en: The py4web template language supports all Python control structures. Here we provide some examples of each of them. They can be nested according to usual programming practice.
pt: O linguagem de template py4web suporta todas as estruturas de controle Python. Aqui nós fornecemos alguns exemplos de cada um deles. Eles podem ser aninhados de acordo com a prática de programação habitual.

en: ``for...in``
pt: `` Para ... in``

en: In templates you can loop over any iterable object:
pt: Em templates você pode fazer um loop sobre qualquer objeto iterável:

en: which produces:
pt: que produz:

en: Here ``items`` is any iterable object such as a Python list, Python tuple, or Rows object, or any object that is implemented as an iterator. The elements displayed are first serialized and escaped.
pt: Aqui `` items`` é qualquer objeto iterável como uma lista Python, Python tupla, ou linhas objeto, ou qualquer objeto que é implementado como um iterador. Os elementos apresentados são primeiro serializado e escapou.

en: ``while``
pt: `` While``

en: You can create a loop using the while keyword:
pt: Você pode criar um loop usando a palavra-chave, enquanto:

en: ``if...elif...else``
pt: `` If ... elif ... else``

en: You can use conditional clauses:
pt: Você pode usar cláusulas condicionais:

en: Since it is obvious that ``else`` closes the first ``if`` block, there is no need for a ``pass`` statement, and using one would be incorrect. However, you must explicitly close the ``else`` block with a ``pass``.
pt: Uma vez que é óbvio que `` else`` encerra a primeira `` if`` bloco, não há necessidade de um `` declaração pass``, e usando um seria incorreto. No entanto, você deve fechar explicitamente a opção `` bloco else`` com um `` pass``.

en: Recall that in Python “else if” is written ``elif`` as in the following example:
pt: Lembre-se que, em Python “else if” está escrito `` elif`` como no exemplo a seguir:

en: It produces:
pt: Produz:

en: ``try...except...else...finally``
pt: `` Tentar ... exceto ... else ... finally``

en: It is also possible to use ``try...except`` statements in views with one caveat. Consider the following example:
pt: Também é possível usar `` tentar ... declarações except`` nas vistas com uma ressalva. Considere o seguinte exemplo:

en: It will produce the following output:
pt: Ela irá produzir o seguinte resultado:

en: This example illustrates that all output generated before an exception occurs is rendered (including output that preceded the exception) inside the try block. “Hello” is written because it precedes the exception.
pt: Este exemplo ilustra que todas as saídas gerado antes de ocorrer uma exceção é processado (incluindo a saída que precedeu a excepção) no interior do bloco de teste. “Olá” é escrito porque precede a exceção.

en: ``def...return``
pt: `` Def ... return``

en: The py4web template language allows the developer to define and implement functions that can return any Python object or a text/html string. Here we consider two examples:
pt: O linguagem de template py4web permite ao desenvolvedor definir e implementar funções que podem retornar qualquer objeto Python ou uma cadeia de texto / html. Aqui, consideramos dois exemplos:

en: produces the following output:
pt: produz o seguinte resultado:

en: The function ``itemize1`` returns a helper object that is inserted at the location where the function is called.
pt: A função `` itemize1`` devolve um objecto auxiliar que é inserido no local em que a função é chamada.

en: Consider now the following code:
pt: Considere agora o seguinte código:

en: It produces exactly the same output as above. In this case, the function ``itemize2`` represents a piece of HTML that is going to replace the py4web tag where the function is called. Notice that there is no ‘=’ in front of the call to ``itemize2``, since the function does not return the text, but it writes it directly into the response.
pt: Ela produz exactamente o mesmo resultado como acima. Neste caso, a função `` itemize2`` representa um pedaço de HTML que vai substituir a tag py4web onde a função é chamada. Observe que não existe ‘=’ na frente da chamada para `` itemize2``, já que a função não retornar o texto, mas escreve-lo diretamente para a resposta.

en: There is one caveat: functions defined inside a view must terminate with a ``return`` statement, or the automatic indentation will fail.
pt: Há uma ressalva: funções definidas dentro de uma visão deve terminar com uma declaração `` return``, ou o recuo automático falhará.
