<chapter id="katefiletemplates">
  <chapterinfo>

    <title
>Modelos de Arquivo</title>

    <authorgroup>
      <author
><firstname
>Anders</firstname
> <surname
>Lund</surname
> <affiliation
> <address
><email
>anders@alweb.dk</email
></address>
        </affiliation>
      </author>
</authorgroup
> <date
>Dom 16 Fev 2004</date
> <releaseinfo
>0.1</releaseinfo
> <abstract
> <para
></para>
    </abstract>

    <keywordset>
      <keyword
>KDE</keyword>
      <keyword
>kate</keyword>
      <keyword
>kdeaddons</keyword>
      <keyword
>modelo</keyword>
      <keyword
>macro</keyword>
    </keywordset>
  </chapterinfo>

  <title
>Introdução</title>

  <para
>O plug-in de Modelos de Arquivo permite criar arquivos baseados em outros arquivos. Você pode usar qualquer arquivo como um modelo, que criará uma cópia do arquivo com uma URL vazia, ou usar um arquivo de modelo especial que pode conter macros para preencher informações como seu nome e endereço de e-mail, a data atual dentre outras, e posicionar o cursor numa posição adequado no novo arquivo.</para>
  <para
>Além do mais, modelos localizados no diretório de modelos serão apresentados no ítem de menu <menuchoice
><guimenu
>Arquivo</guimenu
><guimenuitem
>A Partir do Modelo...</guimenuitem
></menuchoice
>.</para
> <para
>O plug-in também fornece um método para criar facilmente um novo modelo a partir de um documento aberto.</para>
  <para
>O diretório de modelos é parte do sistema de arquivos do &kde;, e consiste pelo menos do KDEDIR/share/applications/kate/plug-ins/katefiletemplates/templates e do KDEHOME/share/applications/kate/plug-ins/katefiletemplates/templates. Se sua variável de ambiente KDEDIRS contiver diretórios adicionais, serão procurados nestes diretórios por um subdiretório semelhante. Se modelos com mesmo nome forem encontrados, o do diretório local (KDEHOME) será escolhido.</para>
  <sect1 id="katefiletemplates-menu">
    <title
>Estrutura do Menu</title>

    <variablelist>
      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Arquivo</guimenu
> <guimenu
>Novo a Partir do Modelo</guimenu
> <guimenuitem
>Qualquer Arquivo...</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Apresente o diálogo para Abrir Arquivo que permite usar qualquer arquivo como um modelo. Se o arquivo escolhido tiver a extensão <filename
>katetemplate</filename
> ele será analisado por informações e macros do modelo.</para
></listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Arquivo</guimenu
> <guimenu
>Novo a Partir do Modelo</guimenu
> <guimenuitem
>Usar Recente</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Apresenta uma lista de arquivos recentemente usados como modelos, representados por suas URL.</para
></listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Arquivo</guimenu
> <guimenuitem
>Novo a Partir do Modelo</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>O lembrador de submenus contém os links para modelos. Clique em um ítem de menu para criar um arquivo como descrito pelo texto do ítem de menu.</para
></listitem>
      </varlistentry>

      <!-- Settings menu -->

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Configurações</guimenu
><guimenuitem
>Gerenciar Modelos</guimenuitem
></menuchoice
></term>
        <listitem
><para
>Isto lançará um diálogo com uma lista de todos os modelos encontrados nos diretórios de modelos, junto com opções para adicionar, editar ou remover modelos.</para
></listitem>
      </varlistentry>
    </variablelist>
  </sect1>

  <sect1 id="katefiletemplates-use">
    <title
>Usando um Modelo do &kate;</title>
    <para
>Ao criar um arquivo a partir de um modelo que contenha macros, alguns macros aparecerão como variáveis editáveis no texto. Como variáveis, eles aparecem como palavras sublinhadas no texto.</para>
    <para
>A primeira variável será selecionada, assim que você tenha digitado para editá-la. Se o texto do documento contiver mais de uma instância da mesma variável, elas serão mudadas assim que você editar a primeira. Para mover para a próxima variável editável, pressione a tecla TAB. Quando a última variável tiver sido editada, a lista é descartada, e sua tecla TAB voltará a funcionar normalmente.</para>
  </sect1>

  <sect1 id="katefiletemplates-create">
    <title
>Criando seus próprios modelos</title>
    <para
>Para criar um novo modelo, use o ítem <menuchoice
><guimenu
>Configurações</guimenu
><guimenuitem
>Gerenciar Modelos</guimenuitem
></menuchoice
> para lançar o diálogo de gerenciamento de modelo. Neste diálogo, clique em <guibutton
>Novo...</guibutton
> para lançar o Assistente de Modelo de Arquivo. Você será questionado por um arquivo opcional para tornar-se um modelo e por configurações de informações do modelo, criando assim um arquivo de modelo para você.</para
> <para
>Alternativamente, você pode criar um modelo manualmente adicionando informações do modelo no topo de qualquer arquivo, adicionando texto e macros, e salvando-o com a extensão <filename
>katetemplate</filename
>.</para>
    <para
>O menu de modelo será automaticamente atualizado se você escolher armazenar seu modelo no diretório de modelos.</para>
  </sect1>

  <sect1 id="katefiletemplates-edit">
    <title
>Editando modelos</title>
    <para
>Para editar um modelo, use o <menuchoice
><guimenu
>Configurações</guimenu
> <guimenuitem
>Gerenciar Modelos...</guimenuitem
></menuchoice
>. Selecione o modelo que você deseja editar e clique em <guibutton
>Editar...</guibutton
>, e o arquivo de modelo será aberto. Feche o diálogo, edite o arquivo de modelo como desejar, salve-o e feche-o. As mudanças para os modelos terão efeito imediatamente, e você pode ativar o modelo para testar suas mudanças após salvá-lo.</para>
  </sect1>

  <sect1 id="katefiletemplates-format">
    <title
>O Formato de Modelo do Kate</title>
    <para
>Se você usar arquivos com extensão <filename
>katetemplate</filename
>, eles serão analisados por informações de modelo, macros e uma posição do cursor.</para>

    <sect2 id="katefiletemplates-template-info">
      <title
>Informações do modelo</title>
      <para
>Ao ler um arquivo, o analisador mantém as linhas que iniciam com a frase <constant
>katetemplate:</constant
> e procura nelas por informações do modelo no formato NOMEDAVARIAVEL=VALOR. A primeira linha que não iniciar com <constant
>katetemplate:</constant
> será tomada como inicial do conteúdo do modelo. VALOR pode conter qualquer caracter menos o sinal de igual (=). Nomes de variáveis válidos são: <variablelist>
          <varlistentry>
            <term
><varname
>Template</varname
></term>
            <listitem
><para
>Este é o nome do modelo, exibido no menu <menuchoice
><guimenu
>Arquivo</guimenu
><guimenuitem
>A Partir do Modelo</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Group</varname
></term>
            <listitem
><para
>O grupo de lugares do modelo no submenu do menu <menuchoice
><guimenu
>Arquivo</guimenu
><guimenuitem
>A Partir do Modelo</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
><varname
>Name</varname
></term>
            <listitem
><para
>Este é o nome que será configurado para o documento, e exibido na lista de arquivos e barra de título. Se o nome contiver <userinput
>%N</userinput
> isto será substituído com um número, aumentado se mais documentos tiverem o mesmo nome.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Highlight</varname
></term>
            <listitem
><para
>O plug-in tentará configurar o Destaque para o novo documento para o valor desta variável. O valor deve ser o nome, como encontrado em <menuchoice
><guimenu
>Ferramentas</guimenu
><guimenuitem
>Destaque</guimenuitem
> </menuchoice
>.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Description</varname
></term>
            <listitem
><para
>Uma descrição informativa curta do modelo. Isto é atualmente usado para configurar um string 'O Que É Isto?' para o ítem de menu, mas pode ser usado para outras finalidades no futuro.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>Author</term>
            <listitem
><para
>Um string identificando o autor, por exemplo na forma <userinput
>Nome &lt;endereço de email&gt;</userinput
>. Isto é atualmente usado para configurar um string 'O Quê É Isto?' para o ítem de menu, mas pode ser usado para outras finalidades no futuro.</para
></listitem>
          </varlistentry>
        </variablelist>
      </para>

    </sect2>

    <sect2 id="katetemplates-macros">
      <title
>Macros do Modelo</title>

      <para
>Ao analisar o conteúdo do modelo, macros na forma <userinput
>%{NOME}</userinput
> ou <userinput
>${NOME}</userinput
> são expandidos. Se você usar o prefixo <userinput
>$</userinput
>, o macro expandido será tratado como uma variável editável quando um documento é criado a partir do modelo, enquanto se você usar o <userinput
>%</userinput
> ele não é, a menos que a expansão falhe.</para>
      <para
>Os seguintes macros são expandidos: <variablelist>
          <varlistentry
><term
>time</term>
            <listitem
><para
>Expande para a hora atual no seu formato local.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>date</term>
            <listitem
><para
>Expande para a data atual no formato reduzido.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>datetime</term>
            <listitem
><para
>Expande para a data e hora atual formatado como um string de acordo com seu local.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>year</term>
            <listitem
><para
>O ano atual como um número de quatro dígitos.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>month</term>
            <listitem
><para
>O nome completo do mês atual, de acordo com seu local.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>day</term>
            <listitem
><para
>Expande para o dia atual do mês.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>hostname</term>
            <listitem
><para
>Expande para o 'nome de máquina' do seu computador.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>index</term>
            <listitem
><para
>Expande para 'i'.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>fullname</term>
            <listitem
><para
>Expande para seu nome completo, como definido pelo endereço do dono em seu livro de endereços padrão do KDE.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>firstname</term>
            <listitem
><para
>Expande para seu primeiro nome, como definido pelo endereço do dono em seu livro de endereços padrão do KDE.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>lastname</term>
            <listitem
><para
>Expande para seu último nome, como definido pelo endereço do dono em seu livro de endereços padrão do KDE.</para>
            </listitem>
          </varlistentry>
          <!-- <varlistentry>
            <term
>username</term>
            <listitem
><para
>Expands to your username.</para
></listitem>
          </varlistentry
> -->
          <varlistentry>
            <term
>email</term>
            <listitem
><para
>Expande para seu endereço eletrônico, como definido pelo endereço do dono em seu livro de endereços padrão do KDE.</para
></listitem>
          </varlistentry>
          <!--<varlistentry>
            <term
>organisation</term>
            <listitem
><para
>This is your organisation, as defined by
                the owner address in your standard KDE
                addressbook.</para
></listitem>
          </varlistentry
>-->
        </variablelist>
      </para>
      <para
>Qualquer macro que não esteja na lista acima é tratado como uma variável editável independente do prefixo. Se a mesma variável aparecer várias vezes no modelo, elas podem ser editadas de uma vez após criar um documento a partir do modelo.</para>
    </sect2>

    <sect2 id="katefiletemplates-cursor">
      <title
>Configurando a posição do cursor</title>
      <para
>O macro especial <userinput
>${cursor}</userinput
> será substituído com uma barra vertical e adicionado ao final da lista de variáveis editáveis, independente de sua localização no texto.</para>
    </sect2>

  </sect1>

  <sect1 id="katefiletemplates-thanks-and-acknowledgements">
    <title
>Agradecimentos e Reconhecimentos</title>

    <para
>Plug-in &kate; de <quote
>Modelos de Arquivo</quote
> direitos autorais 2004 Anders Lund <email
>anders@alweb.dk</email
>. </para>

    <para
>Direitos autorais da documentação 2004 para Anders Lund </para>

    <para
>Tradução de Marcus Gama<email
>marcus_gama@uol.com.br</email
></para
> 
&underGPL; </sect1>
</chapter>

<!-- kate: word-wrap on; space-indent on; indent-width 2; -->