###############################################################################
# Copyright (c) 2000, 2008 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
###############################################################################
# NLS file for JFace Data Binding
###############################################################################
## Uneeded value
#
#Yes=Yes
#yes=yes
#No=No
#no=no
#True=True
#true=true
#False=False
#false=false
#and=and
#or=or
#Validate_BooleanHelp=Please type "Yes", "No", "True", or "False"
#
#Validate_RangeStart=Please enter a number between
#Validate_Like=Please enter a number like
#
###############

IndexOutOfRange=Index out of Range.
MultipleProblems=Multiple Problems.

ValueBinding_ErrorWhileSettingValue=An error occurred while setting the value.
DateFormat_DateTime=dd.MM.yyyy HH:mm:ss.SSS Z
DateFormat_Time=HH:mm:ss.SSS

#ValueDelimiter should be used to separate multiple values that are stored in one key
ValueDelimiter=,

#Values must be separated by ValueDelimiter
TrueStringValues=yes,true
FalseStringValues=no,false

Validate_NumberOutOfRangeError=Please enter a value between [{0}] and [{1}] and with a similar format.
Validate_NumberParseError=Invalid character for value [{0}] at position [{1}] character [{2}].
Validate_NumberParseErrorNoCharacter=Missing character for value [{0}] at position [{1}].

Validate_ConversionToPrimitive="Null object values can not be converted to primitives."
Validate_ConversionFromClassToPrimitive="Wrong object type to convert to primitive."

Validate_NoChangeAllowedHelp=Changes are not allowed in this field
Validate_CharacterHelp=Please type a character

Examples=Examples