###############################################################################
# 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
###############################################################################
Two					= \u05e9\u05Ea\u05d9\u05d9\u05dd Two...
Three				= Three...
One_Two_Three		= \u05d0\u05d7\u05d3 One Two Three...
Multi_line			= \u05d4\u05d9!!! A multi line text widget...
Example_string		= \u05d4\u05d9!!! The quick brown fox jumps over the lazy dog.
Node_1				= \u05d0\u05d7\u05d3 Node 1...
Node_2				= Node 2...
Node_3				= Node 3...
Node_4				= Node 4...
Node_1_1			= Node 1.1...
Node_2_1			= \u05e6\u05d5\u05de\u05ea Node 2.1...
Node_3_1			= Node 3.1...
Node_2_2			= Node 2.2...
Node_2_2_1			= Node 2.2.1...
TableLine0_3		= \u05d4\u05d9\u05d5\u05dd - today...
TableLine1_3		= tomorrow...
ListData0_0			= Line \u05e9\u05d5\u05e8\u05d4 1...
ListData0_1			= Line 2...
ListData0_2			= \u05e9\u05d5\u05e8\u05d4 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			= \u05ea\u05e4\u05d5\u05d7\u05d9\u05dd Apples!!!
ListData1_1			= Oranges \u05ea\u05e4\u05d5\u05d6\u05d9\u05dd!!!
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		= \u05ea\u05e4\u05d5\u05d7\u05d9\u05dd Apples!!!
DropDownData_1		= Oranges \u05ea\u05e4\u05d5\u05d6\u05d9\u05dd!!!
DropDownData_3		= Grapefruit...
DropDownData_4		= Peaches...
DropDownData_5		= Kiwi...
DropDownData_7		= Strawberries...
DropDownData_8		= The Longest String...
Wrap_Text			= \u05d4\u05d9!!! 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!
TabItem1_0			= Tab &0...
TabItem1_1			= \u05dc\u05e9\u05d5\u05e0\u05d9\u05ea - Tab &1...
TabItem1_2			= Tab &2...
CTabItem1_0			= CTabItem \u05d0\u05e4\u05e1 &0...
CTabItem1_1			= \u05d0\u05d7\u05d3 CTabItem &1...
CTabItem1_2			= \u05e9\u05ea\u05d9\u05d9\u05dd CTabItem &2 has a long name...
LinkText			=\u05d4\u05d9!!! Visit the <A HREF=\"www.eclipse.org\">Eclipse.org</A> project and the <A HREF=\"www.eclipse.org\\swt">SWT</A> homepage.
Item1_Text			= \u05db\u05e4\u05ea\u05d5\u05e8 - What is your favorite button?
Item2_Text			= What is your favorite icon - \u05e1\u05de\u05dc?
ToolTip_Title		= \u05e9' vs. \u05db' - Foxes vs. Dogs !!!
