###############################################################################
# Copyright (c) 2001, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

title=WSIL

# Navigator
WSIL_MAIN_NODE=WSIL - Page principale

# Forms
FORM_LABEL_URL=URL
FORM_LABEL_ITEM_NUMBER=N\u00b0 de l'\u00e9l\u00e9ment
FORM_LABEL_UDDI_BUSINESS_NAME=Nom du m\u00e9tier UDDI
FORM_LABEL_UDDI_SERVICE_NAME=Nom du service UDDI
FORM_LABEL_LANGUAGE=Langue
FORM_LABEL_ABSTRACT=R\u00e9sum\u00e9
FORM_LABEL_NAME=Nom
FORM_LABEL_WSDL_BINDINGS=Liaisons WSDL
FORM_LABEL_NAMESPACE_URI=URI de l'espace de nom
FORM_LABEL_LOCAL_NAME=Nom local
FORM_LABEL_INQUIRY_API=API d'interrogation
FORM_LABEL_SERVICE_KEY=Cl\u00e9 du service
FORM_LABEL_BUSINESS_KEY=Cl\u00e9 du m\u00e9tier
FORM_LABEL_DISCOVERY_URL=URL de recherche
FORM_LABEL_WSIL=Informations sur le fichier WSIL
FORM_LABEL_WSIL_LINKS=Liens WSIL
FORM_LABEL_WSDL_SERVICE=Services WSDL
FORM_LABEL_UDDI_SERVICE=Services UDDI
FORM_LABEL_UDDI_BUSINESS=M\u00e9tiers UDDI
FORM_LABEL_ADD_TO_NAVIGATOR=Ajouter au navigateur
FORM_LABEL_ADD_TO_FAVORITES=Ajouter aux favoris
FORM_LABEL_ADD_TO_UDDI_PERSPECTIVE=Ajouter \u00e0 la page UDDI
FORM_LABEL_ADD_TO_WSDL_PERSPECTIVE=Ajouter \u00e0 la page WSDL
FORM_LABEL_REFRESH=R\u00e9g\u00e9n\u00e9ration
FORM_LABEL_NA=Non disponible
FORM_LABEL_UNAVAILABLE_UDDI_SERVICE=Service non disponible :
FORM_LABEL_UNAVAILABLE_UDDI_BUSINESS=M\u00e9tier non disponible :
FORM_LABEL_CHOOSE_WSIL_INSPECTION_TYPE=Choisissez le type des objets \u00e0 inspecter :
MSG_ERROR_NOTHING_SELECTED=IWAB0328E S\u00e9lectionnez au moins un \u00e9l\u00e9ment.

# OpenWSILAction
ALT_OPEN_WSIL=Ouvrir un fichier WSIL
FORM_LABEL_OPEN_WSIL_DESC=Indiquez l'URL d'un document WSIL ou d'un document HTML et cliquez sur <strong>OK</strong> pour lancer l'inspection.
WSIL_URL=URL du document :
MSG_ERROR_INVALID_WSIL_URL=IWAB0394E %1 n'est pas une URL WSIL ou HTML valide.
MSG_ERROR_WSIL_ALREADY_OPENED=IWAB0329E %1 est d\u00e9j\u00e0 ouvert dans le navigateur.
MSG_INFO_OPEN_WSIL_SUCCESSFUL=IWAB0330I %1 a \u00e9t\u00e9 ouvert.

# OpenWSILLinkAction
ALT_OPEN_WSIL_LINK=Ouvrir un lien WSIL
MSG_ERROR_WSIL_LINK_ALREADY_OPENED=IWAB0331E %1 est d\u00e9j\u00e0 ouvert dans le navigateur
MSG_INFO_OPEN_WSIL_LINK_SUCCESSFUL=IWAB0332I %1 a \u00e9t\u00e9 ouvert.

# WsilDetailsAction
ALT_WSIL_DETAILS=Informations sur le fichier WSIL

# WsilServiceDetailsAction
ALT_WSIL_SERVICE_DETAILS=Informations sur les services WSIL

# UddiLinkDetailsAction
ALT_UDDI_LINK_DETAILS=Caract\u00e9ristiques des m\u00e9tiers UDDI

# WsilLinkDetailsAction
ALT_WSIL_LINK_DETAILS=Caract\u00e9ristiques des liens WSIL

# ListWSDLServicesAction
ALT_LIST_WSDL_SERVICES=R\u00e9pertorier tous les services WSDL
FORM_LABEL_LIST_WSDL_SERVICES_DESC=S\u00e9lectionnez un groupe de services WSDL et cliquez sur <strong>Ajouter aux favoris</strong> pour les ajouter \u00e0 la liste des favoris.

# ListUDDIServicesAction
ALT_LIST_UDDI_SERVICES=R\u00e9pertorier tous les services UDDI
FORM_LABEL_LIST_UDDI_SERVICES_DESC=S\u00e9lectionnez un groupe de services UDDI et cliquez sur <strong>Ajouter aux favoris</strong> pour les ajouter \u00e0 la liste des favoris. Cliquez sur <strong>Ajouter \u00e0 la page UDDI</strong> pour ajouter les s\u00e9lections \u00e0 la page UDDI. Cliquez sur <strong>R\u00e9g\u00e9n\u00e9rer</strong> pour r\u00e9g\u00e9n\u00e9rer les s\u00e9lections.

# ListUDDIBusinessesAction
ALT_LIST_UDDI_LINKS=R\u00e9pertorier tous les m\u00e9tiers UDDI
FORM_LABEL_LIST_UDDI_BUSINESSES_DESC=S\u00e9lectionnez un groupe de m\u00e9tiers UDDI et cliquez sur <strong>Ajouter aux favoris</strong> pour les ajouter \u00e0 la liste des favoris. Cliquez sur <strong>Ajouter \u00e0 la page UDDI</strong> pour les ajouter \u00e0 la page UDDI. Cliquez sur <strong>R\u00e9g\u00e9n\u00e9rer</strong> pour r\u00e9g\u00e9n\u00e9rer les s\u00e9lections.

# ListWSILLinksAction
ALT_LIST_WSIL_LINKS=R\u00e9pertorier tous les liens WSIL
FORM_LABEL_LIST_WSIL_LINKS=S\u00e9lectionnez un groupe de liens WSIL et cliquez sur <strong>Ajouter au navigateur</strong> pour ouvrir ces liens dans le navigateur.

# ClearWSILAction
ALT_CLEAR_WSIL=Effacer les documents WSIL

# RefreshAction
ALT_REFRESH_WSIL=R\u00e9g\u00e9n\u00e9rer les documents WSIL
ALT_REFRESH_UDDI_BUSINESS=R\u00e9g\u00e9n\u00e9rer le m\u00e9tier UDDI
ALT_REFRESH_UDDI_SERVICE=R\u00e9g\u00e9n\u00e9rer le service UDDI
MSG_ERROR_WSIL_NOT_FOUND=IWAB0333E Le document WSIL %1 n'a pas pu \u00eatre charg\u00e9.
MSG_ERROR_BUSINESS_NOT_FOUND=IWAB0334E Le m\u00e9tier %1 est introuvable dans le registre.
MSG_ERROR_SERVICE_NOT_FOUND=IWAB0335E Le service %1 est introuvable dans le registre.
MSG_INFO_REFRESH_SUCCESSFUL=IWAB0336I %1 est r\u00e9g\u00e9n\u00e9r\u00e9.
MSG_CONFIRM_REMOVE_NODE=%1 ne peut plus \u00eatre r\u00e9solu.  Voulez-vous l'effacer ?

# AddToUDDIPerspectiveAction
ALT_ADD_BUSINESS_TO_UDDI_PERSPECTIVE=Ajouter le m\u00e9tier \u00e0 la page UDDI
ALT_ADD_SERVICE_TO_UDDI_PERSPECTIVE=Ajouter le service \u00e0 la page UDDI
MSG_INFO_ADD_TO_UDDI_PERSPECTIVE_SUCCESSFUL=IWAB0337I %1 est ajout\u00e9 \u00e0 la page UDDI.
MSG_ERROR_ADD_TO_UDDI_PERSPECTIVE=IWAB0338E Impossible d'ajouter %1 \u00e0 la page UDDI.
MSG_ERROR_BUSINESS_NOT_FOUND=IWAB0339E Le m\u00e9tier %1 est introuvable dans le registre.
MSG_ERROR_SERVICE_NOT_FOUND=IWAB0340E Le service %1 est introuvable dans le registre.

# WsilAddToWSDLPerspectiveAction
ALT_ADD_WSDL_TO_WSDL_PERSPECTIVE=Ajouter le document WSDL \u00e0 la page WSDL
MSG_INFO_ADD_WSDL_TO_WSDL_PERSPECTIVE_SUCCESSFUL=IWAB0395I %1 est ajout\u00e9 \u00e0 la page WSDL.
MSG_ERROR_ADD_WSDL_TO_WSDL_PERSPECTIVE=IWAB0396E %1 n'a pas pu \u00eatre charg\u00e9.

# AddWSILToFavoritesAction
ALT_ADD_WSIL_TO_FAVORITES=Ajouter le document WSIL aux favoris
MSG_ERROR_ADD_TO_FAVORITES=IWAB0341E Impossible d'ajouter %1 aux favoris.
MSG_ERROR_FAVORITES_ALREADY_EXISTS=IWAB0342E %1 existe d\u00e9j\u00e0 dans les favoris.
MSG_INFO_ADD_TO_FAVORITES_SUCCESSFUL=IWAB0343I %1 est ajout\u00e9 aux favoris.
MSG_QUESTION_OVERWRITE_FAVORITES=Le favori existe d\u00e9j\u00e0.  Voulez-vous le remplacer ?

# AddWSDLServiceToFavoritesAction
ALT_ADD_WSDL_SERVICE_TO_FAVORITES=Ajouter le document WSDL aux favoris

# AddBusinessToFavoritesAction
ALT_ADD_UDDI_BUSINESS_TO_FAVORITES=Ajouter le m\u00e9tier UDDI aux favoris

# AddServiceToFavoritesAction
ALT_ADD_SERVICE_TO_FAVORITES=Ajouter le service UDDI aux favoris

# WSILImportWSILToWorkbench
ATL_IMPORT_WSIL_TO_WORKBENCH=Importer un fichier WSIL dans le plan de travail
FORM_LABEL_IMPORT_WSIL_TO_WORKBENCH_DESC=S\u00e9lectionnez un projet du plan de travail pour y sauvegarder le fichier WSIL. Vous pouvez aussi changer le nom du fichier WSIL.

# ImportToFileSystemAction
ALT_WSIL_IMPORT_TO_FS=Importer un fichier WSIL dans le syst\u00e8me de fichiers
ALT_WSDL_IMPORT_TO_FS=Importer un document WSDL dans le syst\u00e8me de fichiers

# Frame titles
FRAME_TITLE_NAVIGATOR_CONTAINER=Navigateur - Conteneur
FRAME_TITLE_NAVIGATOR_TOOLBAR=Navigateur - Barre d'outils
FRAME_TITLE_NAVIGATOR_CONTENT=Navigateur - Contenu
FRAME_TITLE_ACTIONS_CONTAINER=Conteneur d'actions
FRAME_TITLE_PROPERTIES_CONTAINER=Conteneur de propri\u00e9t\u00e9s
FRAME_TITLE_PROPERTIES_CONTENT=Contenu des propri\u00e9t\u00e9s
FRAME_TITLE_PROPERTIES_TOOLBAR=Barre d'outils des propri\u00e9t\u00e9s
FRAME_TITLE_STATUS_CONTAINER=Conteneur de statuts
FRAME_TITLE_STATUS_CONTENT=Contenu des statuts
FRAME_TITLE_STATUS_TOOLBAR=Barre d'outils des statuts

# Form titles
FORM_TITLE_OPEN_WSIL=Formulaire Ouverture d'un fichier WSIL
FORM_TITLE_UDDI_BUSINESS_DETAILS=Formulaire Informations sur le m\u00e9tier UDDI
FORM_TITLE_UDDI_SERVICE_DETAILS=Formulaire Informations sur le service UDDI
FORM_TITLE_WSDL_SERVICE_DETAILS=Formulaire Informations sur le service WSDL
FORM_TITLE_WSIL_DETAILS=Formulaire Informations sur le fichier WSIL
FORM_TITLE_WSIL_LINK_DETAILS=Formulaire Informations sur le lien WSIL

# View titles
VIEW_TITLE_UDDI_BUSINESSES=Vue des m\u00e9tiers UDDI
VIEW_TITLE_UDDI_SERVICES=Vue des services UDDI
VIEW_TITLE_WSDL_SERVICES=Vue des services WSDL
VIEW_TITLE_WSIL_LINKS=Vue des liens WSIL
