# Copyright 2004 The Apache Software Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# $Id$

# Default localized resources for example servlets
# This locale is pt_PT

helloworld.title=Ola Mundo!

requestinfo.title=Exemplo da Informacao do Pedido
requestinfo.label.method=Metodo:
requestinfo.label.requesturi=URI do Pedido:
requestinfo.label.protocol=Protocolo:
requestinfo.label.pathinfo=Informacao do Caminho:
requestinfo.label.remoteaddr=Endereco Remoto:

requestheader.title=Exemplo da Cebeceira do Pedido

requestparams.title=Examplo de Parametros do Pedido
requestparams.params-in-req=Parametros neste pedido:
requestparams.no-params=Sem Parametros, Por favor entre alguns
requestparams.firstname=Primeiro Nome:
requestparams.lastname=Apelido:

cookies.title=CExamplo de Cookies
cookies.cookies=O se browser esta a enviar os seguintes cookies:
cookies.no-cookies=O seu browser nao esta a enviar nenhuns cookies
cookies.make-cookie=Crie um cookie para enviar para o seu browser
cookies.name=Nome:
cookies.value=Valor:
cookies.set=Acabou de enviar o seguinte cookie para o seu browser:

sessions.title=Examplo de sessoes
sessions.id=Identificador da Sessao:
sessions.created=Criada:
sessions.lastaccessed=Ultima vez acedida:
sessions.data=Os seguintes dados fazem parte da sua sessao:
sessions.adddata=Adicione data a sua sessao
sessions.dataname=Nome do atributo da sessao:
sessions.datavalue=Valor do atributo da Sessao:
