###############################################################################
# Copyright (c) 2000, 2003 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
###############################################################################
Alberta=Alberta
British_Columbia=British Columbia
City=City
Manitoba=Manitoba
New_Brunswick=New Brunswick
Newfoundland=Newfoundland
North_West_Territories=North West Territories
Nova_Scotia=Nova Scotia
Nunavut=Nunavut
Ontario=Ontario
PostalCode=PostalCode
Prince_Edward_Island=Prince Edward Island
Province=Province
Quebec=Quebec
Saskatchewan=Saskatchewan
Street=Street
Yukon=Yukon
_is_an_invalid_format_for_a_postal_code={0} is an invalid format for a postal code
postal_code_is_incomplete=postal code is incomplete
unspecified_city=unspecified city
April=April
August=August
December=December
February=February
January=January
July=July
June=June
March=March
May=May
November=November
October=October
September=September
day=day
month=month
year=year
domain=domain
emailaddress_cannot_be_set_to_null=emailaddress cannot be set to null
invalid_email_address_format_should_have_been_validated=invalid email address format, should have been validated
unknownDomain=unknownDomain
unknownUser=unknownUser
userid=userid
email_address_does_not_have_a_valid_format=email address does not have a valid format
email_address_is_incomplete=email address is incomplete
FirstName=FirstName
LastName=LastName
Middle=Middle
name=name
apt.no_or_box.no=apt.no or box.no
building_number=building number
street=street
unspecified=unspecified
Editor_instructions=Click on the items in the content outline\nto see their properties
address=address
birthday=birthday
contact=contact
coop_student=coop student
email=email
eyecolor=eyecolor
false=false
fullname=fullname
haircolor=haircolor
personal=personal
personel=personel
phonenumber=phonenumber
salary=salary
salary_is_invalid=salary is invalid
salary_must_be_greator_than_zero=salary must be greator than zero
true=true
A1B2C3=A1B2C3
Arnold_Palmer=Arnold Palmer
Champlain=Champlain
Company_Inc=Company Inc.
Everybody=Everybody
George_Knudson=George Knudson
Grimsby_Lab=Grimsby Lab
Hamilton_Lab=Hamilton Lab
Hull=Hull
Jack_Nicklaus=Jack Nicklaus
Lee_Trevino=Lee Trevino
London_Lab=London Lab
Ottawa=Ottawa
Richard_Zokol=Richard Zokol
Team1=Team1
Tiger_Woods=Tiger Woods
Toronto=Toronto
Toronto_Lab=Toronto Lab
Waterloo_Lab=Waterloo Lab
Weslock=Weslock
apalmer@company.com=apalmer@company.com
gknudson@company.com=gknudson@company.com
jnicklaus@company.com=jnicklaus@company.com
ltrevino@company.com=ltrevino@company.com
rzokol@company.com=rzokol@company.com
twoods@company.com=twoods@company.com
weslock@company.com=weslock@company.com
Popup_Menu_Action_executed=Popup Menu Action executed
Property_Sheet_Example=Property Sheet Example

