###############################################################################
# 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
###############################################################################
Add=&Add
Clean=Clean
Save_Needed=Save Needed
Editor_Action_executed=Editor Action executed
Readme_Editor=Readme Editor
Readme_Outline=Readme Outline
Line_count=Line count
Title_length=Title length
Title_start=Title start
Popup_Menu_Action_executed=Popup Menu Action executed
Readme_Example=Readme Example
Automatic_sample_section_generation=Automatic sample section generation
Create_Readme_File=Create Readme File
Create_a_new_Readme_file_resource=Create a new Readme file resource.
Generate_sample_section_titles=&Generate sample section titles
Generate_sample_subsection_titles=Generate sample subsection &titles
Open_file_for_editing_when_done=&Open file for editing when done
Readme_file_name=&Readme file name:
SAMPLE_README_FILE=\n\n     SAMPLE README FILE\n\n
SECTION_1=1. SECTION 1\n
SECTION_1_BODY_1=This text is a placeholder for the section body.\n
SECTION_2=2. SECTION 2\n
SECTION_2_BODY_1=This text is a placeholder for the section body. It is\n
SECTION_2_BODY_2=a bit longer in order to span two lines.\n
Subsection_1_1=\ \ \ 1.1 Subsection\n
Subsection_1_1_Body_1=\ \ \ This text is a placeholder for the subsection body\n
Subsection_2_1=\ \ \ 2.1 Subsection\n
Subsection_2_1_BODY_1=\ \ \ This text is a placeholder for the subsection body\n
Subsection_2_2=\ \ \ 2.2 Subsection\n
Subsection_2_2_BODY_1=\ \ \ This text is a placeholder for the subsection body\n
New_Readme_File=New Readme File
Exception_in_readme_drop_adapter=Exception in readme drop adapter: 
Editor_Action1=Editor Action &1
Editor_Action2=Editor Action &2
Editor_Action3=Editor Action &3
Editor_Action4=Editor Action &4
Editor_Action5=Editor Action &5
Outline_Action2=Outline Action &2
Outline_Action3=Outline Action &3
Outline_Action4=Outline Action &4
Outline_Action5=Outline Action &5
Editor_is_active=Editor is active
Empty_Editor_Name=Empty
Readme_Editor_Action1=Readme Editor Action 1
Readme_Editor_Action2=Readme Retarget Editor Action 2
Readme_Editor_Action3=Readme Label Retarget Editor Action 3
Readme_Editor_Action5=Readme Label Retarget Editor Action 5
Readme_Outline_Action3=Readme Label Retarget Outline Action 3
Readme_Outline_Action5=Readme Label Retarget Outline Action 5
Readme_Menu=&Readme
ReadmeEditorActionExecuted=Readme Editor Action executed: {0} for: {1}
ReadmeOutlineActionExecuted=Readme Outline Action executed
<Unknown>=<Unknown>
<file_contents_not_local>=<file contents not local>
Additional_information=Additional information about the Readme file can go here.
File_name=File name:
Number_of_sections=Number of sections:
Path=Path: 
Size=Size: 
Additional_Readme_properties_not_available.=Additional Readme properties not available.
Had_it_been_less_than_256_bytes_this_page_would_be_a_placeholder_page.=Had it been less than 256 bytes, this page would be a placeholder page.
The_size_of_the_Readme_file_is_at_least_256_bytes.=The size of the Readme file is at least 256 bytes.
This_illustrates_a_property_page_that_is_dynamically_determined=This illustrates a property page that is dynamically determined
not_to_be_available_based_on_the_state_of_the_object.=not to be available based on the state of the object.
to_be_available_based_on_the_state_of_the_object.=to be available based on the state of the object.
Unable_to_create_file_parser=Unable to create file parser.
Default_text=Default text
Change=Chan&ge
Check_Box_Options=Check Box Options
Check_box_1=&Check box 1
Check_box_2=C&heck box 2
Check_box_3=Check bo&x 3
Radio_Button_Options=Radio Button Options
Radio_button_1=&Radio button 1
Radio_button_2=Rad&io button 2
Radio_button_3=Radio b&utton 3
Text_Field=&Text Field
Readme_Sections=Readme Sections
View_Action_executed=View Action executed
Add_Sentence=Add Sentence
Resolution_Error=Resolution Error
Unable_to_open_file_editor=Unable to open file editor
Simple_sentence=This is a simple sentence.\n
Readme_marker_message_example=Readme marker example 
Add_readme_marker_action_label=Readme Marker Example &