###############################################################################
# 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=UDDI

# Nodes
NODE_NAME_UDDI_MAIN=UDDI - Page principale
NODE_NAME_QUERIES_FOLDER=Requ\u00eates ex\u00e9cut\u00e9es
NODE_NAME_PUBLISHED_BUSINESSES_FOLDER=M\u00e9tiers publi\u00e9s
NODE_NAME_PUBLISHED_SERVICES_FOLDER=Services publi\u00e9s
NODE_NAME_PUBLISHED_SERVICE_INTERFACES_FOLDER=Interfaces de service publi\u00e9es

# OpenRegistryAction
ALT_OPEN_REGISTRY=Ouvrir un registre
FORM_LABEL_OPEN_REGISTRY_DESC=Indiquez le nom et l'URL d'interrogation du registre \u00e0 ouvrir. Si vous s\u00e9lectionnez un registre favori, les informations requises seront indiqu\u00e9es automatiquement. Pour ouvrir le registre, cliquez sur <strong>OK</strong>.
FORM_LABEL_FAVORITE_REGISTRY=Registre favori
FORM_LABEL_REGISTRY_NAME=Nom du registre
FORM_LABEL_INQUIRY_URL=URL d'interrogation
FORM_LABEL_CHECK_USER_DEFINED_CATEGORIES=Rechercher les cat\u00e9gories d\u00e9finies par l'utilisateur
DEFAULT_REGISTRY_NAME=Registre UDDI de test IBM
MSG_ERROR_INVALID_REGISTRY_NAME=IWAB0136E Indiquez un nom de registre valide.
MSG_ERROR_INVALID_INQUIRY_URL=IWAB0138E Indiquez un URL d'interrogation valide.
MSG_INFO_REGISTRY_OPENED=IWAB0139I Le registre nomm\u00e9 %1 figurant dans %2 a \u00e9t\u00e9 ouvert.
FORM_LABEL_IS_WEBSPHERE_UDDI_REGISTRY=Est un registre UDDI WebSphere
DEFAULT_REGISTRY_NAME_WEBSPHERE=Registre UDDI priv\u00e9 IBM WebSphere
FORM_LABEL_REGISTRY_HOST=H\u00f4te
FORM_LABEL_REGISTRY_PORT=Port

# User-defined Categories
FORM_LABEL_ADD_CATEGORY_DATA=<a href="%1">Cliquez ici</a> pour charger les donn\u00e9es de cette cat\u00e9gorie.
FORM_CONTROL_TITLE_CATEGORY_FILE=Nom du fichier de donn\u00e9es de cat\u00e9gories
MSG_INFO_NO_USER_DEFINED_CATEGORIES_FOUND=IWAB0371I Aucune cat\u00e9gorie d\u00e9finie par l'utilisateur n'a \u00e9t\u00e9 d\u00e9tect\u00e9e.
MSG_INFO_NO_CATEGORY_DATA=IWAB0372I Les donn\u00e9es de cat\u00e9gorie pour %1 ne sont pas disponibles ou ne sont pas valides.
MSG_INFO_USER_DEFINED_CATEGORY_DATA_LOADED=IWAB0373I Les donn\u00e9es pour la cat\u00e9gorie d\u00e9finie par l'utilisateur %1 ont \u00e9t\u00e9 charg\u00e9es.
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE_KEY=IWAB0374E Fichier de donn\u00e9es non valide pour la cat\u00e9gorie d\u00e9finie par l'utilisateur %1. Une cl\u00e9 de cat\u00e9gorie '%2' a \u00e9t\u00e9 trouv\u00e9e alors que '%3' est attendue.
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE_FORMAT=IWAB0473E Format inconnu \u00e0 la ligne %1 du fichier de donn\u00e9es pour la cat\u00e9gorie d\u00e9finie par l'utilisateur %2. La ligne est : "%3"
MSG_ERROR_INVALID_USER_DEFINED_CATEGORY_DATA_FILE=IWAB0375E Fichier de donn\u00e9es non valide pour la cat\u00e9gorie d\u00e9finie par l'utilisateur %1.
MSG_ERROR_SAVING_CATEGORY_DATA=IWAB0474E Une erreur s'est produite lors de la sauvegarde des donn\u00e9es pour la cat\u00e9gorie %1. Texte de l'exception : %2

# UDDI Category Browser
TITLE_CATEGORY_BROWSER=Navigateur par cat\u00e9gories
ALT_CATEGORIES=Cat\u00e9gories

# Details
ALT_REGISTRY_DETAILS=D\u00e9tails du registre
ALT_BUSINESS_DETAILS=D\u00e9tails du m\u00e9tier
ALT_SERVICE_DETAILS=D\u00e9tails du service
ALT_SERVICE_INTERFACE_DETAILS=D\u00e9tails de l'interface de service
FORM_LABEL_DETAILS_EDITABLE=Les d\u00e9tails de <strong>%1</strong> sont indiqu\u00e9s ci-dessous. Vous pouvez ajouter, supprimer ou modifier des \u00e9l\u00e9ments. Une authentification peut \u00eatre requise pour les modifications. D'autres actions sont r\u00e9pertori\u00e9es au bas de cette page.

# Get
ALT_GET=Get

# Common Form Control Title
FORM_CONTROL_TITLE_NAME_TEXT_VALUE=Valeur du nom
FORM_CONTROL_TITLE_DESCRIPTION_TEXT_VALUE=Valeur de la description
FORM_CONTROL_TITLE_CATEGORY_KEY_NAME=Nom de la cl\u00e9 de cat\u00e9gorie
FORM_CONTROL_TITLE_CATEGORY_KEY_VALUE=Valeur de la cl\u00e9 de cat\u00e9gorie
FORM_CONTROL_TITLE_IDENTIFIER_KEY_NAME=Nom de cl\u00e9 pour l'identificateur
FORM_CONTROL_TITLE_IDENTIFIER_KEY_VALUE=Valeur de cl\u00e9 pour l'identificateur
FORM_CONTROL_TITLE_DISCOVERY_URL=URL de recherche

# Find actions
ALT_FIND=Rechercher
ALT_SUBQUERY=Rechercher la sous-requ\u00eate %1
FORM_LABEL_QUERY_NAME=Nom de cette requ\u00eate
DEFAULT_QUERY_NAME=R\u00e9sultats de la requ\u00eate
DEFAULT_SUBQUERY_NAME=Sous-requ\u00eate %1 - %2
FORM_LABEL_SEARCH_FOR=Rechercher
FORM_OPTION_BUSINESSES=M\u00e9tiers
FORM_OPTION_SERVICES=Services
FORM_OPTION_SERVICE_INTERFACES=Interfaces de service
FORM_LABEL_SEARCH_TYPE=Type de recherche
FORM_RADIO_SIMPLE=Simple
FORM_RADIO_ADVANCED=Avanc\u00e9e
FORM_RADIO_UUID=UUID
FORM_LABEL_FIND_BUSINESSES_SIMPLE_DESC=Indiquez le nom partiel ou complet d'un m\u00e9tier \u00e0 rechercher. Vous pouvez utiliser le symbole '%' comme caract\u00e8re g\u00e9n\u00e9rique pour remplacer un caract\u00e8re. Pour lancer la recherche, cliquez sur <strong>OK</strong>.
FORM_LABEL_FIND_ADVANCED_DESC=Indiquez des valeurs pour un ou plusieurs param\u00e8tres r\u00e9pertori\u00e9s ci-dessous. Vous pouvez utiliser le symbole '%' comme caract\u00e8re g\u00e9n\u00e9rique pour remplacer un caract\u00e8re dans la zone Nom du tableau Noms. Vous devrez peut-\u00eatre vous authentifier. Pour lancer la recherche, cliquez sur <strong>OK</strong>.
FORM_LABEL_FIND_BUSINESS_UUID_DESC=Indiquez l'UUID du m\u00e9tier \u00e0 rechercher. Pour lancer la recherche, cliquez sur <strong>OK</strong>.
FORM_LABEL_NAMES=Noms
FORM_LINK_ADD=Ajouter
FORM_LINK_GET=Extraire
FORM_LINK_FIND=Rechercher
FORM_LINK_REMOVE=Supprimer
FORM_LABEL_OWNED=Propri\u00e9taire
FORM_LABEL_PUBLISH_URL=URL de publication
FORM_LABEL_USERID=ID utilisateur
FORM_LABEL_PASSWORD=Mot de passe
FORM_LABEL_LANGUAGE=Langue
FORM_LABEL_NAME=Nom
FORM_LABEL_DESCRIPTION=Description
FORM_OPTION_LANGUAGE_EN=Anglais
FORM_OPTION_LANGUAGE_AA=Afar
FORM_OPTION_LANGUAGE_AB=Abkhazien
FORM_OPTION_LANGUAGE_AF=Afrikaans
FORM_OPTION_LANGUAGE_AM=Amharique
FORM_OPTION_LANGUAGE_AR=Arabe
FORM_OPTION_LANGUAGE_AS=Assamais
FORM_OPTION_LANGUAGE_AY=Aymara
FORM_OPTION_LANGUAGE_AZ=Azerba\u00efdjanais
FORM_OPTION_LANGUAGE_BA=Bashkir
FORM_OPTION_LANGUAGE_BE=Bi\u00e9lorusse
FORM_OPTION_LANGUAGE_BG=Bulgare
FORM_OPTION_LANGUAGE_BH=Bihari
FORM_OPTION_LANGUAGE_BI=Bichlamar
FORM_OPTION_LANGUAGE_BN=Bengali; Bangla
FORM_OPTION_LANGUAGE_BO=Tib\u00e9tain
FORM_OPTION_LANGUAGE_BR=Breton
FORM_OPTION_LANGUAGE_CA=Catalan
FORM_OPTION_LANGUAGE_CO=Corse
FORM_OPTION_LANGUAGE_CZ=Tch\u00e8que
FORM_OPTION_LANGUAGE_CY=Gallois
FORM_OPTION_LANGUAGE_DA=Danois
FORM_OPTION_LANGUAGE_DE=Allemand
FORM_OPTION_LANGUAGE_DZ=Bhutani
FORM_OPTION_LANGUAGE_EL=Grec
FORM_OPTION_LANGUAGE_EO=Esp\u00e9ranto
FORM_OPTION_LANGUAGE_ES=Espagnol
FORM_OPTION_LANGUAGE_ET=Estonien
FORM_OPTION_LANGUAGE_EU=Basque
FORM_OPTION_LANGUAGE_FA=Perse
FORM_OPTION_LANGUAGE_FI=Finnois
FORM_OPTION_LANGUAGE_FJ=Fidji
FORM_OPTION_LANGUAGE_FO=F\u00e9roien
FORM_OPTION_LANGUAGE_FR=Fran\u00e7ais
FORM_OPTION_LANGUAGE_FY=Frisien
FORM_OPTION_LANGUAGE_GA=Irlandais
FORM_OPTION_LANGUAGE_GD=Ga\u00e9lique \u00e9cossais
FORM_OPTION_LANGUAGE_GL=Galicien
FORM_OPTION_LANGUAGE_GN=Guarani
FORM_OPTION_LANGUAGE_GU=Goujrati
FORM_OPTION_LANGUAGE_HA=Haoussa
FORM_OPTION_LANGUAGE_HI=Hindi
FORM_OPTION_LANGUAGE_HR=Croate
FORM_OPTION_LANGUAGE_HU=Hongrois
FORM_OPTION_LANGUAGE_HY=Arm\u00e9nien
FORM_OPTION_LANGUAGE_IA=Interlingue
FORM_OPTION_LANGUAGE_IE=Interlingue
FORM_OPTION_LANGUAGE_IK=Inupiak
FORM_OPTION_LANGUAGE_IN=Indon\u00e9sien
FORM_OPTION_LANGUAGE_IS=Islandais
FORM_OPTION_LANGUAGE_IT=Italien
FORM_OPTION_LANGUAGE_IW=H\u00e9breu
FORM_OPTION_LANGUAGE_JA=Japonais
FORM_OPTION_LANGUAGE_JI=Yiddish
FORM_OPTION_LANGUAGE_JW=Javanais
FORM_OPTION_LANGUAGE_KA=G\u00e9orgien
FORM_OPTION_LANGUAGE_KK=Kazakh
FORM_OPTION_LANGUAGE_KL=Groenlandais
FORM_OPTION_LANGUAGE_KM=Cambodgien
FORM_OPTION_LANGUAGE_KN=Kannada
FORM_OPTION_LANGUAGE_KO=Cor\u00e9en
FORM_OPTION_LANGUAGE_KS=Kashmiri
FORM_OPTION_LANGUAGE_KU=Kurde
FORM_OPTION_LANGUAGE_KY=Kirghiz
FORM_OPTION_LANGUAGE_LA=Latin
FORM_OPTION_LANGUAGE_LN=Lingala
FORM_OPTION_LANGUAGE_LO=Laotien
FORM_OPTION_LANGUAGE_LT=Lituanien
FORM_OPTION_LANGUAGE_LV=Letton, lettonien
FORM_OPTION_LANGUAGE_MG=Malgache
FORM_OPTION_LANGUAGE_MI=Maori
FORM_OPTION_LANGUAGE_MK=Mac\u00e9donien
FORM_OPTION_LANGUAGE_ML=Malayalam
FORM_OPTION_LANGUAGE_MN=Mongol
FORM_OPTION_LANGUAGE_MO=Moldave
FORM_OPTION_LANGUAGE_MR=Marathe
FORM_OPTION_LANGUAGE_MS=Malais
FORM_OPTION_LANGUAGE_MT=Maltais
FORM_OPTION_LANGUAGE_MY=Birman
FORM_OPTION_LANGUAGE_NA=Nauri
FORM_OPTION_LANGUAGE_NE=N\u00e9palais
FORM_OPTION_LANGUAGE_NL=N\u00e9erlandais
FORM_OPTION_LANGUAGE_NO=Norv\u00e9gien
FORM_OPTION_LANGUAGE_OC=Occitan
FORM_OPTION_LANGUAGE_OM=(Afan) oromo
FORM_OPTION_LANGUAGE_OR=Oriya
FORM_OPTION_LANGUAGE_PA=Pendjabi
FORM_OPTION_LANGUAGE_PL=Polonais
FORM_OPTION_LANGUAGE_PS=Pashto, Pashtou
FORM_OPTION_LANGUAGE_PT=Portugais
FORM_OPTION_LANGUAGE_QU=Quichua
FORM_OPTION_LANGUAGE_RM=Rh\u00e9to-roman
FORM_OPTION_LANGUAGE_RN=Kiroundi
FORM_OPTION_LANGUAGE_RO=Roumain
FORM_OPTION_LANGUAGE_RU=Russe
FORM_OPTION_LANGUAGE_RW=Kinyarwanda
FORM_OPTION_LANGUAGE_SA=Sanscrit
FORM_OPTION_LANGUAGE_SD=Sindhi
FORM_OPTION_LANGUAGE_SG=Sango
FORM_OPTION_LANGUAGE_SH=Serbo-croate
FORM_OPTION_LANGUAGE_SI=Singhalais
FORM_OPTION_LANGUAGE_SK=Slovaque
FORM_OPTION_LANGUAGE_SL=Slov\u00e8ne
FORM_OPTION_LANGUAGE_SM=Samoan
FORM_OPTION_LANGUAGE_SN=Shona
FORM_OPTION_LANGUAGE_SO=Somali
FORM_OPTION_LANGUAGE_SQ=Albanais
FORM_OPTION_LANGUAGE_SR=Serbe
FORM_OPTION_LANGUAGE_SS=Siswati
FORM_OPTION_LANGUAGE_ST=Sesotho
FORM_OPTION_LANGUAGE_SU=Soundanais
FORM_OPTION_LANGUAGE_SV=Su\u00e9dois
FORM_OPTION_LANGUAGE_SW=Swahili
FORM_OPTION_LANGUAGE_TA=Tamoul
FORM_OPTION_LANGUAGE_TE=T\u00e9goulou
FORM_OPTION_LANGUAGE_TG=Tadjik
FORM_OPTION_LANGUAGE_TH=Tha\u00ef
FORM_OPTION_LANGUAGE_TI=Tigrinya
FORM_OPTION_LANGUAGE_TK=Turkm\u00e8ne
FORM_OPTION_LANGUAGE_TL=Tagal
FORM_OPTION_LANGUAGE_TN=Setchwana
FORM_OPTION_LANGUAGE_TO=Tonga
FORM_OPTION_LANGUAGE_TR=Turc
FORM_OPTION_LANGUAGE_TS=Tsonga
FORM_OPTION_LANGUAGE_TT=Tatar
FORM_OPTION_LANGUAGE_TW=Tchi
FORM_OPTION_LANGUAGE_UK=Ukrainien
FORM_OPTION_LANGUAGE_UR=Ourdou
FORM_OPTION_LANGUAGE_UZ=Ouzbek
FORM_OPTION_LANGUAGE_VI=Vietnamien
FORM_OPTION_LANGUAGE_VO=Volap\u00fck
FORM_OPTION_LANGUAGE_WO=Ouolof
FORM_OPTION_LANGUAGE_XH=Xhosa
FORM_OPTION_LANGUAGE_YO=Yorouba
FORM_OPTION_LANGUAGE_ZH=Chinois
FORM_OPTION_LANGUAGE_ZU=Zoulou
FORM_LABEL_EXACT_NAME_MATCH=Occurrence exacte
FORM_LABEL_CASE_SENSITIVE_MATCH=Distinction maj/min
FORM_LABEL_SOUNDEX=Imitation du son
FORM_LABEL_IDENTIFIERS=Identificateurs
FORM_LABEL_IDENTIFIER_TYPE=Type

# Do not translate the two items below.
FORM_OPTION_IDENTIFIER_DUNS=D-U-N-S
FORM_OPTION_IDENTIFIER_THOMAS_REGISTRY=Registre Thomas

FORM_LABEL_KEY_NAME=Nom de cl\u00e9
FORM_LABEL_KEY_VALUE=Valeur de cl\u00e9
FORM_LABEL_CATEGORIES=Cat\u00e9gories
FORM_LABEL_CATEGORY_TYPE=Type
FORM_OPTION_CATEGORY_NAICS=NAICS
FORM_OPTION_CATEGORY_UNSPSC_73=UNSPSC 7.3
FORM_OPTION_CATEGORY_GEO=GEO
FORM_OPTION_CATEGORY_DWCOMMUNITY=Communaut\u00e9 dW
FORM_LABEL_BUSINESS_CATEGORIES=Comparer avec :
FORM_OPTION_BUSINESSES_ONLY=M\u00e9tiers uniquement
FORM_OPTION_SERVICES_ONLY=Services uniquement
FORM_OPTION_BOTH=M\u00e9tiers et services
FORM_LABEL_DISCOVERYURLS=URL de recherche
FORM_LABEL_DISCOVERYURL=URL de recherche
FORM_LABEL_FINDQUALIFIERS=Rechercher les qualificatifs
FORM_LABEL_COMBINE_KEYS=Combiner les cl\u00e9s :
FORM_OPTION_ANDALLKEYS=Et
FORM_OPTION_ORALLKEYS=Ou
FORM_OPTION_ORLIKEKEYS=Ou comme
FORM_LABEL_SORT_BY_NAME=Trier par nom :
FORM_RADIO_SORT_ASC=Ordre croissant
FORM_RADIO_SORT_DESC=Ordre d\u00e9croissant
FORM_LABEL_SORT_BY_DATE=Trier par date :
FORM_LABEL_MAX_SEARCH_SET=Taille maximale de l'ensemble recherch\u00e9 :
FORM_LABEL_MAX_RESULTS=Nombre maximal de r\u00e9sultats :
FORM_LABEL_FIND_SERVICES_SIMPLE_DESC=Indiquez le nom partiel ou complet d'un service \u00e0 rechercher. Vous pouvez utiliser le symbole '%' comme caract\u00e8re g\u00e9n\u00e9rique pour remplacer un caract\u00e8re. Pour lancer la recherche, cliquez sur <strong>OK</strong>.
FORM_LABEL_FIND_SERVICE_UUID_DESC=Indiquez l'UUID du service \u00e0 rechercher. Pour lancer la recherche, cliquez sur <strong>OK</strong>.
FORM_LABEL_FIND_SERVICE_INTERFACES_SIMPLE_DESC=Indiquez le nom partiel ou complet d'une interface de service \u00e0 rechercher. Vous pouvez utiliser le symbole '%' comme caract\u00e8re g\u00e9n\u00e9rique pour remplacer un caract\u00e8re. Pour lancer la recherche, cliquez sur <strong>OK</strong>.
FORM_LABEL_FIND_SERVICE_INTERFACE_UUID_DESC=Indiquez l'UUID de l'interface de service \u00e0 rechercher. Pour lancer la recherche, cliquez sur <strong>OK</strong>.
FORM_LABEL_SERVICE_INTERFACES=Interfaces de service
FORM_LABEL_UUID_KEY=Cl\u00e9 de l'UUID :
FORM_LABEL_USE_SERVICE=Utiliser le service
FORM_LABEL_SERVICE=Service
FORM_LABEL_BUSINESS=M\u00e9tier
FORM_LABEL_PUBLISH_ASSERTIONS=Relations commerciales
FORM_LABEL_DIRECTION=Sens
FORM_LABEL_FROM_KEY=A partir de la cl\u00e9
FORM_LABEL_TO_KEY=Vers la cl\u00e9
FORM_LABEL_STATUS=Statut
FORM_LABEL_ASSERTION_TYPE=Type de relation
FORM_OPTION_ASSERTION_TYPE_PARENT_CHILD=Parent-enfant
FORM_OPTION_ASSERTION_TYPE_PEER_TO_PEER=Egal-\u00e9gal
FORM_OPTION_ASSERTION_TYPE_IDENTITY=Identit\u00e9
FORM_LABEL_ASSERTION_DIRETION_DESC=Le sens <strong>A partir de</strong> cr\u00e9era une relation commerciale \u00e0 partir de ce m\u00e9tier vers les m\u00e9tiers situ\u00e9s au-dessus. Le sens <strong>Vers</strong> cr\u00e9era une relation commerciale \u00e0 partir des m\u00e9tiers au-dessus vers ce m\u00e9tier.
FORM_OPTION_ASSERTION_DIRECTION_FROM=--->
FORM_OPTION_ASSERTION_DIRECTION_TO=<---
FORM_LABEL_THIS_BUSINESS=Ce m\u00e9tier
MSG_ERROR_INVALID_QUERY_NAME=IWAB0140E Indiquez un nom valide pour la requ\u00eate.
MSG_ERROR_INVALID_NAMES=IWAB0141E Indiquez une s\u00e9rie de noms valides.
MSG_ERROR_INVALID_PUBLISH_URL=IWAB0142E Indiquez une URL de publication valide.
MSG_ERROR_INVALID_USERID=IWAB0143E Indiquez un ID utilisateur valide.
MSG_ERROR_INVALID_MAX_SEARCH_SET=IWAB0145E Indiquez une taille valide pour la taille maximale de l'ensemble recherch\u00e9.
MSG_ERROR_INVALID_MAX_RESULTS=IWAB0146E Indiquez une taille valide pour le nombre maximal de r\u00e9sultats.
MSG_INFO_BUSINESSES_FOUND=IWAB0147I Nombre de m\u00e9tiers trouv\u00e9s : %1
MSG_ERROR_NO_BUSINESSES_FOUND=IWAB0148E Aucun m\u00e9tier n'a \u00e9t\u00e9 trouv\u00e9.
MSG_INFO_SERVICES_FOUND=IWAB0149I Nombre de services trouv\u00e9s : %1
MSG_ERROR_NO_SERVICES_FOUND=IWAB0150E Aucun service n'a \u00e9t\u00e9 trouv\u00e9.
MSG_ERROR_SINGLE_ITEM=IWAB0151E S\u00e9lectionnez un seul \u00e9l\u00e9ment.
MSG_QUESTION_ITEM_REPLACEMENT=La s\u00e9lection remplacera un \u00e9l\u00e9ment figurant d\u00e9j\u00e0 dans la cible. Voulez-vous continuer ?
MSG_INFO_SERVICE_INTERFACES_FOUND=IWAB0152I Nombre d'interfaces de service trouv\u00e9es : %1
MSG_ERROR_NO_SERVICE_INTERFACES_FOUND=IWAB0153E Aucune interface de service n'a \u00e9t\u00e9 trouv\u00e9e.
MSG_ERROR_NOTHING_SELECTED=IWAB0154E S\u00e9lectionnez au moins un \u00e9l\u00e9ment.
MSG_ERROR_INVALID_UUID_KEY=IWAB0155E Indiquez une cl\u00e9 d'UUID valide.
MSG_ERROR_QUERY_NAME_CONFLICT=IWAB0156E Le nom de requ\u00eate de la sous-requ\u00eate ne peut pas \u00eatre identique \u00e0 celui de son auteur.
MSG_ERROR_NO_ITEMS_TO_GET=IWAB0157E Aucun \u00e9l\u00e9ment du type indiqu\u00e9 n'a encore \u00e9t\u00e9 publi\u00e9 ouhe's a recherch\u00e9.

# Results
ALT_QUERY_RESULTS=R\u00e9sultats de la requ\u00eate
FORM_LABEL_SUBQUERY=Les r\u00e9sultats peuvent \u00eatre utilis\u00e9s comme entr\u00e9es pour une autre op\u00e9ration. Pour afficher l'op\u00e9ration, cliquez sur le lien <strong>cible</strong> en haut. Les r\u00e9sultats s\u00e9lectionn\u00e9s peuvent \u00eatre utilis\u00e9s dans l'op\u00e9ration en cliquant sur le bouton <strong>Transf\u00e9rer</strong>.
FORM_LABEL_QUERY=S\u00e9lectionnez un r\u00e9sultat pour afficher ses d\u00e9tails ou s\u00e9lectionnez un ensemble de r\u00e9sultats et cliquez sur un bouton pour effectuer une op\u00e9ration.
FORM_LINK_TARGET=cible
FORM_BUTTON_TRANSFER=Transf\u00e9rer
FORM_BUTTON_REFRESH=R\u00e9g\u00e9n\u00e9ration
FORM_BUTTON_ADD_TO_FAVORITES=Ajouter aux favoris
FORM_BUTTON_UNPUBLISH=Annuler la publication
FORM_BUTTON_CLEAR=Effacer

# Publish actions
ALT_PUBLISH=Publier
FORM_LABEL_PUBLISH=Publier :
FORM_OPTION_BUSINESS=M\u00e9tier
FORM_OPTION_SERVICE=Service
FORM_OPTION_SERVICE_INTERFACE=Interface de service
FORM_LABEL_PUBLISH_BUSINESS_SIMPLE_DESC=Indiquez un nom et une description \u00e9ventuelle pour le m\u00e9tier \u00e0 publier. Vous devrez peut-\u00eatre vous authentifier.
FORM_LABEL_PUBLISH_BUSINESS_ADVANCED_DESC=Indiquez un nom pour le m\u00e9tier \u00e0 publier. Vous pouvez aussi indiquer d'autres param\u00e8tres. Vous devrez peut-\u00eatre vous authentifier.
FORM_LABEL_PUBLISH_SERVICE_SIMPLE_DESC=Extrayez ou recherchez un m\u00e9tier puis indiquez l'URL WSDL, un nom et une description \u00e9ventuelle pour le service \u00e0 publier. Vous devrez peut-\u00eatre vous authentifier.
FORM_LABEL_PUBLISH_SERVICE_ADVANCED_DESC=Extrayez ou recherchez un m\u00e9tier puis indiquez l'URL WSDL et un nom pour le service \u00e0 publier. Vous pouvez aussi indiquer d'autres param\u00e8tres. Vous devrez peut-\u00eatre vous authentifier.
FORM_LABEL_BUSINESS_PUBLISH_SERVICE_SIMPLE_DESC=Extrayez ou recherchez un m\u00e9tier puis indiquez l'URL WSDL, un nom et une description \u00e9ventuelle pour le service \u00e0 publier. Vous devrez peut-\u00eatre vous authentifier.
FORM_LABEL_BUSINESS_PUBLISH_SERVICE_ADVANCED_DESC=Indiquez l'URL WSDL et le nom du service \u00e0 publier. Vous pouvez aussi indiquer d'autres param\u00e8tres. Vous devrez peut-\u00eatre vous authentifier.
FORM_LABEL_PUBLISH_SERVICE_INTERFACE_SIMPLE_DESC=Indiquez l'URL WSDL, le nom et la description \u00e9ventuelle de l'interface de service \u00e0 publier. Vous devrez peut-\u00eatre vous authentifier.
FORM_LABEL_PUBLISH_SERVICE_INTERFACE_ADVANCED_DESC=Indiquez l'URL WSDL et le nom de l'interface de service \u00e0 publier. Vous pouvez aussi indiquer d'autres param\u00e8tres. Vous devrez peut-\u00eatre vous authentifier.
FORM_LABEL_PUBLISH_FORM=Format de publication
FORM_LABEL_DESCRIPTION=Description
FORM_LABEL_DESCRIPTIONS=Descriptions
MSG_INFO_BUSINESS_PUBLISHED=IWAB0158I Le m\u00e9tier %1 a \u00e9t\u00e9 publi\u00e9.
MSG_INFO_SERVICE_PUBLISHED=IWAB0159I Le service %1 a \u00e9t\u00e9 publi\u00e9.
MSG_INFO_SERVICE_INTERFACE_PUBLISHED=IWAB0160I L'interface de service %1 a \u00e9t\u00e9 publi\u00e9e.
MSG_ERROR_INVALID_NAME=IWAB0161E Indiquez un nom valide.
MSG_ERROR_ROW_BLANK_LANGUAGE=IWAB0250E S\u00e9lectionnez une langue sous la forme d'autres caract\u00e8res que des caract\u00e8res blancs pour le %1 de la ligne %2. Seule la premi\u00e8re ligne peut contenir une langue sous la forme de caract\u00e8res blancs.
MSG_ERROR_ROW_DUPLICATE_LANGUAGE=IWAB0251E Changez la langue pour le %1 de la ligne %2. Celle-ci est d\u00e9j\u00e0 utilis\u00e9e.
MSG_ERROR_ROW_INVALID_TEXT=IWAB0252E Indiquez un %1 valide \u00e0 la ligne %2
MSG_ERROR_INVALID_WSDL_URL=IWAB0253E Indiquez une URL WSDL valide.
MSG_ERROR_NO_NAMES=IWAB0254E Ajoutez au moins un nom.
MSG_ERROR_INVALID_SERVICE=IWAB0255E Indiquez un service valide.
MSG_ERROR_INVALID_BUSINESS=IWAB0256E Indiquez un m\u00e9tier valide.

# Business Publish Service action
ALT_PUBLISH_SERVICE=Publier un service

# WSDL Browser
TITLE_WSDL_BROWSER=Navigateur de WSDL - %1
FORM_LABEL_WSDL_SOURCE=S\u00e9lectionnez la source WSDL :
FORM_LABEL_WSDL_SOURCE_WEBPROJECTS=Projets Web
FORM_LABEL_WSDL_SOURCE_FAVORITES=Favoris
FORM_LABEL_WEB_PROJECT=Projet Web
FORM_LABEL_WSDL_URL=URL WSDL
ALT_WSDL_BROWSER=Navigateur WSDL

# Details
FORM_LINK_EDIT=Editer
FORM_LINK_CANCEL=Annuler
FORM_LABEL_BUSINESS_KEY=Cl\u00e9 du m\u00e9tier
FORM_LABEL_SERVICE_KEY=Cl\u00e9 du service
FORM_LABEL_SERVICE_INTERFACE_KEY=Cl\u00e9 TModel
FORM_LABEL_USER_DEFINED_CATEGORIES=Cat\u00e9gories d\u00e9finies par l'utilisateur
FORM_LABEL_CHECKED=Contr\u00f4l\u00e9e
FORM_LABEL_FILE=Fichier
MSG_QUESTION_PUBLISH_ITEM=L'\u00e9l\u00e9ment est introuvable dans le registre. Voulez-vous le publier ?
MSG_QUESTION_SERVICE_PUBLISH_BUSINESS=Le service et son m\u00e9tier sont introuvables dans le registre. Voulez-vous continuer pour publier ?
MSG_INFO_BUSINESS_UPDATED=IWAB0257I Le m\u00e9tier %1 a \u00e9t\u00e9 mis \u00e0 jour.
MSG_INFO_SERVICE_UPDATED=IWAB0258I Le service %1 a \u00e9t\u00e9 mis \u00e0 jour.
MSG_INFO_SERVICE_INTERFACE_UPDATED=IWAB0259I L'interface de service %1 a \u00e9t\u00e9 mise \u00e0 jour.
MSG_INFO_REGISTRY_UPDATED=IWAB0323I Le registre %1 a \u00e9t\u00e9 mis \u00e0 jour.

# UnpublishAction
ALT_UNPUBLISH_BUSINESS=Annuler la publication du m\u00e9tier
ALT_UNPUBLISH_SERVICE=Annuler la publication du service
ALT_UNPUBLISH_SERVICE_INTERFACE=Annuler la publication de l'interface de service
FORM_LABEL_UNPUBLISH_DESC=Pour annuler la publication de cet objet, cliquez sur <strong>OK</strong>. Vous devrez peut-\u00eatre vous authentifier.
MSG_INFO_BUSINESS_UNPUBLISHED=IWAB0260I La publication du m\u00e9tier %1 a \u00e9t\u00e9 annul\u00e9e.
MSG_INFO_SERVICE_UNPUBLISHED=IWAB0261I La publication du service %1  a \u00e9t\u00e9 annul\u00e9e.
MSG_INFO_SERVICE_INTERFACE_UNPUBLISHED=IWAB0262I La publication de l'interface de service %1 a \u00e9t\u00e9 annul\u00e9e.

# Add to WSDL Perspective
ALT_ADD_TO_WSDL_PERSPECTIVE=Ajouter \u00e0 la page WSDL
MSG_INFO_WSDL_ADDED_TO_WSDL_PERSPECTIVE=IWAB0376I %1 a \u00e9t\u00e9 ajout\u00e9 \u00e0 la page WSDL.
MSG_ERROR_WSDL_NOT_ADDED_TO_WSDL_PERSPECTIVE=IWAB0377E %1 n'a pas pu \u00eatre ajout\u00e9 \u00e0 la page WSDL.

# Add to Favorites
ALT_ADD_TO_FAVORITES=Ajouter aux favoris
MSG_INFO_FAVORITE_ADDED=IWAB0263I %1 a \u00e9t\u00e9 ajout\u00e9 aux favoris.
MSG_ERROR_FAVORITE_NOT_ADDED=IWAB0264E %1 n'a pas pu \u00eatre ajout\u00e9 aux favoris.
MSG_ERROR_FAVORITE_ALREADY_EXISTS=IWAB0324E %1 figure d\u00e9j\u00e0 dans les favoris.
MSG_QUESTION_OVERWRITE_FAVORITES=Le favori existe d\u00e9j\u00e0.  Voulez-vous le remplacer ?

# Refresh
MSG_INFO_NODE_REFRESHED=IWAB0265I %1 actualis\u00e9.
MSG_QUESTION_REMOVE_NODE=%1 est introuvable dans le registre. Voulez-vous l'effacer ?

# ManageReferencedServices
ALT_MANAGE_REFERENCED_SERVICES=G\u00e9rer les services r\u00e9f\u00e9renc\u00e9s
FORM_LABEL_MANAGE_REFERENCED_SERVICES_DESC=Ajoutez des services recherch\u00e9s ou publi\u00e9s \u00e0 la liste des services r\u00e9f\u00e9renc\u00e9s en cliquant sur le bouton <strong>Ajouter des services</strong>. Supprimez les r\u00e9f\u00e9rences s\u00e9lectionn\u00e9es en cliquant sur le bouton <strong>Supprimer des r\u00e9f\u00e9rences</strong>. Une authentification peut \u00eatre requise pour les modifications.
FORM_LABEL_REFERENCED_SERVICES=Services r\u00e9f\u00e9renc\u00e9s
FORM_BUTTON_ADD_SERVICES=Ajouter des services
FORM_BUTTON_REMOVE_REFERENCES=Supprimer des r\u00e9f\u00e9rences
MSG_ERROR_NO_REFERENCE_SELECTED=IWAB0266E S\u00e9lectionnez au moins un service r\u00e9f\u00e9renc\u00e9 avant de continuer.
MSG_ERROR_NO_SERVICES=IWAB0267E Extrayez ou recherchez au moins un service avant de continuer.
MSG_ERROR_SERVICE_NOT_REFERENCED=IWAB0268E Le service %1 n'a pas pu \u00eatre r\u00e9f\u00e9renc\u00e9.
MSG_ERROR_REFERENCE_NOT_REMOVED=IWAB0269E La r\u00e9f\u00e9rence de service %1 n'a pas pu \u00eatre supprim\u00e9e.
MSG_INFO_SERVICE_REFERENCED=IWAB0270I Le service %1 a \u00e9t\u00e9 r\u00e9f\u00e9renc\u00e9.
MSG_INFO_SERVICE_REFERENCE_REMOVED=IWAB0271I La r\u00e9f\u00e9rence de service %1 a \u00e9t\u00e9 supprim\u00e9e.

# ManagePublisherAssertions
ALT_MANAGE_PUBLISHER_ASSERTIONS=G\u00e9rer les relations commerciales
FORM_LABEL_MANAGE_PUBLISHER_ASSERTIONS_DESC=Ajoutez des m\u00e9tiers recherch\u00e9s ou publi\u00e9s \u00e0 la liste des relations commerciales en cliquant sur <strong>Ajouter des relations</strong>. Supprimez les relations s\u00e9lectionn\u00e9es en cliquant sur <strong>Supprimer des relations</strong>. Compl\u00e9tez les relations s\u00e9lectionn\u00e9es en cliquant sur <strong>Compl\u00e9ter des relations</strong>. Cliquez sur <strong>Actualiser les relations</strong> pour r\u00e9g\u00e9n\u00e9rer la liste des relations.
FORM_LABEL_INCOMPLETE_ASSERTIONS_VISIBILITY_DESC=Les relations commerciales incompl\u00e8tes ne sont visibles que par le propri\u00e9taire du m\u00e9tier.
FORM_LABEL_BUSINESSES=M\u00e9tiers
FORM_BUTTON_SHOW_ALL_PUBLISHER_ASSERTIONS=Actualiser les relations
FORM_BUTTON_COMPLETE_PUBLISHER_ASSERTIONS=Compl\u00e9ter les relations
FORM_BUTTON_ADD_PUBLISHER_ASSERTIONS=Ajouter des relations
FORM_BUTTON_REMOVE_PUBLISHER_ASSERTIONS=Supprimer des relations
MSG_INFO_PUBLISHER_ASSERTIONS_REFRESHED=IWAB0325I Les relations commerciales ont \u00e9t\u00e9 actualis\u00e9es.
MSG_ERROR_NO_INCOMPLETE_ASSERTION_SELECTED=IWAB0326E S\u00e9lectionnez au moins une relation commerciale incompl\u00e8te.
MSG_ERROR_NOT_OWNED_BUSINESS=IWAB0327E Cette op\u00e9ration ne peut pas \u00eatre effectu\u00e9e sur un m\u00e9tier appartenant \u00e0 une autre partie.

# GetBusinesses
ALT_GET_BUSINESS=Extraire un m\u00e9tier
ALT_GET_BUSINESSES=Extraire des m\u00e9tiers
NODE_NAME_SERVICE_BUSINESS=M\u00e9tier pour le service %1
NODE_NAME_SI_BUSINESSES=M\u00e9tiers pour l'interface de service %1
MSG_QUESTION_REMOVE_SERVICE_NODE=Le service est introuvable dans le registre. Voulez-vous supprimer ce noeud ?

# GetServiceInterfaces
ALT_GET_SERVICE_INTERFACES=Extraire des interfaces de service
NODE_NAME_SERVICE_SERVICE_INTERFACES=Interfaces de service pour le service %1
MSG_QUESTION_GET_SI_REMOVE_SERVICE_NODE=Le service est introuvable dans le registre. Voulez-vous supprimer ce noeud ?

# GetServices
ALT_GET_SERVICES=Extraire des services
NODE_NAME_SI_SERVICES=Services pour l'interface de service %1
NODE_NAME_BUSINESS_SERVICES=Services pour le m\u00e9tier %1
MSG_QUESTION_REMOVE_SI_NODE=L'interface de service est introuvable dans le registre. Voulez-vous supprimer ce noeud ?
MSG_QUESTION_REMOVE_BUSINESS_NODE=Le m\u00e9tier est introuvable dans le registre. Voulez-vous supprimer ce noeud ?

# RefreshUDDINodesAction
MSG_ERROR_NODE_DATA_VALIDATION_FAILED=IWAB0272E %1 est introuvable dans le registre.

# Summaries
ALT_SUMMARY_QUERIES=R\u00e9capitulatif des requ\u00eates
ALT_SUMMARY_BUSINESSES=R\u00e9capitulatif des m\u00e9tiers
ALT_SUMMARY_SERVICES=R\u00e9capitulatif des services
ALT_SUMMARY_SERVICE_INTERFACES=R\u00e9capitulatif des interfaces de service
FORM_LABEL_QUERIES=Requ\u00eates

# SelectSubQueryItemAction
MSG_QUESTION_ITEM_VALIDATION_FAILED=%1 est introuvable dans le registre. Voulez-vous le supprimer ?

# 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_TOOLBAR=Barre d'outils des propri\u00e9t\u00e9s
FRAME_TITLE_PROPERTIES_CONTENT=Contenu des propri\u00e9t\u00e9s
FRAME_TITLE_STATUS_CONTAINER=Conteneur de statuts
FRAME_TITLE_STATUS_TOOLBAR=Barre d'outils des statuts
FRAME_TITLE_STATUS_CONTENT=Contenu des statuts
FRAME_TITLE_UDDI_PERSPECTIVE_CONTENT=Contenu des pages UDDI
FRAME_TITLE_CATEGORIES_WORKAREA=Cat\u00e9gories - Zone de travail
FRAME_TITLE_CATEGORIES_TOOLBAR=Cat\u00e9gories - Barre d'outils
FRAME_TITLE_CATEGORIES_CONTENT=Cat\u00e9gories - Contenu
FRAME_TITLE_WSDL_TOOLBAR=Barre d'outils du navigateur WSDL
FRAME_TITLE_WSDL_CONTENT=Contenu du navigateur WSDL

# Form titles
FORM_TITLE_BUSINESS_DETAILS=Formulaire Informations sur le m\u00e9tier
FORM_TITLE_BUSINESS_PUBLISH_SERVICE=Formulaire Service de publication du m\u00e9tier
FORM_TITLE_GET_FORM=Effectuez votre s\u00e9lection dans les objets recherch\u00e9s et publi\u00e9s
FORM_TITLE_ITEMS_SUMMARY=Formulaire R\u00e9capitulatif des \u00e9l\u00e9ments
FORM_TITLE_MANAGE_PUBLISHER_ASSERTIONS=Formulaire Gestion des relations commerciales
FORM_TITLE_MANAGE_REFERENCED_SERVICES=Formulaire Gestion des services r\u00e9f\u00e9renc\u00e9s
FORM_TITLE_OPEN_REGISTRY=Formulaire Ouverture du registre
FORM_TITLE_REGISTRY_DETAILS=Formulaire Informations sur le registre
FORM_TITLE_REGISTRY_PUBLISH=Formulaire Publication du registre
FORM_TITLE_REGISTRY_FIND=Formulaire Recherche du registre
FORM_TITLE_RESULTS=Formulaire R\u00e9sultats
FORM_TITLE_SERVICE_DETAILS=Formulaire Informations sur le service
FORM_TITLE_SERVICE_INTERFACE_DETAILS=Formulaire Informations sur l'interface de service
FORM_TITLE_UNPUBLISH=Formulaire Annulation de la publication
