###############################################################################
# Copyright (c) 2000, 2016 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
###############################################################################
error.CouldNotLoadResources = Unable to load resources
window.title = SWT Controls
custom.window.title = SWT Custom Controls

Text_Buttons		= Text Buttons
Size 				= Size
Alignment			= Alignment
Left				= Left
Right				= Right
Up					= Up
Down				= Down
Center				= Center
One					= One
Two					= Two
Three				= Three
Image_Buttons		= Image Buttons
Image_Text_Buttons	= Image and Text Buttons
Control_Example		= Control Example
Parameters			= Parameters
Other				= Other
Enabled				= Enabled
Visible				= Visible
BackgroundColor		= Background Color
BackgroundImage		= Background Image
PopupMenu			= Popup Menu
Preferred 			= Preferred
Styles	 			= Styles
Menu_Styles	 		= Menu Styles
MenuItem_Styles	 	= MenuItem Styles
Background_Mode		= Background Mode on Parent
Listeners			= Listeners
Select_Listeners	= Select Listeners
Listen				= Listen
UntypedEvents		= Untyped Events
Edit_Event			= Edit Event
Edit_Event_Fields	= On {0}, return the following:
Returning			= <- Returning: 
Clear				= Clear
Set_Get				= Set/Get API
Parameter_Info		= {0}   e.g. {1} 
Info_int			= 4
Info_intA			= 0,1,2
Info_long			= 4
Info_longA			= 0,1,2
Info_char			= c
Info_charA			= a,b,c
Info_boolean		= true
Info_booleanA		= true,true,false
Info_String			= hello
Info_StringA		= hello,there
Info_Point			= 0,0
Info_Rectangle		= 0,0,20,10
Info_TabItem		= Tab 0
Info_TabItemA		= Tab 0,Tab 2
Info_TableItem		= Index:2
Info_TableItemA		= Index:2,Index:4
Info_TreeItem		= Node 1
Info_TreeItemA		= Node 1,Node 3
Select_All			= Select All
Deselect_All		= Deselect All
OK					= OK
FillDamage			= Fill Damaged Area With Color
Title_Text			= Title Text
Text_Labels			= Text Labels
Image_Labels		= Image Labels
Custom_Labels		= Custom Labels
Custom_Combo		= Custom Combo
One_Two_Three		= One Two Three
Text_ToolBar 		= Text ToolBar
Image_ToolBar 		= Image ToolBar
ImageText_ToolBar	= Image and Text ToolBar
Maximum				= Maximum
Minimum				= Minimum
Selection			= Selection
Increment			= Increment
Page_Increment		= Page Increment
Thumb				= Thumb
Digits				= Digits
Tree_With_Images	= Tree With Images
Dialog_Type			= Dialog Type
Create_Dialog		= Create Dialog
Button_Styles		= MessageBox Button Styles
Icon_Styles			= MessageBox Icon Styles
Modal_Styles		= Modal Styles
File_Dialog_Styles	= FileDialog Styles
Item_Styles			= Item Styles
Dialog_Result		= Dialog Result
Use_Previous_Result = Use Previous Result
ColorDialog			= ColorDialog
DirectoryDialog		= DirectoryDialog
FileDialog			= FileDialog
FontDialog			= FontDialog
PrintDialog			= PrintDialog
MessageBox			= MessageBox
Multi_line			= A multi line text widget.
Example_string		= The quick brown fox jumps over the lazy dog.
Header_Visible		= Header Visible
Sort_Indicator		= Sort Indicator
Header_Images		= Header Images
Sub_Images			= Sub Images
Lines_Visible		= Lines Visible
Moveable_Columns	= Moveable Columns
Resizable_Columns	= Resizable Columns
Multiple_Columns	= Multiple Columns
Locked				= Locked
Combo_child			= Combo Child
Node_1				= Node 1
Node_2				= Node 2
Node_3				= Node 3
Node_4				= Node 4
Node_1_1			= Node 1.1
Node_2_1			= Node 2.1
Node_3_1			= Node 3.1
Node_2_2			= Node 2.2
Node_2_2_1			= Node 2.2.1
Parent				= Parent
No_Parent			= No Parent
Decoration_Styles	= Decoration Styles
Create_Shell		= Create Shell
Close_All_Shells	= Close All Shells
Push				= Push
Radio				= Radio
Check				= Check
Cascade				= Cascade
Drop_Down			= Drop Down
Images_failed		= Warning: Failed to load images
Index				= Index:
Title				= Title:
Close				= Close
Button				= Button
FullScreen			= Full Screen
Result				= Result: {0}
FilterName_0		= Text Files (*.txt)
FilterName_1		= Batch Files (*.bat)
FilterName_2		= Doc Files (*.doc, *.rtf)
FilterName_3		= All Files (*)
TableTitle_0		= Name
TableTitle_1		= Type
TableTitle_2		= Size
TableTitle_3		= Modified
TableLine0_0		= <empty>
TableLine0_1		= classes
TableLine0_2		= 0
TableLine0_3		= today
TableLine1_0		= <empty>
TableLine1_1		= databases
TableLine1_2		= 2556
TableLine1_3		= tomorrow
TableLine2_0		= <empty>
TableLine2_1		= images
TableLine2_2		= 91571
TableLine2_3		= yesterday
ListData0_0			= Line 1
ListData0_1			= Line 2
ListData0_2			= Line 3
ListData0_3			= Line 4
ListData0_4			= Line 5
ListData0_5			= Line 6
ListData0_6			= Line 7
ListData0_7			= Line 8
ListData0_8			= Longest Line In List
ListData1_0			= Apples
ListData1_1			= Oranges
ListData1_2			= Bananas
ListData1_3			= Grapefruit
ListData1_4			= Peaches
ListData1_5			= Kiwi
ListData1_6			= Apricots
ListData1_7			= Strawberries
ListData1_8			= The Longest String
DropDownData_0		= Apples
DropDownData_1		= Oranges
DropDownData_2		=
DropDownData_3		= Grapefruit
DropDownData_4		= Peaches
DropDownData_5		= Kiwi
DropDownData_6		=
DropDownData_7		= Strawberries
DropDownData_8		= The Longest String
Colors 				= Colors and Font
Change				= &Change...
Defaults			= &Defaults
Foreground_Color	= Foreground Color
Background_Color	= Background Color
Font				= Font
Item_Foreground_Color	= Item 0 Foreground Color
Item_Background_Color	= Item 0 Background Color
Item_Font				= Item 0 Font
Cell_Foreground_Color	= Item 0 Col 1 Foreground Color
Cell_Background_Color	= Item 0 Col 1 Background Color
Cell_Font				= Item 0 Col 1 Font
Wrap_Text			= Jack and Jill went up the hill to fetch a pail of water, \
					  Jack fell down and broke his crown and Jill came tumbling after!
Foreground_Style	= Foreground
Background_Style 	= Background
StyledText_Styles	= Text Styles
StyledText_Style_Instructions	= Select text, then style.
Bold				= Bold
Italic				= Italic
Underline			= Underline
Strikeout			= Strikeout
Fill_X				= Horizontal Fill
Fill_Y				= Vertical Fill
Pack_Columns		= Pack Columns
TabItem1_0			= Tab &0
TabItem1_1			= Tab &1
TabItem1_2			= Tab &2
TabItem_content		= TabItem Content
CTabItem1_0			= CTabItem &0
CTabItem1_1			= CTabItem &1
CTabItem1_2			= CTabItem &2 has a long name
CItem_Colors		= CTabItem Colors
CTabItem_content	= CTabItem Content
Set_Simple_Tabs		= Simple Tabs
Set_Single_Tabs		= Single Tab
Set_Min_Visible     = Minimize
Set_Max_Visible     = Maximize
Set_Unselected_Close_Visible = Close on Unselected Tabs
Set_Unselected_Image_Visible = Image on Unselected Tabs
Selection_Foreground_Color = Selection Foreground Color
Selection_Background_Color = Selection Background Color
Set_Image			= Set Image
Set_Top_Right		= Set Top Right
Top_Right_Styles	= Top Right Styles
TableTree_column	= Column
MenuItem_Cut		= Cu&t	Ctrl+X
MenuItem_Copy		= &Copy	Ctrl+C
MenuItem_Paste		= &Paste	Ctrl+V
MenuItem_SelectAll	= Select &All	Ctrl+A
Orientation 		= Orientation
Text_Direction	 	= Text Direction
Default 			= Default (Inherit)
Images				= Images
Accelerators		= Accelerators
Mnemonics			= Mnemonics
SubMenu				= Sub-Menu
SubSubMenu			= Sub-Sub-Menu
Show_Tooltip		= Tooltip
1Radio				= Radio1
2Radio				= Radio2
1RadioWithMnemonic	= Radio&1
2RadioWithMnemonic	= Radio&2
PushWithMnemonic	= &Push
RadioWithMnemonic	= &Radio
CheckWithMnemonic	= &Check
CascadeWithMnemonic	= C&ascade
PopupMenuHere		= Popup Menu Here
LinkText=Visit the <A HREF=\"www.eclipse.org\">Eclipse.org</A> project and the <A HREF=\"www.eclipse.org\\swt">SWT</A> homepage.
Tooltip				= Tooltip:  {0}
Item1_Text			= What is your favorite button?
Item2_Text			= What is your favorite icon?
ToolTip_Title		= Foxes vs. Dogs
No_Icon				= No Icon
Show_In_Tray		= Show In Tray
BrowserNotFound		= Browser not found:  {0}
MozillaNotFound		= Cannot use SWT.MOZILLA style:  {0}\nSee http://www.eclipse.org/swt/faq.php#howusemozilla for more information.
WebKitNotFound		= Cannot use SWT.WEBKIT style:  {0}\nSee http://www.eclipse.org/swt/faq.php#howusewebkit for more information.
ColorTitle_0		= Name
ColorTitle_1		= Type
ColorTitle_2		= RGB
ColorTitle_3		= Color