###############################################################################
# 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 Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
error.CouldNotLoadResources = Unable to load resources
window.title = SWT Browser

Back				= Back
BrowserNotCreated	= Error - The Browser widget could not be instantiated. Please check the Browser widget is supported on this platform. Supported platforms and software requirements for the Browser widget are listed on the SWT FAQ web page.
Forward				= Forward
Stop				= Stop
Refresh				= Refresh
Go					= Go
Startup				= http://www.eclipse.org
