<chapter id="filetemplates">
  <chapterinfo>

    <title
>Modelos de Ficheiros</title>

    <authorgroup>
      <author
><firstname
>Anders</firstname
> <surname
>Lund</surname
> <affiliation
> <address
>&Anders.Lund.mail;</address>
        </affiliation>
      </author>
<othercredit role="translator"
><firstname
>José</firstname
><surname
>Pires</surname
><affiliation
><address
><email
>jncp@netcabo.pt</email
></address
></affiliation
><contrib
>Tradução</contrib
></othercredit
> 
    </authorgroup>
<date
>Seg 16 Fev 2004</date
> <releaseinfo
>0.1</releaseinfo
> <keywordset>
      <keyword
>KDE</keyword>
      <keyword
>kate</keyword>
      <keyword
>kdeaddons</keyword>
      <keyword
>modelo</keyword>
      <keyword
>macro</keyword>
    </keywordset>
  </chapterinfo>

  <title
>Introdução</title>

  <para
>O 'plugin' de Modelos de Ficheiros permite-lhe criar ficheiros com base noutros ficheiros. Você poderá usar qualquer ficheiro como modelo, o que irá criar uma cópia do ficheiro com um &URL; vazio ou usar um ficheiro de modelo especial que poderá conter macros para preencher alguma informação como o seu nome e endereço de e-mail, a data actual e as variáveis de ambiente, posicionando o cursor numa posição conveniente do ficheiro novo.</para>
  <para
>Para além disso, os modelos localizados nas directorias de modelos serão apresentados no item de menu <menuchoice
><guimenu
>Ficheiro</guimenu
><guimenuitem
>Do Modelo..</guimenuitem
></menuchoice
>.</para
> <para
>O 'plugin' também fornece um método para criar um novo modelo a partir de um documento aberto.</para>
  <para
>As pastas dos modelos fazem parte do sistema de ficheiros do &kde; e consistem em, pelo menos, a KDEDIR/share/applications/kate/plugins/katefiletemplates/templates e a KDEHOME/share/applications/kate/plugins/katefiletemplates/templates. Se a sua variável de ambiente KDEDIRS contiver pastas adicionais, estas são pesquisadas por subpastas semelhantes. Se forem encontrados modelos com o mesmo nome, é escolhido o da pasta local (KDEHOME).</para>
  <sect1 id="katefiletemplates-menu">
    <title
>Estrutura do Menu</title>

    <variablelist>
      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Ficheiro</guimenu
> <guimenu
>Novo a Partir do Modelo</guimenu
> <guimenuitem
>Qualquer Ficheiro...</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Apresenta-lhe uma janela de Abertura de Ficheiros que lhe permite usar qualquer ficheiro como modelo. Se o ficheiro escolhido tiver a extensão <filename
>katetemplate</filename
>, ele será processado para a informação e as macros do modelo.</para
></listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Ficheiro</guimenu
> <guimenu
>Novo a Partir do Modelo</guimenu
> <guimenuitem
>Usar um Recente</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>Apresenta uma lista dos ficheiros usados recentemente como modelos, representados pelo seu &URL;.</para
></listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Ficheiro</guimenu
> <guimenuitem
>Novo a Partir do Modelo</guimenuitem
> </menuchoice>
        </term>
        <listitem
><para
>O resto dos sub-menus contém referências para os modelos. Carregue num item do menu para criar um ficheiro, tal como é descrito pelo texto do item do menu.</para
></listitem>
      </varlistentry>

      <!-- Settings menu -->

      <varlistentry>
        <term>
          <menuchoice
><guimenu
>Configuração</guimenu
><guimenuitem
>Gerir os Modelos</guimenuitem
></menuchoice
></term>
        <listitem
><para
>Isto irá lançar uma janela com uma lista com todos os modelos encontrados nas directorias de modelos, em conjunto com as opções para adicionar, editar ou remover os modelos.</para
></listitem>
      </varlistentry>
    </variablelist>
  </sect1>

  <sect1 id="katefiletemplates-use">
    <title
>Usar um Modelo do &kate;</title>
    <para
>Ao criar um ficheiro a partir de um modelo que contenha macros de modelos, algumas das macros aparecem como variáveis editáveis no texto. Essas variáveis aparecem como palavras sublinhadas no texto.</para>
    <para
>Será seleccionada a primeira variável, como tal só terá de escrever para a editar. Se o texto do documento contiver mais instâncias da mesma variável, podê-las-á alterar à medida que editar. Para mudar para a próxima variável editável, carregue na tecla TAB. Quando for editada a última variável, a lista é fechada e a sua tecla TAB passa a funcionar de forma normal.</para>
  </sect1>

  <sect1 id="katefiletemplates-create">
    <title
>Criar os seus próprios modelos</title>
    <para
>Para criar um modelo novo, use o item <menuchoice
><guimenu
>Configuração</guimenu
> <guimenuitem
>Gerir os Modelos</guimenuitem
></menuchoice
> para lançar a janela de gestão de modelos. Na mesma, carregue em <guibutton
>Novo...</guibutton
> para lançar o Assistente de Modelos de Ficheiros. Ser-lhe-á pedido um ficheiro opcional para transformar num modelo e a configuração dos dados do modelo, para que seja criado um ficheiro para si.</para
> <para
>Em alternativa, você poderá criar um modelo manualmente se adicionar a informação do modelo ao topo de qualquer ficheiro, adicionar o texto, as macros e o marcador da posição do cursor, gravando-o com a extensão <filename
>katetemplate</filename
>.</para>
    <para
>O menu do modelo é actualizado automaticamente se você optou por gravar o seu modelo na directoria respectiva.</para>
  </sect1>

  <sect1 id="katefiletemplates-edit">
    <title
>Editar os modelos</title>
    <para
>Para editar um modelo, use a opção <menuchoice
><guimenu
>Configuração</guimenu
> <guimenuitem
>Gerir os Modelos...</guimenuitem
></menuchoice
>. Seleccione o modelo com que deseja trabalhar e carregue em <guibutton
>Editar...</guibutton
>, para que seja aberto o ficheiro de modelo. Feche a janela, edite o ficheiro de modelo como desejar, grave-o e feche-o. As alterações aos modelos têm efeito imediato e você poderá activar o modelo para testar as suas alterações depois de o gravar.</para>
  </sect1>

  <sect1 id="katefiletemplates-format">
    <title
>O Formato dos Modelos do &kate;</title>
    <para
>Se você usar os ficheiros com a extensão <filename
>katetemplate</filename
>, eles serão processados no que respeita à informação do modelo, das macros e da posição do cursor.</para>

    <sect2 id="katefiletemplates-template-info">
      <title
>Informação do modelo</title>
      <para
>Ao ler o ficheiro, o analisador guarda as linhas que começam com a frase <constant
>katetemplate:</constant
> e procura nelas por informações do modelo no formato NOMEVARIAVEL=VALOR. A primeira linha que não começar por <constant
>katetemplate:</constant
> será aceite como o início do conteúdo do modelo. O VALOR poderá conter qualquer carácter excepto o sinal de igual (=). Os nomes válidos de variáveis são: <variablelist>
          <varlistentry>
            <term
><varname
>Template</varname
></term>
            <listitem
><para
>Este é o nome do modelo, mostrado no menu <menuchoice
><guimenu
>Ficheiro</guimenu
><guimenuitem
>A Partir do Modelo</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Group</varname
></term>
            <listitem
><para
>O grupo coloca o modelo dentro de um sub-menu do <menuchoice
><guimenu
>Ficheiro</guimenu
><guimenuitem
>A Partir do Modelo</guimenuitem
></menuchoice
>.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
><varname
>Name</varname
></term>
            <listitem
><para
>Este é o nome que será atribuído ao documento e mostrado na lista de ficheiros e na barra de título. Se o nome contiver um <userinput
>%N</userinput
>, este será substituído por um número, o qual será incrementado se existir mais do que um documento com o mesmo nome.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Highlight</varname
></term>
            <listitem
><para
>O 'plugin' irá tentar configurar o Highlight (realce) para o valor desta variável. O valor deverá ser o nome, tal como consta no menu <menuchoice
><guimenu
>Ferramentas</guimenu
><guimenuitem
>Realce</guimenuitem
> </menuchoice
>.</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term
><varname
>Description</varname
></term>
            <listitem
><para
>Um breve descrição informativa do modelo. Este é usado de momento para definir um item O Que É Isto para o item do menu, mas poderá ser usado para mais fins no futuro.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>Author</term>
            <listitem
><para
>Um texto que identifica o autor, por exemplo no formato <userinput
>Nome &lt;endereço de e-mail&gt;</userinput
>. Isto é usado de momento para definir um texto de O Que É Isto para o item do menu, mas poderá ser usado para mais fins no futuro.</para
></listitem>
          </varlistentry>
        </variablelist>
      </para>

    </sect2>

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

      <para
>Ao processar o conteúdo do modelo, as macros no formato <userinput
>%{NOME}</userinput
> ou <userinput
>${NOME}</userinput
> são expandidas. Se usar o prefixo <userinput
>$</userinput
>, a macro expandida será tratada como uma variável editável, quando for criado um documento a partir do modelo, enquanto que se usar o <userinput
>%</userinput
> não o será, a menos que a expansão seja mal-sucedida.</para>
      <para
>São expandidas as seguintes macros: <variablelist>
          <varlistentry
><term
>time</term>
            <listitem
><para
>Expande para a hora actual, no seu formato regional.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>date</term>
            <listitem
><para
>Expande para a hora actual, num formato curto.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>datetime</term>
            <listitem
><para
>Expande para a data e hora actuais, formatadas como uma cadeia de caracteres de acordo com a sua configuração regional.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>year</term>
            <listitem
><para
>O ano actual, como um número de quatro algarismos.</para
></listitem>
          </varlistentry>
          <varlistentry>
            <term
>month</term>
            <listitem
><para
>O nome completo do mês actual, de acordo com a sua configuração regional.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>day</term>
            <listitem
><para
>Expande para o dia actual do mês.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>hostname</term>
            <listitem
><para
>Expande para o nome 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 o seu nome completo, tal como está definido no seu livro de endereços normal do &kde;.</para
></listitem>
          </varlistentry>
          <varlistentry
><term
>firstname</term>
            <listitem
><para
>Expande para o seu primeiro nome, tal como está definido no seu livro de endereços normal do &kde;.</para>
            </listitem>
          </varlistentry>
          <varlistentry
><term
>lastname</term>
            <listitem
><para
>Expande para o seu último nome (apelido), tal como está definido no seu livro de endereços 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 o seu endereço de e-mail, tal como está definido no seu livro de endereços normal 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
>Todas as macros que não estiverem na lista acima serão tratadas como variáveis editáveis, independentemente do prefixo. Se a mesma variável ocorrer várias vezes no modelo, elas poderão ser editadas de uma vez, depois de criar um documento a partir do modelo.</para>
    </sect2>

    <sect2 id="katefiletemplates-cursor">
      <title
>Configurar a posição do cursor</title>
      <para
>A macro especial <userinput
>${cursor}</userinput
> será substituída por uma barra vertical e será adicionada ao fim da lista de variáveis editáveis, independentemente da sua posição no texto.</para>
    </sect2>

  </sect1>

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

    <para
>'Plugin' do &kate; <quote
>Modelos de Ficheiro</quote
> copyright 2004 Anders Lund <email
>anders@alweb.dk</email
>. </para>

    <para
>Documentação copyright 2004 &Anders.Lund; </para>

    <para
>Tradução de José Nuno Pires <email
>jncp@netcabo.pt</email
></para
> 
&underGPL; </sect1>
</chapter>

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