cvs: smarty /docs/pt_BR bookinfo.xml getting-started.xml preface.xml /docs/pt_BR/appendixes resources.xml tips.xml troubleshooting.xml /docs/pt_BR/designers chapter-debugging-console.xml config-files.xml language-basic-syntax.xml language-builtin-functions.xml language-combining-modifiers.xml language-custom-functions.xml language-modifiers.xml language-variables.xml /docs/pt_BR/designers/language-basic-syntax language-math.xml language-syntax-attributes.xml language-syntax-comments.xml language-syntax-functions.xml language-syntax-quotes.xml

"Monte Ohrt" <[email protected]>
Newsgroups gmane.comp.php.cvs.smarty
Message-ID <cvsmohrt1095779145@cvsserver>
mohrt		Tue Sep 21 11:05:45 2004 EDT

  Modified files:              
    /smarty/docs/pt_BR	bookinfo.xml getting-started.xml preface.xml 
    /smarty/docs/pt_BR/appendixes	resources.xml tips.xml 
                                 	troubleshooting.xml 
    /smarty/docs/pt_BR/designers	chapter-debugging-console.xml 
                                	config-files.xml 
                                	language-basic-syntax.xml 
                                	language-builtin-functions.xml 
                                	language-combining-modifiers.xml 
                                	language-custom-functions.xml 
                                	language-modifiers.xml 
                                	language-variables.xml 
    /smarty/docs/pt_BR/designers/language-basic-syntax	
                                                      	language-math.xml 
                                                      	language-syntax-attributes.xml 
                                                      	language-syntax-comments.xml 
                                                      	language-syntax-functions.xml 
                                                      	language-syntax-quotes.xml 
  Log:
  committing portuguese docs updates from Thomas Gonzalez Miranda

-- 
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
mohrt-20040921110545.txt (text/plain, 87.1 KB)
http://cvs.php.net/diff.php/smarty/docs/pt_BR/bookinfo.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/pt_BR/bookinfo.xml
diff -u smarty/docs/pt_BR/bookinfo.xml:1.3 smarty/docs/pt_BR/bookinfo.xml:1.4
--- smarty/docs/pt_BR/bookinfo.xml:1.3	Tue Jun  1 09:43:04 2004
+++ smarty/docs/pt_BR/bookinfo.xml	Tue Sep 21 11:05:45 2004
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- EN-Revision: 1.5 Maintainer: nobody Status: ready -->
  <bookinfo id="bookinfo">
   <title>Smarty - a ferramenta para compilar templates para PHP</title>
@@ -20,6 +20,9 @@
    </author>
    <author>
     <firstname>Taniel</firstname><surname>Franklin &lt;[email protected]&gt;</surname>
+   </author>
+   <author>
+    <firstname>Thomas</firstname><surname>Thomas Gonzalez Miranda &lt;[email protected]&gt;</surname>
    </author>
   </authorgroup>
   <pubdate>&build-date;</pubdate>
http://cvs.php.net/diff.php/smarty/docs/pt_BR/getting-started.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/pt_BR/getting-started.xml
diff -u smarty/docs/pt_BR/getting-started.xml:1.3 smarty/docs/pt_BR/getting-started.xml:1.4
--- smarty/docs/pt_BR/getting-started.xml:1.3	Fri Jul 30 06:40:51 2004
+++ smarty/docs/pt_BR/getting-started.xml	Tue Sep 21 11:05:45 2004
@@ -5,41 +5,45 @@
  <chapter id="what.is.smarty">
    <title>O que é o Smarty?</title>
    <para>
-	Smarty uma ferramenta de template para PHP. Mais especificamente, ela facilita 
-	uma forma controlável de separar a aplicação lógica e o conteúdo de sua apresentação.
-	Isto é melhor descrito em uma situação onde o programador da aplicação e o designer
-	do template executam diferentes funções, ou na maioria dos casos não são a mesma pessoa.
-	Por exemplo, digamos que você está criando uma página que está mostrando um artigo de
-	jornal. O autor, a manchete, a conclusão e o corpo do artigo são elementos de conteúdo, eles
-	não contém informação sobre como eles serão apresentados. Eles são passados para o Smarty
-	pela aplicação, então o designer de template edita o template e usa uma combinação de tags
-	HTML e tags de template para formatar a apresentação destes elementos (tabelas HTML, cores
-	de planos de fundo, tamanhos da fonte, folhas de estilos, etc.).
-	Quando o programador necessita
-	mudar a forma em que o conteúdo do artigo é 
-	devolvido (uma mudança da lógica da aplicação.) Esta 
-	mudança não afeta o designer do template, o conteúdo ainda chegará no template exatamente da 
-	mesma forma. De modo semelhante, se o designer de template quer redesenhar completamente
-	 o template, isto não requer mudanças na lógica da aplicação. Então o programador pode fazer
-	 mudanças na lógica da aplicação sem precisar reestruturar os templates,
-	 e o designer de template
-	 pode fazer mudanças no template sem quebrar a lógica da aplicação.
-	</para>
-	<para>
+    O Smarty é um sistema de templates para PHP. Mais especificamente, ele fornece uma maneira 
+	fácil de controlar a separação da aplicação lógica e o conteúdo de sua apresentação. Isto é 
+	melhor descrito em uma situação onde o programador da aplicação e o designer do template executam 
+	diferentes funções, ou na maioria dos casos não são a mesma pessoa. Por exemplo, digamos que você 
+	está criando uma página para web para mostrar um artigo de um jornal. O autor, a manchete, 
+	a conclusão e o corpo do artigo são elementos de conteúdo, eles não contém informação alguma 
+	sobre como eles devem ser mostrados. Ele são enviados ao Smarty pela aplicação, então o designer 
+	do template edita o template e usa uma combinação de tags HTML e tags de templates para formatar 
+	a apresentação destes elementos (tabelas HTML, cores de fundo, tamanhos de fontes, folhas de estilos, etc.). 
+	Se algum dia o programador precisar alterar a maneira como o conteúdo do artigo é tratado (uma mudança na 
+	lógica da aplicação). Esta mudança não afeta o design do template, o conteúdo será enviado ao template 
+	exatamente da mesma forma. De modo semelhante, se o designer do template quiser redesenhar completamente 
+	os templates, não é necessária nenhuma alteração na lógica da aplicação. Sendo assim, o programador 
+	pode fazer mudanças na lógica da aplicação sem a necessidade de reestruturar os templates, e o designer 
+	do template pode fazer mudanças nos templates sem alterar a lógica da aplicação.
+	</para>
+	<para>
+    Um objetivo do projeto Smarty é a separação da lógica do negócio e da lógica da apresentação. 
+	Isto significa que os templates podem certamente conter a lógica sob a circunstância que é somente 
+	para  apresentação. Alguns exemplos são: a inclusão de outros templates, alternação de cores nas linhas 
+	das tabelas, colocar o texto de uma variável em maiúsculo, percorrer uma matriz de dados e mostrá-la, etc. 
+	são todos exemplos de apresentação lógica. Isto não significa que o Smarty força a separação da lógica de 
+	negócios e da lógica de apresentação. O Smarty não tem conhecimento do que é o que em sua aplicação, portanto 
+	colocar sua a lógica de negócio no template é problema seu. Caso você deseje que não haja NENHUMA lógica 
+	em seus templates você pode certamente fazer isso trocando o conteúdo para textos e variáveis somente.
+<!-- ficou legal o texto abaixo, mas não segue exatamente toda tradução, espero aprovação do meu acima, ou mistura entre os dois: 
 	Agora um resumo sobre o que o Smarty faz e NÃO faz. O Smarty não tenta separar completamente
 	a lógica dos templates. Não há problema com a lógica em seus templates sob a condição de que 
 	esta lógica seja estritamente para apresentação. Uma palavra de aviso: mantenha a lógica
 	fora dos templates, e a lógica da apresentação fora da aplicação. Isto definitivamente
 	manterá as coisas mais manipuláveis
-	e escaláveis para o futuro próximo.
+	e escaláveis para o futuro próximo. -->
 	</para>
 	<para>
-	Um dos aspectos únicos sobre o Smarty é a compilação do template. Isto significa que o
-	Smarty lê os arquivos de template e cria scripts PHP a partir deles. Uma vez criados, eles 
-	são executados. Então não há interpretação de arquivo de
-	template custosa para cada pedido, e 
-	cada template pode levar total vantagem de soluções de cache de compiladores PHP tais como
-	Zend Accelerator (<ulink url="&url.zend;">&url.zend;</ulink>) ou PHP Accelerator
+    Um dos aspectos únicos do Smarty é seu sistema de compilação de templates. O Smarty lê os arquivos 
+	de templates e cria scripts PHP à partir deles. Uma vez criados, eles são executados sem ser necessário 
+	uma outra compilação do template novamente. Com isso, os arquivos de template não são 'parseados'(analisados) 
+	toda vez que um template é solicitado, e cada template tem a total vantagem de soluções de cache do 
+	compilador PHP, tais como: Zend Accelerator (<ulink url="&url.zend;">&url.zend;</ulink>) ou PHP Accelerator
 	(<ulink url="&url.php-accelerator;">&url.php-accelerator;</ulink>).
    </para>
    <para>
@@ -47,25 +51,16 @@
    </para>
    <itemizedlist>
     <listitem><para>Ele é extremamente rápido.</para></listitem>
-    <listitem><para>Ele é eficiente visto que 
-     o interpretador de PHP faz o trabalho mais chato.</para></listitem>
+    <listitem><para>Ele é eficiente visto que o interpretador do PHP faz o trabalho mais pesado.</para></listitem>
     <listitem><para>Sem elevadas interpretações de template, apenas compila uma vez.</para></listitem>
-    <listitem><para>Ele está atento para só recompilar os arquivos de template que 
-    foram mudados.</para></listitem>
-    <listitem><para>Você pode criar <link linkend="language.custom.functions">funções customizadas
-       </link> e <link linkend="language.modifiers">modificadores de variáveis
-       </link> customizados, de modo que a linguagem de template é extremamente extensível.</para></listitem>
-    <listitem><para>Sintaxe de tag delimitadora de template configurável, assim você pode usar
-      {}, {{}}, &lt;!--{}--&gt;, etc.</para></listitem>
-    <listitem><para>Os construtoress if/elseif/else/endif são passados para o interpretador de PHP,
-      assim a sintaxe de expressão {if ...} pode ser tanto simples quanto complexa da forma que você
-      queira.</para></listitem>
+    <listitem><para>Ele está atento para só recompilar os arquivos de template que foram mudados.</para></listitem>
+    <listitem><para>Você pode criar <link linkend="language.custom.functions">funções customizadas</link> e <link linkend="language.modifiers">modificadores de variáveis</link> customizados, de modo que a linguagem de template é extremamente extensível.</para></listitem>
+    <listitem><para>Delimitadores de tag configuráveis, sendo assim você pode usar {}, {{}}, &lt;!--{}--&gt;, etc.</para></listitem>
+    <listitem><para>Os construtoress if/elseif/else/endif são passados para o interpretador de PHP, assim a sintaxe de expressão {if ...} pode ser tanto simples quanto complexa da forma que você queira.</para></listitem>
     <listitem><para>Aninhamento ilimitado de sections, ifs, etc. permitidos.</para></listitem>
-    <listitem><para>É possível embutir o código PHP diretamente em seus arquivos de template,
-      apesar de que isto pode não ser necessário (não recomendado)
-      visto que a ferramenta é tão customizável.</para></listitem>
+    <listitem><para>É possível embutir o código PHP diretamente em seus arquivos de template, apesar de que isto pode não ser necessário (não recomendado) visto que a ferramenta é tão customizável.</para></listitem>
     <listitem><para>Suporte de caching embutido</para></listitem>
-    <listitem><para>Fontes de template arbitrárias</para></listitem>
+    <listitem><para>Fontes de template arbitrários</para></listitem>
     <listitem><para>Funções de manipulação de cache customizadas</para></listitem>
     <listitem><para>Arquitetura de Plugin</para></listitem>
    </itemizedlist>
@@ -74,7 +69,7 @@
   <title>Instalação</title>
 
   <sect1 id="installation.requirements">
-   <title>Requerimentos</title>
+   <title>Requisitos</title>
    <para>
    Smarty requer um servidor web rodando o PHP 4.0.6 superior.
    </para>
@@ -84,7 +79,7 @@
     <title>Instalação Básica</title>
 	<para>
 	Instale os arquivos da biblioteca do Smarty que estão no diretório /libs/ da
-	distribuição. Estes são os arquivos PHP que você NÃO EDITARIA. Eles são comuns
+	distribuição. Estes são os arquivos PHP que você NÃO PRECISA editar. Eles são comuns
 	a todas as aplicações e eles só são atualizados quando você atualiza para uma nova
 	versão do Smarty.
 	</para>
@@ -96,19 +91,19 @@
 Config_File.class.php
 debug.tpl
 /core/*.php (todos eles)
-/plugins/*.php (todos eles)</screen>
+/plugins/*.php (todos eles)
+     </screen>
 	</example>
 
 	<para>
 	O Smarty utiliza uma constante do PHP chamada <link
 	linkend="constant.smarty.dir">SMARTY_DIR</link> que é o caminho para diretório da
 	biblioteca do Smarty. Basicamente, se sua aplicação pode encontrar o arquivo
-	 <emphasis>Smarty.class.php</emphasis>, você não precisa definir o
-	SMARTY_DIR, Smarty encontrará-lo. Então, se	<emphasis>Smarty.class.php</emphasis> não está
-	em seu include_path, ou você não fornece um caminho absoluto para ele em sua aplicação, então
-	você deve definir o SMARTY_DIR manualmente.
-	SMARTY_DIR <emphasis>deve</emphasis> incluir uma
-	barra de seguimento.
+	 <emphasis>Smarty.class.php</emphasis>, você não precisa definir a constante 
+	SMARTY_DIR, o Smarty irá localizá-la sozinho. Sendo assim, se o arquivo <emphasis>Smarty.class.php</emphasis> 
+	não está em seu include_path, ou você não fornece um caminho absoluto para ele em sua aplicação, então
+	você deve definir a constante SMARTY_DIR manualmente. A constante SMARTY_DIR <emphasis>deve</emphasis> 
+	conter uma barra de seguimento.
 	</para>
 	<para>
 	Aqui está um exemplo de como você cria uma instância do Smarty em seus scripts PHP:
@@ -118,12 +113,13 @@
      <title>Cria uma instância Smarty do Smarty</title>
      <screen>
 require('Smarty.class.php');
-$smarty = new Smarty;</screen>
+$smarty = new Smarty;
+     </screen>
 	</example>
 
 	<para>
 	Tente rodar o script acima. Se você obtiver um erro dizendo que o arquivo
-	<emphasis>Smarty.class.php</emphasis> file could not be found, você tem que fazer uma
+	<emphasis>Smarty.class.php</emphasis> não pôde ser encontrado, você tem que fazer uma
 	 das coisas a seguir:
 	</para>
 
@@ -131,7 +127,8 @@
      <title>Fornecer um caminho absoluto para o arquivo da biblioteca</title>
      <screen>
 require('/usr/local/lib/php/Smarty/Smarty.class.php');
-$smarty = new Smarty;</screen>
+$smarty = new Smarty;
+     </screen>
 	</example>
 
 	<example>
@@ -141,7 +138,8 @@
 // para o include_path e reinicie o servidor web.
 // Então o código a seguir funcionaria:
 require('Smarty.class.php');
-$smarty = new Smarty;</screen>
+$smarty = new Smarty;
+     </screen>
 	</example>
 
 	<example>
@@ -149,7 +147,8 @@
      <screen>
 define('SMARTY_DIR','/usr/local/lib/php/Smarty/');
 require(SMARTY_DIR.'Smarty.class.php');
-$smarty = new Smarty;</screen>
+$smarty = new Smarty;
+     </screen>
 	</example>
 
 	<para>
@@ -165,11 +164,10 @@
 	para cada aplicação que utilizará o Smarty.
 	</para>
 	<para>
-	Certifique-se que você sabe a localização do document root do seu servidor web. Em nosso exemplo,
-	o document root é "/web/www.mydomain.com/docs/". Os diretórios do Smarty
+	Certifique-se que você sabe a localização do 'document root' do seu servidor web. Em nosso exemplo,
+	o 'document root' é "/web/www.mydomain.com/docs/". Os diretórios do Smarty
 	só são acessados pela biblioteca do Smarty e nunca acessados diretamente pelo navegador. Então para
-	evitar qualquer preocupação com segurança, 
-	é recomendado colocar estes diretórios
+	evitar qualquer preocupação com segurança, é recomendado colocar estes diretórios
 	<emphasis>fora</emphasis> do document root.
 	</para>
 	<para>
@@ -181,10 +179,10 @@
 	 "/web/www.mydomain.com/smarty/guestbook/".
 	</para>
 	<para>
-	Você precisará pelo menos de um arquivo dentro de seu document root, e que seja acessado pelo
+	Você precisará pelo menos de um arquivo dentro de seu 'document root', e que seja acessado pelo
 	navegador. Nós chamamos nosso
 	script de "index.php", e o colocamos em um subdiretório dentro
-	do document root chamado "/guestbook/".
+	do 'document root' chamado "/guestbook/".
 	</para>
 	
 	<note>
@@ -204,7 +202,7 @@
 	</para>
 
 	<example>
-     <title>Exemple de estrutura de arquivo</title>
+     <title>Exemplo de estrutura de arquivo</title>
      <screen>
 /usr/local/lib/php/Smarty/Smarty.class.php
 /usr/local/lib/php/Smarty/Smarty_Compiler.class.php
@@ -218,7 +216,8 @@
 /web/www.mydomain.com/smarty/guestbook/configs/
 /web/www.mydomain.com/smarty/guestbook/cache/
 
-/web/www.mydomain.com/docs/guestbook/index.php</screen>
+/web/www.mydomain.com/docs/guestbook/index.php
+     </screen>
 	</example>
 
 	<para>
@@ -238,7 +237,8 @@
 chmod 770 /web/www.mydomain.com/smarty/guestbook/templates_c/
 
 chown nobody:nobody /web/www.mydomain.com/smarty/guestbook/cache/
-chmod 770 /web/www.mydomain.com/smarty/guestbook/cache/</screen>
+chmod 770 /web/www.mydomain.com/smarty/guestbook/cache/
+     </screen>
 	</example>
 
 	<note>
@@ -252,7 +252,7 @@
 	</note>
 
 	<para>
-	Nós precisamos criar o arquivoindex.tpl que o Smarty vai ler. Ele estará localizado  em seu
+	Nós precisamos criar o arquivo index.tpl que o Smarty vai ler. Ele estará localizado  em seu
 	 $template_dir.
 	</para>
 
@@ -262,7 +262,8 @@
 
 {* Smarty *}
 
-Olá, {$nome}!</screen>
+Olá, {$nome}!
+     </screen>
 	</example>
 
 
@@ -272,13 +273,12 @@
 		{* Smarty *} é um comentário de template. Ele não é exigido, mas é uma prática boa
 		iniciar todos os seus arquivos de template com este com este comentário. Isto faz com
 		que o arquivo seja reconhecido sem levar em consideração a sua extensão. Por exemplo,
-		editores de texto poderiam reconhecer
-		o arquivo e habilitar iluminação de sintaxe especial.
+		editores de texto poderiam reconhecer o arquivo e habilitar coloração de sintaxe especial.
 	</para>
 	</note>
 
 	<para>
-	Agora vamos editar index.php. Nós criaremos uma instância do Smarty, daremos valor às variáveis
+	Agora vamos editar index.php. Nós criaremos uma instância do Smarty, atribuiremos valores às variáveis
 	 de template e mostraremos o arquivo index.tpl. Em nosso ambiente de exemplo,
 	  "/usr/local/lib/php/Smarty" é o nosso include_path. Certifique-se de ter feito o mesmo, ou use
 	  caminhos absolutos.
@@ -287,7 +287,7 @@
 	<example>
      <title>Editando /web/www.mydomain.com/docs/guestbook/index.php</title>
      <screen>
-// ler a biblioteca do Smarty
+// carregar a biblioteca do Smarty
 require('Smarty.class.php');
 
 $smarty = new Smarty;
@@ -297,9 +297,10 @@
 $smarty->config_dir = '/web/www.mydomain.com/smarty/guestbook/configs/';
 $smarty->cache_dir = '/web/www.mydomain.com/smarty/guestbook/cache/';
 
-$smarty->assign('nome','Taniel');
+$smarty->assign('nome','Thomas');
 
-$smarty->display('index.tpl');</screen>
+$smarty->display('index.tpl');
+     </screen>
 	</example>
 
 	<note>
@@ -308,30 +309,29 @@
 	 Em nosso exemplo, nós estamos configurando caminhos absolutos para todos os diretórios 
 	 do Smarty. Se '/web/www.mydomain.com/smarty/guestbook/' está dentro de seu include_path
 	  do PHP, então estas configurações não são necessárias. Entretanto, isto é mais eficiente
-	  e (a experiência mostra) tem menos tendência a erros em relação à definição de caminhos
-	  absolutos. Isto garante que o 
-	  Smarty está pegando arquivos do diretório que você deseja.
+	  e (a experiência mostra) menos tendência a erros em relação à definição de caminhos
+	  absolutos. Isto garante que o Smarty está obtendo os arquivos dos diretórios que você deseja.
 	 </para>
 	</note>
 
 	<para>
-	Agora lê o arquivo index.php de seu navegador.
-	Você veria "Olá, Taniel!"
+	Agora carregue o arquivo index.php em seu navegador.
+	Você veria "Olá, Thomas!"
 	</para>
 	<para>
 	Você completou a configuração básica para o Smarty!
 	</para>
    </sect1>
    <sect1 id="installing.smarty.extended">
-   <title>Expandindo a configuração</title>
+   <title>Estendendo a configuração</title>
 
    <para>
    Esta é uma continuação da <link
    linkend="installing.smarty.basic">instalação básica</link>,
-   por favor leia ela primeiro!
+   por favor leia a instalação básica primeiro!
    </para>
    <para>
-   Uma forma um pouco mais flexível de configurar o Smarty é expandir a classe e inicializar seu ambiente de
+   Uma forma um pouco mais flexível de configurar o Smarty é estender a classe e inicializar seu ambiente de
    Smarty. Então, ao invés de configurar caminhos de diretórios repetidamente, preencher as mesmas variáveis,
    etc., nós podemos fazer isso para facilitar. Vamos criar um novo diretório "/php/includes/guestbook/" e criar um
    novo arquivo chamado "setup.php". Em nosso ambiente de exemplo, "/php/includes" está em nosso
@@ -343,10 +343,10 @@
     <title>Editando /php/includes/guestbook/setup.php</title>
     <screen>
 
-// lê a biblioteca do Smarty
+// carrega a biblioteca do Smarty
 require('Smarty.class.php');
 
-// O arquivo setup.php é uma boa forma para ler
+// O arquivo setup.php é uma boa forma para carregar
 // arquivos de bibliotecas da aplicação exigida, e você pode fazer
 // isso corretamente aqui. Um exemplo:
 // require('guestbook/guestbook.lib.php');
@@ -368,7 +368,8 @@
 		$this->assign('app_name','Guest Book');
    }
 
-}</screen>
+}
+     </screen>
    </example>
 
   <para>
@@ -383,13 +384,14 @@
 
 $smarty = new Smarty_GuestBook;
 
-$smarty->assign('nome','Taniel');
+$smarty->assign('nome','Thomas');
 
-$smarty->display('index.tpl');</screen>
+$smarty->display('index.tpl');
+     </screen>
    </example>
 
   <para>
-  Agora você ver que é completamente simples criar uma instância do Smarty, apenas use
+  Agora você pode ver que é extremamente simples criar uma instância do Smarty, apenas use
   Smarty_GuestBook que automaticamente inicializa tudo para a nossa aplicação.
   </para>
    
http://cvs.php.net/diff.php/smarty/docs/pt_BR/preface.xml?r1=1.2&r2=1.3&ty=u
Index: smarty/docs/pt_BR/preface.xml
diff -u smarty/docs/pt_BR/preface.xml:1.2 smarty/docs/pt_BR/preface.xml:1.3
--- smarty/docs/pt_BR/preface.xml:1.2	Fri Jul 30 06:40:51 2004
+++ smarty/docs/pt_BR/preface.xml	Tue Sep 21 11:05:45 2004
@@ -2,69 +2,61 @@
  <preface id="preface">
   <title>Prefácio</title>
   <para>
-   Esta é uma das dúvidas mais frenquentes na "mailing list" do PHP:
-   Como eu posso fazer PHP scripts independentes do layout ? Enquanto 
-   PHP está contado como "HTML linguagem de blocos dinâmicos", após estar
-   escrevendo alguns projetos que misturavam PHP e HTML livremente alguém veio com a
-   idéia que a separação do form e conteúdo é uma boa prática [TM]. Além disso,
-   em muitas empresas os papéis de web designer e programador são separados. 
-   Consequentemente, a procura por 
-   uma solução de template continua.
+   Esta é sem dúvida uma das perguntas mais freqüentes nas listas de discussões sobre PHP: 
+   como eu faço meus scripts em PHP independentes do layout? O PHP é vendido como sendo uma 
+   "linguagem de script embutida no HTML", após escrever alguns projetos que misturam HTML e 
+   PHP naturalmente vem uma idéia de que a separação da forma e conteúdo é uma boa prática [TM]. 
+   Além disso, em muitas empresas os papéis de designer e programador são separados. 
+   Conseqüentemente, a busca por um sistema de templates continua.
   </para>
   <para>
-   Na minha própria empresa por exemplo, o desenvolvimento de uma aplicação
-   continua como segue: Após a documentação necessária estar pronta, o web designer
-   faz a maquete da interface e entrega isso ao programador. O programador implementa 
-   as regras de negócio no PHP e usa a maquete para criar o "esqueleto" do template. 
-   O projeto está então nas mãos da pessoa responsável pelo layout HTML designer/web page 
-   que produz o template para sua glória completa. O projeto deve ir e voltar
-   entre programação/HTML várias vezes. Desta maneira, é importante para ter
-   um bom suporte de template porque programadores não querem fazer nada
-   com HTML e não querem HTML designers fazendo besteiras no código PHP.
-   Designers precisam de suporte para arquivos de configuração, blocos dinâmicos e
-   outras interfaces usadas, mas eles não querem ocupar-se com
-   as complexidades da linguagem 
-   de programação PHP.
+   Na nossa empresa por exemplo, o desenvolvimento de uma aplicação é feito da seguinte 
+   maneira: Após a documentação necessária estar pronta, o designer faz o esboço da interface 
+   e entrega ao programador. O programador implementa as regras de negócio no PHP e usa o 
+   esboço da interface para criar o esqueleto dos templates. O projeto então está nas mãos 
+   da pessoa responsável pelo layout HTML da página que então transforma o esboço em um layout 
+   realmente funcional. O projeto talvez vá e volte entre programação/designer HTML várias vezes. 
+   Porém, é importante ter um bom suporte à templates porque os programadores não querem ter que 
+   ficar mexendo com HTML e não querem que os designers estraguem seus códigos PHP. Os designers 
+   precisam de ajuda para alterar os arquivos de configuração, blocos dinâmicos e outros 
+   problemas relacionados à interface usada, mas eles não querem ocupar-se com as complexidades 
+   da linguagem de programação PHP.
   </para>
   <para>
-   Olhando para muitas soluções de template para PHP disponíveis atualmente,
-   a maioria destes disponibiliza uma forma rudimentar de substituição de variáveis
-   dentro de templates e fazem um form limitado de blocos dinâmicos de funcionalidades.
-   Mas minhas necessidades próprias requisitam um pouco mais do que isso. 
-   Nós não queremos programadores mexendo com layout HTML em tudo, mas isso foi quase inevitável. 
-   Por exemplo, se um designer quiser cores no background alternando-se em blocos dinâmicos,
-   isso tem que ser feito pelo programador antecipadamente. Nós também
-   precisamos que designers estejam habilitados a usar seus próprios arquivos de configuração,
-   e colocar variáveis deles dentro dos templates. A lista continua.
+   Analisando muitas das soluções de templates disponíveis para PHP hoje em dia, a 
+   maioria somente disponibilizada uma forma rudimentar de substituição de variáveis 
+   dentro dos templates e trabalham de forma limitada com as funcionalidades dos blocos 
+   dinâmicos. Mas nossas necessidades necessitam de um pouco mais do que isso. Nós não 
+   queríamos que programadores mexendo com layout em HTML, mas isso é praticamente inevitável. 
+   Por exemplo, se um designer quiser que as cores de fundo se alternam em blocos dinâmicos, 
+   isso tem que ser feito pelo programador antecipadamente. Nós também precisamos que os designers 
+   possam usar seus próprios arquivos de configuração, e usar as variáveis definidas nestes arquivos 
+   em seus templates. E a lista de necessidades continua...
   </para>
   <para>
-   Nós iniciamos escrevendo por acaso um template engine por volta de 1999.
-   Após o término, nós começamos a trabalhar num template engine
-   escrito em C que esperançosamente foi aceito para ser incluso com PHP.
-   Nós não somente encontramos algumas complicadas barreiras técnicas, mas 
-   houve também calorosos debates sobre exatamente o que um template engine devia
-   e não devia fazer. Desta experiência, nós decidimos que o template
-   engine deveria ser escrito em PHP como uma classe, para qualquer um usar da mesma forma
-   como eles vêem. Então nós escrevemos um engine que o
-   <productname>SmartTemplate</productname> nunca veio a existir (note: essa
-   classe nunca foi enviada ao público). Ela foi uma classe que
-   fazia quase tudo que gostaríamos: substituição de variáveis regular, suporte à
-   inclusão de outros templates, integração com arquivos de configuração, código PHP
-   embutido, funcionalidade 'if' limitada e muito mais blocos dinâmicos robustos
-   que poderia ser aninhados muitas vezes. Tudo isso com expressões regulares
-   e o código produzido será melhor, como nós diremos,
-   impenetrável. Isso era também notoriamente lento em grandes aplicações para todos
-   as interpretações e expressões regulares trabalhando em cada requisição.
-   O maior problema do ponto de vista de um programador foi toda a
-   necessidade de trabalhar no processamento de scripts PHP e processamento
-   de blocos dinâmicos de templates. Como nós fazemos isso facilmente?
+   Nós começamos à escrever as especificações para um sistema de templates por volta de 1999. 
+   Após o término das especificações, nós começamos a escrever um sistema de template em C 
+   que esperávamos ser aceito para rodar com o PHP. Não só esbarramos em muitas barreiras 
+   técnicas, como também houve um enorme debate sobre o que exatamente um sistema de template 
+   deveria ou não fazer. À partir desta experiência, nós decidimos que o sistema de template 
+   fosse escrito para ser uma classe do PHP, para que qualquer um usa-se da forma que lhe fosse 
+   mais conveniente, então nós escrevemos um sistema que fazia exatamente, foi aí que surgiu o 
+   <productname>SmartTemplate</productname> (obs: esta classe nunca foi enviada ao público). 
+   Foi uma classe que fez quase tudo que nós queríamos: substituição de variáveis, suporte à 
+   inclusão de outros templates, integração com arquivos de configuração, código PHP embutido, 
+   funcionalidades 'if' limitada e blocos dinâmicos muito mais robustos que poderiam ser aninhados 
+   muitas vezes. Foi tudo feito usando expressões reguladores e códigos confusos, como diríamos, 
+   impenetrável. Era um sistema também extremamente lento em grandes aplicativos por causa de todo 
+   o trabalho que era feito pelas expressões regulares e o 'parsing'(interpretação) em cada chamada 
+   ao aplicativo. O maior problema do ponto de vista de um programador foi o espantoso trabalho que 
+   era necessário para configurar e processar os blocos dinâmicos dos templates. Como faríamos 
+   esse sistema ser simples de usar?
   </para>
   <para>
-   Então vem a visão do que ultimamente virou a Smarty. Nós sabemos quão rápido
-   é um código PHP sem o overhead da interpretação do template. Nós também sabemos
-   quão meticuloso e autoritária a linguagem PHP deve ser ao olhar de um designer, 
-   e isso poderia ser mascarado com uma simples sintaxe de template.
-   Então o que acontece se nós combinarmos
-   estas duas forças? Desta maneira, Smarty nasceu...
+   Foi então que veio a visão do que hoje é conhecido como Smarty. Nós sabemos o quão 
+   rápido é um código PHP sem o sobrecarregamento de um sistema de templates. Nós também 
+   sabemos quão meticuloso e assustador é a linguagem PHP aos olhos de um designer atual, 
+   e isso tudo poderia ser mascarado usando uma sintaxe simples nos templates. Então o que 
+   acontece se nós combinarmos essas duas forças? Assim, nasceu o Smarty...
   </para>
  </preface>
http://cvs.php.net/diff.php/smarty/docs/pt_BR/appendixes/resources.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/pt_BR/appendixes/resources.xml
diff -u smarty/docs/pt_BR/appendixes/resources.xml:1.3 smarty/docs/pt_BR/appendixes/resources.xml:1.4
--- smarty/docs/pt_BR/appendixes/resources.xml:1.3	Tue Jun  1 09:43:05 2004
+++ smarty/docs/pt_BR/appendixes/resources.xml	Tue Sep 21 11:05:45 2004
@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- EN-Revision: 1.3 Maintainer: nobody Status: ready -->
  <chapter id="resources">
   <title>Recursos</title>
   <para>
    A homepage do Smarty está localizada em <ulink
    url="&url.smarty;">&url.smarty;</ulink>.
-   Você pode entrar na lista de email enviando um e-mail para
-   &ml.general.sub;. Um arquivo da lista de e-mail pode ser
+   Você pode entrar na lista de discussão enviando um e-mail para
+   &ml.general.sub;. O arquivo da lista de discussão pode ser
    visto em <ulink url="&url.ml.archive;">&url.ml.archive;</ulink>.
   </para>
  </chapter>
http://cvs.php.net/diff.php/smarty/docs/pt_BR/appendixes/tips.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/appendixes/tips.xml
diff -u smarty/docs/pt_BR/appendixes/tips.xml:1.1 smarty/docs/pt_BR/appendixes/tips.xml:1.2
--- smarty/docs/pt_BR/appendixes/tips.xml:1.1	Sun Mar 28 10:24:18 2004
+++ smarty/docs/pt_BR/appendixes/tips.xml	Tue Sep 21 11:05:45 2004
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
 <chapter id="tips">
    <title>Dicas &amp; Truques</title>
    <para>
@@ -7,53 +7,56 @@
    <sect1 id="tips.blank.var.handling">
 		<title>Manipulação de Variável Vazia</title>
 		<para>
-		Quando você quer algumas vezes imprimir um valor que você definir para uma variável vazia 
-		ao invés de imprimir nada, tal como imprimindo "&amp;nbsp;" a fim de que plano de fundo de tabelas
-		funcionem corretamente. Muitos usariam uma instrução {if} para manipular isto, mas há um 
-		macete com o Smarty, usando o modificador de variável 
-		<emphasis>default</emphasis>.
+		Há momentos que você quer mostrar um valor padrão para uma variável vazia ao invés de não mostrar nada, 
+		tal como mostrar "&amp;nbsp;" para que os planos de fundo de tabelas funcionem corretamente. Muitos 
+		usariam uma instrução {if} para fazer isso, mas há um macete que pode ser feito usando-se o 
+		modificador de variável <emphasis>padrão</emphasis> do Smarty.
 		</para>
 <example>
 <title>Imprimindo &amp;nbsp; quando uma variável está vazia</title>
 <programlisting>
-
+<![CDATA[
 {* A forma mais longa *}
 
-{if $title eq ""}
+{if $titulo eq ""}
 	&amp;nbsp;
 {else}
-	{$title}
+	{$titulo}
 {/if}
 
 
 {* A forma mais simples *}
 
-{$title|default:"&amp;nbsp;"}</programlisting>
+{$titulo|default:"&amp;nbsp;"}
+]]>
+</programlisting>
 </example>
 	</sect1>
 
     <sect1 id="tips.default.var.handling">
-		<title>Manipulação do valor padrão de Variável</title>
+		<title>Manipulação do valor padrão de uma Variável</title>
 		<para>
-		Se uma variável é usada freqüentemente em seus templates, aplicando o modificador
-		default toda vez que ela é mencionado pode evitar um bit desagradável. Você pode remediar isto
-		 pela atribuição de um valor padrão para a variável com a função 
-		 <link linkend="language.function.assign">assign</link>.
+        Se uma variável é usada freqüentemente e seus templates, aplicar o modificador de variável 
+		<emphasis>padrão</emphasis> toda vez pode se tornar algo muito desagradável. Você pode evitar 
+		isto atribuindo um valor padrão para a variável usando a função <link linkend="language.function.assign">assign</link>.
 		</para>
 <example>
 <title>Atribuindo o valor padrão para uma variável de template</title>
 <programlisting>
-{* faça isto em algum lugar no topo de seu template *}
+<![CDATA[
+{* coloque isto em algum lugar no topo de seu template *}
 {assign var="titulo" value=$titulo|default:"sem título"}
 
 {* Se o $titulo estava vazio, ele agora contém o valor "sem titulo" quando você exibí-lo *}
-{$title}</programlisting>
+{$titulo}
+]]>
+</programlisting>
 </example>
 	</sect1>
     <sect1 id="tips.passing.vars">
 		<title>Passando a variável titulo para o template de cabeçalho</title>
 		<para>
-		Quando a maioria de seus templates usam os mesmos cabeçalhos e mesmos rodapés, é
+        Quando a maioria de seus templates usam os mesmos cabeçalhos e mesmos rodapés, é
 		comum dividi-los um em cada template e então incluí-los. Mas o que fazer se o 
 		cabeçalho precisa ter um titulo diferente, dependendo de que página ele está vindo? 
 		Você pode passar o titulo para o 
@@ -62,91 +65,108 @@
 <example>
 <title>Passando a variável titulo para o template de cabeçalho</title>
 <programlisting>
-
-mainpage.tpl
+<![CDATA[
+paginaprincipal.tpl
 ------------
 
-{include file="header.tpl" titulo="Página Principal"}
-{* O corpo do template vem aqui *}
-{include file="footer.tpl"}
+{include file="cabecalho.tpl" titulo="Página Principal"}
+{* O conteúdo do template vem aqui *}
+{include file="rodape.tpl"}
 
 
-archives.tpl
+arquivos.tpl
 ------------
 
-{config_load file="archive_page.conf"}
-{include file="header.tpl" titulo=#archivePageTitle#}
-{* O corpo do template vem aqui *}
-{include file="footer.tpl"}
+{config_load file="pagina_arquivos.conf"}
+{include file="cabecalho.tpl" titulo=#tituloPaginaArquivos#}
+{* O conteúdo do template vem aqui *}
+{include file="rodape.tpl"}
 
 
-header.tpl
+cabecalho.tpl
 ----------
-&lt;HTML&gt;
-&lt;HEAD&gt;
-&lt;TITLE&gt;{$titulo|default:"BC News"}&lt;/TITLE&gt;
-&lt;/HEAD&gt;
-&lt;BODY&gt;
+<HTML>
+<HEAD>
+<TITLE>{$title|default:"BC News"}</TITLE>
+</HEAD>
+<BODY>
 
 
 footer.tpl
 ----------
-&lt;/BODY&gt;
-&lt;/HTML&gt;</programlisting>
+</BODY>
+</HTML>
+]]>
+</programlisting>
 </example>
-	<para>
-		Quando a página principal é atraída, o título da "Página Principal" é passado para o template
-		header.tpl, e será  subseqüencialmente usado com o título. Quando a página de arquivamento é atraída,
-		o título será  "Archives". Note no exemplo de archive, nós estamos usando uma variável do arquivo
-		archives_page.conf ao invés de uma variável codificada rígida. 
-		Também note que "BC news" é exibida se
-		a variável $titulo não está definida,
-		usando o modificador de variável <emphasis>default</emphasis>.
+	<para>        
+       Quando a página for extraída, o título da "Página Principal" é passado ao template 'cabecalho.tpl', 
+	   e será imediatamente usado como título da página. Quando a página de arquivos é extraída, o título 
+	   muda para "Arquivos". No que no exemplo de arquivos, nós estamos usando uma variável que vem do 
+	   arquivo 'pagina_arquivos.conf' ao invés de uma variável definida no código. Note também que "BC News" 
+	   é mostrado somente se a variável $titulo não conter valor algum, isto é feito usando-se o modificador 
+	   de variáveis <emphasis>padrão</emphasis>.
 	</para>
 	</sect1>
     <sect1 id="tips.dates">
        <title>Datas</title>
        <para>
-	   Como uma regra básica, sempre passe datas para o smarty como timestamps. Isto permite ao
-	   desenhista de template utilizar <link linkend="language.modifier.date.format">date_format</link>
-	   para controle completo sobre a formatação de data, 
-	   e também facilita a comparação de datas se
-	   necessário.
+       Em geral, sempre envie datas ao Smarty no formato timestamp. Deste modo o desginer do template 
+	   pode usar o modificador <link linkend="language.modifier.date.format">date_format</link> 
+	   para ter um controle total sobre a formatação da data, e também facilita a comparação de datas 
+	   se necessário.
        </para>
        <para>
-       NOTA: No Smarty 1.4.0, você pode passar datas para o Smarty como timestamps unix,
-       mysql, ou qualquer outra data interpretável por strtotime().
+	   Nota: No Smarty 1.4.0, você pode enviar datas ao Smarty no formato unix timestamp, 
+	   mysql timestamp, ou qualer outra data que possa ser lida pela função strtotime().
        </para>
-<example>
-<title>Usando date_format</title>
-<programlisting>
+   <example>
+    <title>usando date_format</title>
+    <programlisting>
+<![CDATA[
 {$startDate|date_format}
-
-SAÍDA:
-
+]]>
+    </programlisting>
+    <para>
+     Irá mostrar:
+    </para>
+    <screen>
+<![CDATA[
 Jan 4, 2001
-
-
+]]>
+    </screen>
+    <programlisting>
+<![CDATA[
 {$startDate|date_format:"%Y/%m/%d"}
-
-SAÍDA:
-
+]]>
+    </programlisting>
+    <para>
+     Irá mostrar:
+    </para>
+    <screen>
+<![CDATA[
 2001/01/04
-
-
-{if $date1 &lt; $date2}
-	...
-{/if}</programlisting>
-</example>
+]]>
+    </screen>
+    <programlisting>
+<![CDATA[
+{if $data1 < $data2}
+   ...
+{/if}
+]]>
+    </programlisting>
+   </example>
 		<para>
-         Quando usando {html_select_date} em um template, o programador normalmente vai querer converter
-         a saída de um formulário de volta para o formato de timestamp. Aqui está uma função para ajudar
-         com isso.
+         Quando se está usando {html_select_date} em um template, o programador normalmente vai querer 
+		 converter a saída de um formulário de volta para o formato timestamp. Abaixo está uma função 
+		 que irá ajudá-lo à fazer isto.
 		</para>
 <example>
-<title>Convertendo elementos em forma de data de volta para um timestamp</title>
-<programlisting>
-// isto assume que a forma de seus elementos são nomeadas como
+<title>Convertendo datas de volta ao formato timestamp</title>
+<programlisting role="php">
+<![CDATA[
+<?php
+// presume-se que os elementos de seu formulário são chamados de 
 // startDate_Day, startDate_Month, startDate_Year
 
 $startDate = makeTimeStamp($startDate_Year,$startDate_Month,$startDate_Day);
@@ -161,175 +181,159 @@
 		$day = strftime("%d");
 
 	return mktime(0,0,0,$month,$day,$year);
-}</programlisting>
+}
+?>
+]]>
+</programlisting>
 </example>
 	</sect1>
     <sect1 id="tips.wap">
 		<title>WAP/WML</title>
 		<para>
-        Os templates WAP/WML requerem um cabeçalho de Content-Type de PHP para ser passado junto com
-        template. A forma mais fácil de fazer isto seria escrever uma função customizada que imprime
-        o cabeçalho. Se você está usando sistema de caching, esse não funcionará, então nós faremos isso
-        usando a tag de insert (lembre que tags de insert não são "cached!") Certifique-se que não há saída
-        para o navegador antes do template,
-        senão o cabeçalho irá falhar.
+        Os templates WAP/WML exigem um cabeçalho com o tipo de conteúdo (Content-Type) PHP para serem 
+		passados junto com o template. O modo mais fácil de se fazer isso seria escrever uma função 
+		personalizada que envia-se este cabeçalho. Se você está usando cache, isto não irá funcionar, 
+		então nós faremos isso usando a tag insert (lembre-se que tags de insert não são guardadas no cache!). 
+		Certifique-se de que nada é enviado ao navegador antes do template, caso contrário o cabeçalho não irá 
+		funcionar.
 		</para>
 <example>
 <title>Usando insert para escrever um cabeçalho WML Content-Type</title>
-<programlisting>
-// esteja certo que o apache está configurado para as extensões .wml !                                    
-// ponha esta função em algum lugar de sua aplicação, ou em Smarty.addons.php
-function insert_header() {
-    // esta função espera o argumento $content
-    extract(func_get_arg(0));
-    if(empty($content))
-        return;
-    header($content);
-    return;
-}
-
-// seu template Smarty  _deve_ começar com a insert tag, olha o exemplo:
+<programlisting role="php">
+<![CDATA[
+<?php
+// certifique-se que o apache está configurado para reconhecer extensões .wml!
+// coloque esta função em algum lugar de seu aplicativo, ou no arquivo Smarty.addons.php
 
+function insert_header($params) 
+{
+   // esta função espera o argumento $content
+   if (empty($params['content'])) {
+       return;
+   }
+   header($params['content']);
+   return;
+}
+?>
+]]>
+</programlisting>
+<para>
+seu template do Smarty deve começar com a tag insert, veja o exemplo à seguir:
+</para>
+<programlisting>
+<![CDATA[
 {insert name=header content="Content-Type: text/vnd.wap.wml"}
 
-&lt;?xml version="1.0"?&gt;  
-&lt;!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"&gt; 
+<?xml version="1.0"?>  
+<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> 
 
-&lt;!-- begin new wml deck --&gt; 
-&lt;wml&gt; 
-&lt;!-- begin first card --&gt; 
-&lt;card&gt; 
-&lt;do type="accept"&gt; 
-&lt;go href="#two"/&gt; 
-&lt;/do&gt;  
-&lt;p&gt; 
+<!-- begin new wml deck --> 
+<wml> 
+<!-- begin first card --> 
+<card> 
+<do type="accept"> 
+<go href="#two"/> 
+</do>  
+<p> 
 Bem-vindo ao WAP com Smarty!
-Pressione OK para continuar...  
-&lt;/p&gt; 
-&lt;/card&gt;  
-&lt;!-- begin second card --&gt; 
-&lt;card id="two"&gt;  
-&lt;p&gt; 
+Pressione OK para continuar...
+</p> 
+</card>  
+<!-- begin second card --> 
+<card id="two">  
+<p> 
 Bem fácil isso, não é?
-&lt;/p&gt; 
-&lt;/card&gt; 
-&lt;/wml&gt;</programlisting>
+</p> 
+</card> 
+</wml>
+]]>
+</programlisting>
 </example>
 	</sect1>
 	<sect1 id="tips.componentized.templates">
 		<title>Templates componentizados</title>
 		<para>
-		Esta dica é um pouco de hack, mas ainda é uma idéia limpa.
-		Use-a por seu próprio risco. ;-)
-		</para>
-		<para>
-         Tradicionalmente, programar templates em suas aplicações segue esta forma:
-         Primeiro, você acumula suas variáveis dentro de sua aplicação PHP, (talvez com requisições
-         de banco de dados.) Então, você instancia seu objeto Smarty, atribui valores às variáveis
-         e exibe o template. Por exemplo nós temos um registrador de estoque em nosso template.
-         Nós coletaríamos os dados estocagem em nossa aplicação, então damos valor a estas variáveis
-         no template e o exibimos. Agora isso seria legal 
-         se você adicionasse este registrador de 
-         armazenamento (stock ticker) para qualquer aplicação simplesmente incluindo o template, e sem
-         se preocupar com a busca de dados mais a frente?
+         Tradicionalmente, programar templates para suas aplicações é feito da seguinte maneira: 
+		 Primeiro, você guardar suas variáveis junto com a aplicação PHP, (talvez obtendo-as de consultas 
+		 à banco de dados). Após, você instancia seu objeto Smarty, atribui valores às variáveis e 
+		 mostra o template. Digamos que nós temos um registrador de estoque em nosso template. Nós 
+		 coletaríamos os dados do estoque em nossa aplicação, e então atribuíriamos valores as variáveis 
+		 referentes à ele no template e depois exibiríamos o template na tela. Agora não seria legal 
+		 se você pudesse adicionar este registrador de esto em qualquer aplicação simplesmente incluindo 
+		 um template nela, e sem se preocupar com a busca dos dados futuramente?
 		</para>
         <para>
-        Você pode embutir o PHP dentro de seus templates com as tags {php}{/php}.
-        Com isto, você pode configurar templates independentes, tendo a sua própria
-        estrutura de dados para dar valor às suas próprias variáveis. Com a lógica embutida
-        dessa forma, você pode manter a lógica do template &amp; junto. Desta maneira não é
-        importante de onde o fonte do
-        template está vindo, ele está sempre junto como um componente.
+		Você pode fazer isto escrevendo um plugin personalizado que obteria o 
+		conteúdo e atribuiria ele à uma variável definida no template.
         </para>
 <example>
 <title>Template componentizado</title>
-<programlisting>
-{* Smarty *}
+    <programlisting role="php">
+<![CDATA[
+<?php
 
-{php}
-
-	// configurar nossa função para buscar dados armazenados
-	function fetch_ticker($symbol,&amp;$ticker_name,&amp;$ticker_price) {
-		// ponha a lógica aqui que procura $ticker_name
-		// e $ticker_price de algum recurso
-	}
-
-	// chama a função
-	fetch_ticker("YHOO",$ticker_name,$ticker_price);
-	
-	// passando valores às variáveis de template
-    $this->assign("ticker_name",$ticker_name);
-    $this->assign("ticker_price",$ticker_price);
-
-{/php}
-
-Nome do Estoque: {$ticker_name} Preço do Estoque: {$ticker_price}</programlisting>
-</example>
-        <para>
-		No Smarty 1.5.0, há até uma forma mais limpa. Você pode incluir o php em seus templates com
-		a tag {include_php ...}. 
-		Desta forma você pode manter a lógica do PHP separada da lógica do 
-		template. Veja a função <link linkend="language.function.include.php">include_php</link> para
-		mais informação.
-        </para>
-<example>
-<title>Template componentizado com include_php</title>
-<programlisting>
-load_ticker.php
----------------
-
-&lt;?php
-	// configura nossa função para buscar os dados armazenados
-	function fetch_ticker($symbol,&amp;$ticker_name,&amp;$ticker_price) {
-		// ponha aqui a lógica que procura $ticker_name
-		// e $ticker_price de algum recurso
-	}
-
-	// chama a função
-	fetch_ticker("YHOO",$ticker_name,$ticker_price);
-	
-	// passar valores para as variáveis de template
-    $this->assign("ticker_name",$ticker_name);
-    $this->assign("ticker_price",$ticker_price);
-?&gt;
+// coloque o arquivo "function.load_ticker.php" no diretório plugin
 
+// configura nossa função para pegar os dados do estoque
+function fetch_ticker($symbol) 
+{
+   // coloque a lógica que obtém os dados de 
+   // algum recurso e guarde na variável $ticker_info
+   return $ticker_info;
+}
 
+function smarty_function_load_ticker($params, &$smarty) 
+{
+   // chama a função
+   $ticker_info = fetch_ticker($params['symbol']);
+   
+   // atribuite o valor à uma variável no template
+   $smarty->assign($params['assign'], $ticker_info);
+}
+?>
+]]>
+    </programlisting>
+    <programlisting>
+<![CDATA[
 index.tpl
 ---------
 
 {* Smarty *}
 
-{include_php file="load_ticker.php"}
+{load_ticker symbol="YHOO" assign="ticker"}
 
-Nome do Estoque: {$ticker_name} Preço do Estoque: {$ticker_price}</programlisting>
+Nome no estoque: {$ticker.name} Preço no estoque: {$ticker.price}
+]]>
+    </programlisting>
 </example>
 	</sect1>
 	<sect1 id="tips.obfuscating.email">
 		<title>Ofuscando endereços de E-mail</title>
 		<para>
-		 Você deseja saber como seu endereço de E-mail consegue entrar em tantas listas de email de spam?
-		 A única forma de spammers coletar endereços de E-mail é de páginas da web. Para ajudar a combater
-		 este problema, você pode fazer o seu endereço de E-mail aparecer em javascript misturado no 
-		 código HTML, mesmo assim ele aparecerá e funcionará corretamente no navegador. Isto é feito com
-		 o plugin mailto.
+         Você já se espantou como seu endereço de E-mail entra em tantas listas de spam? 
+		 A única forma dos spammers coletarem seu(s) endereço(s) de E-mail(s) é de páginas web. 
+		 Para ajudar à combater este problema, você pode fazer seu endereço de E-mail aparecer em javascript 
+		 misturado em código HTML, e ainda assim ele irá aparecer e funcionar corretamente no navegador. 
+		 Isto é feito com o plugin chamado 'mailto'.
 		</para>
 <example>
 <title>Exemplo de ofuscamento de um Endereço de E-mail</title>
 <programlisting>
-
+<![CDATA[
 index.tpl
 ---------
 
-envia inquisição para
+envia informações para
 {mailto address=$EmailAddress encode="javascript" subject="Olá"}
 
+]]>
 </programlisting>
 </example>
 	<note>
 	<title>Nota técnica</title>
 	<para>
 	Este método não é 100% a prova de falha. Um spammer poderia criar um programa
-	para coletar o e-mail e para decodificar estes valores, mas não é muito comum.
+	para coletar o e-mail e decodificar estes valores, mas é muito pouco provável.
 	</para>
 	</note>
 	</sect1>
http://cvs.php.net/diff.php/smarty/docs/pt_BR/appendixes/troubleshooting.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/appendixes/troubleshooting.xml
diff -u smarty/docs/pt_BR/appendixes/troubleshooting.xml:1.1 smarty/docs/pt_BR/appendixes/troubleshooting.xml:1.2
--- smarty/docs/pt_BR/appendixes/troubleshooting.xml:1.1	Sun Mar 28 10:24:18 2004
+++ smarty/docs/pt_BR/appendixes/troubleshooting.xml	Tue Sep 21 11:05:45 2004
@@ -1,14 +1,13 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
 <chapter id="troubleshooting">
    <title>Localização de Erros</title>
    <para></para>
    <sect1 id="smarty.php.errors">
-       <title>erros de Smarty/PHP </title>
+       <title>Erros do Smarty/PHP</title>
        <para>
       O Smarty pode obter muitos erros tais como, atributos de tags perdidos ou nomes de variáveis
-      mal formadas. Se isto acontece, você verá 
-      um erro como segue:
+      mal formadas. Se isto acontece, você verá um erro similar ao seguir:
        </para>
 
 <example>
@@ -28,9 +27,9 @@
        </para>
        
        <para>
-       Há certos erros que o smarty não pode entender, tais como um um fechamento de tags errado.
-       Estes tipos de erros normalmente
-       termina na interpretação de erros do tempo de compilação do PHP.
+       Há certos erros que o Smarty não consegue detectar, tais como uma tag de fechamento errada. 
+	   Estes tipos de erro geralmente acabam gerando erros em tempo de processamento do interpretador 
+	   de erros do PHP.
        </para>
 
 <example>
@@ -44,10 +43,10 @@
 	    script PHP compilado, não o template em si. Normalmente você pode no template localizar o
 	    erro de sintaxe. Aqui algumas coisas para você procurar:
 	    falta de fechamento de tags para {if}{/if} ou
-        {section}{/section}, ou sintaxe da lógica dentro de uma tag {if}.
-        Se você não encontra o erro, você pode ter
-	    que abrir o arquivo PHP compilado e ir até o numero da linha exibido, no local onde o erro correspondente
-	    está no template. 
+        {section}{/section}, ou erro de lógica dentro de uma tag {if}.
+        Se você não conseguir encontrar o erro, talvez seja necessário abrir 
+		o arquivo PHP compilado e ir até o número da linha exibido, para saber 
+		onde se encontra o erro correspondente no template.
        </para>
    </sect1>
 </chapter>
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/chapter-debugging-console.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/designers/chapter-debugging-console.xml
diff -u smarty/docs/pt_BR/designers/chapter-debugging-console.xml:1.1 smarty/docs/pt_BR/designers/chapter-debugging-console.xml:1.2
--- smarty/docs/pt_BR/designers/chapter-debugging-console.xml:1.1	Sun Mar 28 10:24:18 2004
+++ smarty/docs/pt_BR/designers/chapter-debugging-console.xml	Tue Sep 21 11:05:45 2004
@@ -1,38 +1,37 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
   <chapter id="chapter.debugging.console">
    <title>Debugging Console</title>
    <para>
-    Há um console para debug incluso no Smarty. O console informa a você de 
-    todos os templates incluídos, variáveis definidas e variáveis de arquivos de configuração
-    da chamada atual do template. Um template chamado "debug.tpl"
-    é incluso com a distribuição do Smarty o qual controla a formatação
-    do console. Defina $debugging para true no Smarty, e se necessário defina $debug_tpl
-	para o caminho de recurso de debug.tpl (isto é SMARTY_DIR por
-	padrão.) Quando você carrega uma página, um console em javascript irá abrir uma
-	janela popup e dar a você o nome de todos os templates incluídos e as variáveis definidas
-	para a página atual. Para ver as variáveis disponíveis para um template
-	em particular, veja a função <link linkend="language.function.debug">{debug}</link>.
-	Para desabilitar o console de debug, defina $debugging para
-	false. Você pode ativar temporariamente o console de debug colocando
-	SMARTY_DEBUG na URL se você ativou esta opção com <link
-	linkend="variable.debugging.ctrl">$debugging_ctrl</link>.
+    Há um console para debug incluso no Smarty. O console informa à você todos 
+	os templates incluídos, variáveis definidas e variáveis de arquivos de 
+	configuração do template atual. Um template chamado "debug.tpl" está 
+	incluso com a distribuição do Smarty o qual controla a formtação do console. 
+	Defina a variável $debugging para true no Smarty, e se necessário defina 
+	$debug_tpl com o caminho do diretório onde está o arquivo debug.tpl (o diretório padrão 
+	é o da constante SMARTY_DIR). Quando você carrega uma página, um javascript abre uma 
+	janela pop-up e fornece à você o nome de todos os templates incluídos e variáveis definidas 
+	ara a página atual. Para ver as variáveis disponíveis para um template específico, 
+	veja a função <link linkend="language.function.debug">{debug}</link>. Para desabilitar 
+	o console de debug, defina a variável $debugging para false. Você também pode ativar 
+	temporariamente o console de debug colocando na URL, caso você tenha ativado esta opção 
+	na variável <link linkend="variable.debugging.ctrl">$debugging_ctrl</link>.
    </para>
    <note>
     <title>Nota Técnica</title>
     <para>
-     O console de debug não funciona quando você usa a API fetch(),
-     apenas quando estiver usando display(). É um conjunto de comandos javascript
-     adicionados ao final do template gerado. Se você não gosta de javascript,
-     você pode editar o template debug.tpl para formatar a saída como você quiser.
-     Dados de debug não são guardados em cache e os dados de debug.tpl
-     não são incluídos no console de debug.
+     O console de debug não funciona quando você usa a API fetch(), 
+	 somente quando você estiver usando display(). Isto é um conjunto de comandos 
+	 em javascript adicionados ao final do template gerado. Se você não gosta de javascript, 
+	 você pode editar o template debug.tpl para exibir saída no formato que você quiser. 
+	 Dados do debug não são armazenados em cache e os dados do debug.tpl não são 
+	 inclusos no console de debug.
     </para>
    </note>
    <note>
     <para>
-     Os tempos de carregamento de cada template e arquivo de cofiguração são em segundos,
-     ou então frações.
+     O tempo de carregamento de cada template e arquivo de configuração são exibidos em 
+	 segundos, ou então frações de segundo.
     </para>
    </note>
 </chapter>
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/config-files.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/designers/config-files.xml
diff -u smarty/docs/pt_BR/designers/config-files.xml:1.1 smarty/docs/pt_BR/designers/config-files.xml:1.2
--- smarty/docs/pt_BR/designers/config-files.xml:1.1	Sun Mar 28 10:24:18 2004
+++ smarty/docs/pt_BR/designers/config-files.xml	Tue Sep 21 11:05:45 2004
@@ -1,71 +1,70 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
   <chapter id="config.files">
    <title>Arquivos de Configuração</title>
    <para>
-    Arquivos de configuração são úteis para designers gerenciarem váriaveis
-    globais para os templates a partir de um arquivo. Um exemplo são as cores do template. Normalmente se
-    se você quer mudar o tema de cores para uma aplicação, você deve ir
-    em cada um dos arquivos de template e mudar as cores. Com
-    um arquivo de configuração, as cores podem ser mantidas em um lugar, e apenas
-    um arquivo precisa ser atualizado.
+    Arquivos de configuração são úteis para designers que gerenciam variáveis globais 
+	para os templates à partir de um arquivo. Um exemplo são as cores do template. 
+	Normalmente se você quisesse mudar o tema de cores de uma aplicação, você teria 
+	que abrir cada arquivo de template e alterar as cores. Com arquivos de configurações, 
+	as cores podem ser armazenadas em um lugar, e apenas um arquivo precisaria ser alterado.
    </para>
    <example>
-    <title>Examplo de sintaxe de um arquivo de configuração</title>
+    <title>Exemplo de sintaxe de um arquivo de configuração</title>
     <programlisting>
-# global variables
-pageTitle = "Main Menu"
-bodyBgColor = #000000
-tableBgColor = #000000
-rowBgColor = #00ff00
+<![CDATA[
+# variáveis globais
+tituloPagina = "Menu Principal"
+corfundoPagina = #000000
+corfundoTabela = #000000
+corlinhaTabela = #00ff00
 
-[Customer]
-pageTitle = "Customer Info"
+[Consumidor]
+tituloPagina = "Informações do Consumidor"
 
 [Login]
-pageTitle = "Login"
-focus = "username"
-Intro = """este é um valor
-           que se divide m mais de uma linha. deve
-           estar dentro de três aspas."""
+tituloPagina = "Login"
+focus = "nomeusuario"
+Intro = """Este é um valor que ultrapassa uma 
+           linha. Você deve colocá-lo 
+           dentre três aspas."""
 
-# hidden section
-[.Database]
-host=my.domain.com
-db=ADDRESSBOOK
-user=php-user
-pass=foobar</programlisting>
+# seção invisível
+[.BancoDeDados]
+host=meu.dominio.com
+bd=LIVRODEVISITAS
+usuario=usuario-php
+senha=foobar
+]]>
+</programlisting>
    </example>
    <para>
-    Valores de variáveis podem estar entre aspas, mas não é necessário.
-    Você pode usar aspas simples ou duplas. Se você tiver um valor que 
-    ocupe mais de uma linha, coloque todo o valor entre três aspas
-    ("""). Você pode colocar comentários em um arquivo de configuração com qualquer sintaxe
-    que não seja válida em um arquivo de configuração. Nós recomendamos usar um <literal>#</literal>
-    (cancela) no ínicio de cada linha.
+    Valores de variáveis de arquivos de configuração pode estar entre aspas, 
+	mas não é necessário. Você pode usar tanto aspas simples como duplas. 
+	Se você tiver um valor que ocupe mais de uma linha, coloque-o dentre três aspas 
+	("""). Você pode colocar comentários em arquivos de configuração com qualquer 
+	sintaxe que não é válida para um arquivo de configuração. Nós recomendamos usar um 
+	<literal>#</literal> (cancela) no início de cada linha que contém o comentário.
    </para>
    <para>
-    Este arquivo de onfiguração tem duas seções. Nomes de seções devem estar entre conchetes
-    []. Nomes de seção podem ser string arbritraria que não contenham os símbolos
-    <literal>[</literal> ou <literal>]</literal>. As quatro variáveis no top são
-    variáveis globais, ou variáveis sem seção.
-    Estas variáveis são sempre carregadas do arquivo de configuração. Se uma seção em
-    particular for carregada, então as variáveis globais e as variáveis desta seção são carregadas.
-    Se uma variável existir como global e dentro de uma seção,
-    a variável da seção será utilizada. Se você tiver duas variáveis na mesma seção com o mesmo nome,
-    a última será utilizada.
+    Este arquivo de configuração tem duas seções. Nomes de seções devem estar entre conchetes []. 
+	Nomes de seção podem ser string arbritraria que não contenham os símbolos 
+	<literal>[</literal> ou <literal>]</literal>. As quatro variáveis no topo são variáveis globais, 
+	ou variáveis que não pertencem à uma seção. Estas variáveis sempre são carregadas do arquivo de 
+	configuração. Se uma seção em particular é carregada, então as variáveis globais e as variáveis 
+	desta seção também são carregadas. Se uma variável de seção e global já existirem, 
+	a variável de seção será utilizada. Se você tiver duas variáveis na mesma seção com o mesmo nome, 
+	a última será utilizada.
    </para>
    <para>
-    Arquivos de configuração são carregados no template com a função embutida
-    <command>config_load</command>.
+    Arquivos de configuração são carregados no template usando a função embutida <command>config_load</command>.
    </para>
    <para>
-    Você pode esconder variáveis ou seções inteiras colocando um ponto
-    antes do nome da variável. Isto é útil se a sua aplicação
-    se arquivos de configuração e lê dados sensíveis a partir deles
-    que a ferramenta de template não precisa. Se você tem terceiros fazendo a edição de templates,
-    você terá certesa que eles não leiam dados sensíveis
-    do arquivo de configuração carregando ele no template.
+    Você pode esconder as variáveis ou uma seção inteira colocando um ponto 
+	antes do nome da seção ou variávei. Isso é útil em casos no qual sua aplicação lê 
+	arquivos de configuração e obtém dados sensíveis que não são necessários para o sistema 
+	de templates. Se a edição de seus templates é terceirizada, você terá certeza que eles não 
+	irão ler os dados sensíveis do arquivo de configuração que é carregado no template.
    </para>
 </chapter>
 <!-- Keep this comment at the end of the file
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-basic-syntax.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/pt_BR/designers/language-basic-syntax.xml
diff -u smarty/docs/pt_BR/designers/language-basic-syntax.xml:1.3 smarty/docs/pt_BR/designers/language-basic-syntax.xml:1.4
--- smarty/docs/pt_BR/designers/language-basic-syntax.xml:1.3	Tue Jun  1 09:43:05 2004
+++ smarty/docs/pt_BR/designers/language-basic-syntax.xml	Tue Sep 21 11:05:45 2004
@@ -1,19 +1,18 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- EN-Revision: 1.4 Maintainer: nobody Status: ready -->
  <chapter id="language.basic.syntax">
   <title>Sintaxe Básica</title>
   <para>
-   Todas as tags de template do Smarty estão fechadas com delimitadores.
-   Por padrão, estes delimitadores são <literal>{</literal> e
-   <literal>}</literal>, mas eles podem ser mudados.
+   Todas as tags de template do Smarty contém delimitadores. Por padrão, 
+   estes delimitadores são <literal>{</literal> e <literal>}</literal>, 
+   mas eles podem ser alterados.
   </para>
   <para>
-   Para estes exemplos, nós iremos assumir que você está usando os
-   delimitadores padrão. No Smarty, todo o conteúdo fora dos delimitadores é
-   mostrado como conteúdo estatico, ou sem modificações. Quando o Smarty encontra
-   tags de template, ele tenta interpreta-las, e então mostra a saída
-   apropriada em seu lugar.
+   Para os exemplos à seguir, nós assumiremos que você está usando os delimitadores 
+   padrão. Para o Smarty, todo o conteúdo fora dos delimitadores é mostrado como 
+   conteúdo estático, ou inalterável. Quando o Smarty encontra tags de template, 
+   ele tenta interpretá-las, e então mostra a saída apropriada em seu lugar.
   </para>
 
  &designers.language-basic-syntax.language-syntax-comments;
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-builtin-functions.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/pt_BR/designers/language-builtin-functions.xml
diff -u smarty/docs/pt_BR/designers/language-builtin-functions.xml:1.3 smarty/docs/pt_BR/designers/language-builtin-functions.xml:1.4
--- smarty/docs/pt_BR/designers/language-builtin-functions.xml:1.3	Tue Jun  1 09:43:05 2004
+++ smarty/docs/pt_BR/designers/language-builtin-functions.xml	Tue Sep 21 11:05:45 2004
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- EN-Revision: 1.3 Maintainer: nobody Status: ready -->
 <chapter id="language.builtin.functions">
- <title>Funções Embutidas</title>
+ <title>Funções internas</title>
  <para>
-  O Smarty vem com várias funções embutidas. Funções embutidas fazem parte
-  da linguagem de template. Você não pode criar funções personalizadas com
-  o mesmo nome, nem pode modificar as funções embutidas.
+  O Smarty contém várias funções internas. Funções internas são parte integral 
+  da linguagem de template. Você não pode criar funções personalizadas com o 
+  mesmo nome de uma função interna, e também não pode modificar funções internas.
  </para>
 
  &designers.language-builtin-functions.language-function-capture;
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-combining-modifiers.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/designers/language-combining-modifiers.xml
diff -u smarty/docs/pt_BR/designers/language-combining-modifiers.xml:1.1 smarty/docs/pt_BR/designers/language-combining-modifiers.xml:1.2
--- smarty/docs/pt_BR/designers/language-combining-modifiers.xml:1.1	Sun Mar 28 10:24:18 2004
+++ smarty/docs/pt_BR/designers/language-combining-modifiers.xml	Tue Sep 21 11:05:45 2004
@@ -1,20 +1,22 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
        <chapter id="language.combining.modifiers">
         <title>Combinando Modificadores</title>
         <para>
-         Você pode aplicar qualquer número de modificadores para uma variável. Eles serão
-         aplicados na ordem que eles foram combinados, da esquerda para a direita. Eles
-         devem ser separados com um caractere <literal>|</literal> (pipe).
+         Você pode aplicar a quantidade de moficadores que quiser à uma variável. Eles serão aplicados 
+		 na ordem em que foram combinados, da esquerda para direita. Eles devem ser separados 
+		 com o caracter <literal>|</literal> (pipe).
         </para>
-        <example>
-         <title>Combinando Modificadores</title>
-         <programlisting>
+ <example>
+  <title>combinando modificadores</title>
+  <programlisting role="php">
+<![CDATA[
 index.php:
-
+<?php
 $smarty = new Smarty;
-$smarty-&gt;assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.');
-$smarty-&gt;display('index.tpl');
+$smarty->assign('articleTitle', 'Smokers are Productive, but Death Cuts Efficiency.');
+$smarty->display('index.tpl');
+?>
 
 index.tpl:
 
@@ -23,16 +25,21 @@
 {$articleTitle|lower|spacify|truncate}
 {$articleTitle|lower|truncate:30|spacify}
 {$articleTitle|lower|spacify|truncate:30:". . ."}
-
-
-MOSTRA:
-
+]]>
+  </programlisting>
+ <para>
+  O texto acima mostrará:
+ </para>
+ <screen>
+<![CDATA[
 Smokers are Productive, but Death Cuts Efficiency.
 S M O K E R S   A R E   P R O D U C T I V E ,   B U T   D E A T H   C U T S   E F F I C I E N C Y .
 s m o k e r s   a r e   p r o d u c t i v e ,   b u t   d e a t h   c u t s...
 s m o k e r s   a r e   p r o d u c t i v e ,   b u t . . .
-s m o k e r s   a r e   p. . .</programlisting>
-        </example>
+s m o k e r s   a r e   p. . .
+]]>
+  </screen>
+ </example>
 </chapter>
 <!-- Keep this comment at the end of the file
 Local variables:
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-custom-functions.xml?r1=1.2&r2=1.3&ty=u
Index: smarty/docs/pt_BR/designers/language-custom-functions.xml
diff -u smarty/docs/pt_BR/designers/language-custom-functions.xml:1.2 smarty/docs/pt_BR/designers/language-custom-functions.xml:1.3
--- smarty/docs/pt_BR/designers/language-custom-functions.xml:1.2	Tue Apr 13 04:45:28 2004
+++ smarty/docs/pt_BR/designers/language-custom-functions.xml	Tue Sep 21 11:05:45 2004
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
         <chapter id="language.custom.functions">
          <title>Funções Personalizadas</title>
         <para>
-         Smarty vem com várias funções personalizadas que você
-         pode usar em seus templates.
+         O Smarty contém várias funções personalizadas que você 
+		 pode usar em seus templates.
         </para>
 &designers.language-custom-functions.language-function-assign;
 &designers.language-custom-functions.language-function-counter;
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-modifiers.xml?r1=1.2&r2=1.3&ty=u
Index: smarty/docs/pt_BR/designers/language-modifiers.xml
diff -u smarty/docs/pt_BR/designers/language-modifiers.xml:1.2 smarty/docs/pt_BR/designers/language-modifiers.xml:1.3
--- smarty/docs/pt_BR/designers/language-modifiers.xml:1.2	Tue Apr 13 04:45:28 2004
+++ smarty/docs/pt_BR/designers/language-modifiers.xml	Tue Sep 21 11:05:45 2004
@@ -1,57 +1,56 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
+<!-- $Revision: 1.3 $ -->
     <chapter id="language.modifiers">
      <title>Modificadores de variáveis</title>
      <para>
-      Modificadores de variáveis podem ser aplicados a variáveis, funções customizadas
+      Modificadores de variáveis podem ser aplicados a variáveis, funções personalizadas 
       ou strings. Para aplicar um modificador, especifique o valor seguido por
       <literal>|</literal>(pipe) e o nome do modificador. Um modificador aceita
-      parâmetros adicionais que afetam o seu funcionamento. Estes parâmetros seguem
+      parâmetros adicionais que afetam o seu comportamento. Estes parâmetros vem após 
       o nome do modificador e são separados por <literal>:</literal> (dois pontos).
      </para>
      <example>
       <title>Exemplo de modificador</title>
       <programlisting>
-{* Transforma para maiúsculas *}
-&lt;h2&gt;{$title|upper}&lt;/h2&gt;
+<![CDATA[
+{* Faz o título ficar com letras maiúsculas *}
+<h2>{$titulo|upper}</h2>
 
-{* Trunca o $topic para 40 caracteres usa ... no final *}
-Topic: {$topic|truncate:40:"..."}
+{* Faz com que $topico use somente 40 caracteres, e coloca ... no fim da frase *}
 
-{* formata uma string literal *}
-{"now"|date_format:"%Y/%m/%d"}
+Tópico: {$topico|truncate:40:"..."}
 
-{* aplica um modificador para uma função customizada *}
-{mailto|upper address="[email protected]"}</programlisting>
+{* transforma a data em um formato legível *}
+{"agora"|date_format:"%Y/%m/%d"}
+
+{* aplica um modificador à uma função personalizada *}
+{mailto|upper address="[email protected]"}
+]]>
+</programlisting>
      </example>
      <para>
-      Se você aplicar um modificador para uma matriz ao invés de o valor de uma variável,
-      o modificador vai ser aplicado em cada valor desta matriz. Se você realmente quiser
-      que o funciona em uma matriz inteira, você deve colocar um simbolo
-      <literal>@</literal> antes do nome do modificador, assim como:
-      <literal>{$articleTitle|@count}</literal> (isto irá mostrar o número de elementos 
-      na matriz $articleTitle.)
+      Se você aplicar um modificador à uma matriz ao invés de aplicar ao valor de uma variável, 
+	  o modificador vai ser aplicado à cada valor da matriz especificada. Se você quer que o modificador 
+	  use a matriz inteira como um valor, você deve colocar o símbolo <literal>@</literal> antes do 
+	  nome do modificador, como a seguir: <literal>{$tituloArtigo|@count}</literal> 
+	  (isto irá mostrar o número de elementos na matriz $tituloArtigo).
      </para>
      <para>
-      Modificadores podem ser carregados automaticamente a partir do seu <link
-      linkend="variable.plugins.dir">$plugins_dir</link> (veja também:
-      <link linkend="plugins.naming.conventions">Naming
-      Conventions</link>) ou podem ser registrados explicitamente (veja: <link
-      linkend="api.register.modifier">register_modifier</link>).
-      Adicionalmente, todas as funções do php podem ser utilizadas como
-      modificadores implicitamente. (O exemplo
-      <literal>@count</literal> acima usa atualmente a função count
-      do php e não um modificador do Smarty). Usar funções do
-      php como modificadores tem dois pequenos problemas: Primeiro, algumas
-      vezes a ordem dos parâmetros da função não é a desejavel
-      (<literal>{"%2.f"|sprintf:$float}</literal> atualmente funciona, mas pede algo
-      mais intuitivo <literal>{Por exemplo:
-      $float|string_format:"%2.f"}</literal> que é provido pela distribuição
-      do Smarty). Segundo: com <link
-      linkend="variable.security">$security</link> ativado, todas as funções do 
-      php que sejam utilizados como modificadores devem ser declaradas como
-      confiáveis na matriz <link linkend="variable.security.settings">
-      $security_settings['MODIFIER_FUNCS']</link>.
+      Modificadores podem ser carregados automaticamente à partir do seu <link
+      linkend="variable.plugins.dir">$plugins_dir</link> (veja: 
+	  <link linkend="plugins.naming.conventions">Nomes sugeridos</link>) ou podem ser 
+	  registrados explicitamente (veja: <link
+      linkend="api.register.modifier">register_modifier</link>). Adicionalmente, 
+	  todas as funções php podem ser utiliadas como modificadores implicitamente. (O 
+	  exemplo do <literal>@count</literal> acima usa a função count do php e não 
+	  um modificador do Smarty). Usar funções do php como modificadores tem dois 
+	  pequenos problemas: Primeiro: às vezes a ordem dos parâmetros da função 
+	  não é a desejada (<literal>{"%2.f"|sprintf:$float}</literal> atualmente funciona, 
+	  mas o melhor seria algo mais intuitivo. Por exemplo: <literal>{$float|string_format:"%2.f"}</literal> 
+	  que é disponibilizado na distribuição do Smarty). Segundo: com a variável 
+	  <link linkend="variable.security">$security</link> ativada em todas as funções do 
+	  php que são usadas como modificadores precisam ser declaradas como confiáveis (trusted) 
+	  na matriz <link linkend="variable.security.settings">$security_settings['MODIFIER_FUNCS']</link>.
      </para>
 
 &designers.language-modifiers.language-modifier-capitalize;
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-variables.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/pt_BR/designers/language-variables.xml
diff -u smarty/docs/pt_BR/designers/language-variables.xml:1.3 smarty/docs/pt_BR/designers/language-variables.xml:1.4
--- smarty/docs/pt_BR/designers/language-variables.xml:1.3	Tue Jun  1 09:43:05 2004
+++ smarty/docs/pt_BR/designers/language-variables.xml	Tue Sep 21 11:05:45 2004
@@ -1,24 +1,24 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
+<!-- $Revision: 1.4 $ -->
 <!-- EN-Revision: 1.5 Maintainer: nobody Status: ready -->
  <chapter id="language.variables">
   <title>Variáveis</title>
   <para>
-   O Smarty tem vários tipos diferentes de variáveis. O tipo de variável depende de
-   de qual símbolo esta prefixada(ou cercada).
+   No Smarty há vários tipos diferentes de variáveis. O tipo da variável depende do prefixo que 
+   ela usa (ou do símbolo pelo qual ela está contida).
   </para>
   <para>
-   Variáveis no Smarty podem ser mostradas diretamente ou usada como argumentos para
-   atributos de funções e modificadores, dentro de expressões condicionais, etc.
-   Para mostrar uma variável, simplesmente coloque ela entre delimitadores sendo que
-   ela seja a única coisa entre eles. Exemplos:
+   Variáveis no Smarty podem tanto serem exibidas diretamente ou usadas como argumentos 
+   para atributos de funções e modificadores, dentro de expressões condicionais, etc. 
+   Para que uma variável seja exibida o nome dela deve estar dentro dos delimitadores 
+   e não pode conter nenhum outro caracter. Veja os exemplos abaixo:
   <programlisting>
 <![CDATA[
-{$Name}
+{$Nome}
 
-{$Contacts[row].Phone}
+{$Contatos[row].Telefone}
 
-<body bgcolor="{#bgcolor#}">
+<body bgcolor="{#cordefundo#}">
 ]]>
   </programlisting>
  </para>
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-basic-syntax/language-math.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/designers/language-basic-syntax/language-math.xml
diff -u smarty/docs/pt_BR/designers/language-basic-syntax/language-math.xml:1.1 smarty/docs/pt_BR/designers/language-basic-syntax/language-math.xml:1.2
--- smarty/docs/pt_BR/designers/language-basic-syntax/language-math.xml:1.1	Tue Apr 13 04:45:29 2004
+++ smarty/docs/pt_BR/designers/language-basic-syntax/language-math.xml	Tue Sep 21 11:05:45 2004
@@ -1,26 +1,29 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
    <sect1 id="language.math">
     <title>Matemática</title>
     <para>
-    Matemática pode ser aplicada diretamente em valores de variáveis.
+    Matemática pode ser aplicada diretamente aos valores de variáveis.
     </para>
     <example>
      <title>Exemplos de matemática</title>
      <programlisting>
+<![CDATA[
 {$foo+1}
 
 {$foo*$bar}
 
 {* alguns exemplos mais complicados *}
 
-{$foo-&gt;bar-$bar[1]*$baz-&gt;foo-&gt;bar()-3*7}
+{$foo->bar-$bar[1]*$baz->foo->bar()-3*7}
 
 {if ($foo+$bar.test%$baz*134232+10+$b+10)}
 
 {$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}
 
-{assign var="foo" value="`$foo+$bar`"}</programlisting>
+{assign var="foo" value="`$foo+$bar`"}
+]]>
+</programlisting>
 </example>
 </sect1>
 <!-- Keep this comment at the end of the file
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml
diff -u smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml:1.1 smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml:1.2
--- smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml:1.1	Tue Apr 13 04:45:29 2004
+++ smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-attributes.xml	Tue Sep 21 11:05:45 2004
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
    <sect1 id="language.syntax.attributes">
     <title>Atributos</title>
     <para>
-     A maioria das funções levam atributos que especificam ou modificam o seu
-     funcionamento. Atributos para funções Smarty são muito parecidos como
-     atributos HTML. Valores estáticos são precisam estar entre aspas,
-     mas é recomendados para strings literais. Variáveis também podem ser
-     usadas, e não precisam estar entre aspas.
+     A maioria das funções contém atributos que especificam ou modificam 
+	 o seu comportamento. Atributos para funções do Smarty são muito parecidos 
+	 com atributos da HTML. Valores estáticos não precisam ficar entre aspas, 
+	 mas recomenda-se usar aspas para strings literais. Variáveis também podem 
+	 ser usadas, e não precisam estar entre aspas.
     </para>
     <para>
-     Alguns atributos requerem valores booleanos (true ou false). Estes podem
-     ser especificados sem aspas <literal>true</literal>,
+     Alguns atributos exigem valores booleanos (verdadeiro ou falso). Estes valores 
+	 podem ser especificados sem aspas <literal>true</literal>,
      <literal>on</literal>, e <literal>yes</literal>, ou
      <literal>false</literal>, <literal>off</literal>, e
      <literal>no</literal>.
@@ -19,17 +19,20 @@
     <example>
      <title>Sintaxe de atributos de funções</title>
      <programlisting>
-{include file="header.tpl"}
+<![CDATA[
+{include file="cabecalho.tpl"}
 
-{include file=$includeFile}
+{include file=$arquivoInclude}
 
-{include file=#includeFile#}
+{include file=#arquivoInclude#}
 
 {html_select_date display_days=yes}
 
-&lt;SELECT name=company&gt;
+<select name="empresa">
 {html_options values=$vals selected=$selected output=$output}
-&lt;/SELECT&gt;</programlisting>
+</select>
+]]>
+</programlisting>
 </example>
 </sect1>
 <!-- Keep this comment at the end of the file
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml
diff -u smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml:1.1 smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml:1.2
--- smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml:1.1	Tue Apr 13 04:45:29 2004
+++ smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-comments.xml	Tue Sep 21 11:05:45 2004
@@ -1,29 +1,32 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
    <sect1 id="language.syntax.comments">
     <title>Comentários</title>
     <para>
-     Comentários de template são cercados por asteriscos, e são cercados por
-     delimitadores, assim: {* este é um comentário *}.
-     Comentários Smarty não são mostrado na saída final do template.
-     Eles são usados para fazer notas internas nos templates.
+     Os comentários do template ficam entre asteriscos dentro de delimitadores, 
+	 exemplo: {* este é um comentário *}. Comentários do Smarty não são 
+	 exibidos no resultado final do template. Eles são usados para fazer 
+	 anotações internas nos templates.
     </para>
     <example>
      <title>Comentários</title>
      <programlisting>
+<![CDATA[
 {* Smarty *}
 
-{* inclui o arquivo header aqui *}
-{include file="header.tpl"}
+{* inclua o arquivo de cabeçalho aqui *}
+{include file="cabecalho.tpl"}
 
-{include file=$includeFile}
+{include file=$arquivoInclude}
 
-{include file=#includeFile#}
+{include file=#arquivoInclude#}
 
-{* Mostra listas dropdown *}
-&lt;SELECT name=company&gt;
+{* mostra lista dropdown *}
+<select name="empresa">
 {html_options values=$vals selected=$selected output=$output}
-&lt;/SELECT&gt;</programlisting>
+</select>
+]]>
+</programlisting>
     </example>
 </sect1>
 <!-- Keep this comment at the end of the file
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml
diff -u smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml:1.1 smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml:1.2
--- smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml:1.1	Tue Apr 13 04:45:29 2004
+++ smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-functions.xml	Tue Sep 21 11:05:45 2004
@@ -1,37 +1,39 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
    <sect1 id="language.syntax.functions">
     <title>Funções</title>
     <para>
      Cada tag Smarty mostra uma
      <link linkend="language.variables">variável</link> ou utiliza algum tipo de
-     função. Funções são processadas e mostradas colocando-se a função e seus
-     atributos entre delimitadores, assim: {funcname
-     attr1="val" attr2="val"}.
+     função. Funções são processadas e exibidas colocando-se a função e seus
+     atributos entre delimitadores, exemplo: {funcname attr1="val" attr2="val"}.
     </para>
     <example>
      <title>Sintaxe de funções</title>
      <programlisting>
-{config_load file="colors.conf"}
+<![CDATA[
+{config_load file="cores.conf"}
 
-{include file="header.tpl"}
+{include file="cabecalho.tpl"}
 
-{if $highlight_name}
-	Welcome, &lt;font color="{#fontColor#}"&gt;{$name}!&lt;/font&gt;
+{if $enfase_nome}
+    Seja bem-vindo, <font color="{#fontColor#}">{$nome}!</font>
 {else}
-	Welcome, {$name}!
+    Seja bem-vindo, {$nome}!
 {/if}
 
-{include file="footer.tpl"}</programlisting>
+{include file="rodape.tpl"}
+]]>
+</programlisting>
     </example>
     <para>
-     Ambas as funções internas e as funções customizadas tem a mesma sintaxe nos
+     Ambas as funções internas e as funções personalizadas tem a mesma sintaxe nos
      templates. Funções internas são o funcionamento do Smarty,
-     assim como <command>if</command>, <command>section</command> e
-     <command>strip</command>. Elas não podem ser modificadas. Funções customizadas
-     são funções adicionais implementadas por plugins. Elas podem ser modificadas
+     tais como <command>if</command>, <command>section</command> e
+     <command>strip</command>. Elas não podem ser modificadas. Funções personalizadas
+     são funções adicionais implementadas por modo de plugins. Elas podem ser modificadas
      como você quiser, ou você pode adionar novas. <command>html_options</command> e
-     <command>html_select_date</command> são exemplos de funções customizadas.
+     <command>html_select_date</command> são exemplos de funções personalizadas.
     </para>
 </sect1>
 <!-- Keep this comment at the end of the file
http://cvs.php.net/diff.php/smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml?r1=1.1&r2=1.2&ty=u
Index: smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml
diff -u smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml:1.1 smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml:1.2
--- smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml:1.1	Tue Apr 13 04:45:29 2004
+++ smarty/docs/pt_BR/designers/language-basic-syntax/language-syntax-quotes.xml	Tue Sep 21 11:05:45 2004
@@ -1,27 +1,30 @@
 <?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.1 $ -->
+<!-- $Revision: 1.2 $ -->
    <sect1 id="language.syntax.quotes">
     <title>Colocando Variáveis em Aspas Duplas</title>
     <para>
-    Smarty irá reconhecer variáveis entre aspas duplas enquanto
-    as variáveis conterem apenas números, letras, sublinhados e conchetes
-    []. Com qualquer outro caractere (pontos, referencia de objetos, etc.) as variáveis
-    devem estar entre apóstrofos.
+    Smarty irá reconhecer variáveis definidas entre asplas duplas enquanto 
+	as variáveis conterem apenas números, letras, sublinhados e conchetes []. 
+	Com qualquer outro caractere (pontos, referência à objetos, etc.) a variável 
+	deve estar entre apóstrofos.
     </para>
     <example>
      <title>Sintaxe entre aspas</title>
      <programlisting>
-EXEMPLOS DE SINTAXE:
-{func var="test $foo test"}       &lt;-- vê $foo
-{func var="test $foo_bar test"}   &lt;-- vê $foo_bar
-{func var="test $foo[0] test"}    &lt;-- vê $foo[0]
-{func var="test $foo[bar] test"}  &lt;-- vê $foo[bar]
-{func var="test $foo.bar test"}   &lt;-- vê $foo (not $foo.bar)
-{func var="test `$foo.bar` test"} &lt;-- vê $foo.bar
+<![CDATA[
+EXEMPLOS DE SYNTAX:
+{func var="teste $foo teste"}       <-- mostra $foo
+{func var="teste $foo_bar teste"}   <-- mostra $foo_bar
+{func var="teste $foo[0] teste"}    <-- mostra $foo[0]
+{func var="teste $foo[bar] teste"}  <-- mostra $foo[bar]
+{func var="teste $foo.bar teste"}   <-- mostra $foo (not $foo.bar)
+{func var="teste `$foo.bar` teste"} <-- mostra $foo.bar
 
-EXEMPLOS PRATICOS:
-{include file="subdir/$tpl_name.tpl"} &lt;-- irá substituir $tpl_name com o valor
-{cycle values="one,two,`$smarty.config.myval`"} &lt;-- deve ter apóstrofos</programlisting>
+EXEMPLOS PRÁTICOS:
+{include file="subdir/$tpl_name.tpl"} <-- substitui $tpl_name pelo seu valor
+{cycle values="one,two,`$smarty.config.myval`"} <-- deve conter apóstrofos
+]]>
+</programlisting>
 </example>
 </sect1>
 <!-- Keep this comment at the end of the file
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.