#
# Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Distribution License v. 1.0, which is available at
# http://www.eclipse.org/org/documents/edl-v10.php.
#
# SPDX-License-Identifier: BSD-3-Clause
#


METHOD_COLLISION = La m\u00e9thode "{0}" est d\u00e9finie \u00e0 la fois sur "{1}" et "{2}", et elle entra\u00eene une collision

# {0} - enumeration constant value (but something that couldn't be translated to a valid java identifier e.g. starting special character, number, ..)    e.g. Cannot derive a valid Java identifier from "5.6.0". Specify a customization to change the name.
ERR_UNUSABLE_NAME = Impossible de d\u00e9river un identificateur Java valide de "{0}". Indiquez une personnalisation pour modifier le nom.

ERR_KEYNAME_COLLISION = Le type complexe et son \u00e9l\u00e9ment enfant portent le m\u00eame nom "{0}". Utilisez une personnalisation de classe pour r\u00e9soudre ce conflit.

ERR_NAME_COLLISION = L''\u00e9num\u00e9ration Typesafe comporte plusieurs valeurs portant le m\u00eame nom "{0}". Utilisez une personnalisation typesafeEnumMemberName pour r\u00e9soudre ce conflit.

ILLEGAL_CONSTRUCTOR_PARAM = Param\u00e8tre de constructeur {0} interdit

OBJECT_FACTORY_CONFLICT = Deux d\u00e9clarations entra\u00eenent une collision dans la classe ObjectFactory.

OBJECT_FACTORY_CONFLICT_RELATED = (voir erreur ci-dessus) Il s'agit de l'autre d\u00e9claration.   
