# ==============================================================================
#*+------------------------------------------------------------------------+
#*| Copyright (c) 2005, 2009  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 message used when startup of a plug-in fails.
# {0} = Plugin Name
XToolsUIPlugin__ERROR__startupErrorMessage= IRJA0283E Error starting up {0} plug-in

# Error message used when shutdown of a plug-in fails.
# {0} = Plugin Name
XToolsUIPlugin__ERROR__shutDownErrorMessage= IRJA0284E Error shutting down {0} plug-in

# Label strings for actions.
# ================================ BEGIN ==================================================
ClearAction_label=Clear
MoveAction_label=Move
# ==================================== END =================================================


# Default filter settings dialog title
ExplorerFilterSettingsAction_dialogTitle=Model Explorer Filter Settings
# Default filter setting dialog message
ExplorerFilterSettingsAction_dialogMessage=Display the following elements


# Selection composite messages
SelectionComposite_invalidElementSelected=Invalid element selected
SelectionComposite_nothingSelectable=No selection is available.



# The show related elements dialog
# ================================ BEGIN ==================================================
ShowRelatedElementsDialog_ExpansionGroup_Text=Expansion Direction:
ShowRelatedElementsDialog_ExpansionGroup_RadioButton_Both=Both
ShowRelatedElementsDialog_ExpansionGroup_Label_Levels=Levels:
ShowRelatedElementsDialog_ExpansionGroup_CheckBox_Expand_Indefinitely=Expand Indefinitely
ShowRelatedElementsDialog_Title=Show Related Elements in Diagram
ShowRelatedElementsDialog_Incoming=Incoming
ShowRelatedElementsDialog_Outgoing=Outgoing
ShowRelatedElementsDialog_AllConnected=All Connected

# These following values may be adjusted to make the dialog appear properly when the translated text has been added
# Because the translated text may occupy a different width or height than the English text, the dialog's width
# and height may be adjusted to make it appear properly after the text in the dialog has been translated.
# (DO NOT TRANSLATE - only modify number)
#
# START NON-TRANSLATABLE
#

ShowRelatedElementsDialog_MAX_VIEWER_WIDTH=500
ShowRelatedElementsDialog_VIEWER_HEIGHT=225

#
# END NON-TRANSLATABLE
#


ShowRelatedElementsDialog_LevelsValidation_Title=Levels
ShowRelatedElementsDialog_LevelsValidation_Message=Please enter a numeric value in the Levels text box
ShowRelatedElementsDialog_ExpandIndefinitelyMessageBox_Title=Expand indefinitely?

# Fragmenting the following message so as to not use hard return characters in
# translatable strings
ShowRelatedElementsDialog_ExpandIndefinitelyMessageBox_Message_Sentence1=Are you sure you want to expand indefinitely?
ShowRelatedElementsDialog_ExpandIndefinitelyMessageBox_Message_Sentence2=Expanding indefinitely may require a high amount of system resources.
# ==================================== END ================================================


# The show/hide relationships dialog strings
# ================================ BEGIN ==================================================
ShowHideRelationshipsDialog_Button_OK=OK
ShowHideRelationshipsDialog_Button_Cancel=Cancel
ShowRelatedElementsDialog_RelationshipTypes=Relationship Types:

ShowRelatedElementsPredefinedComposite_CustomQuery=Custom Query:
ShowRelatedElementsPredefinedComposite_Delete=&Delete
ShowRelatedElementsPredefinedComposite_SaveAs=Sa&ve As...
ShowRelatedElementsPredefinedComposite_SaveAs_Title=Save As
ShowRelatedElementsPredefinedComposite_UserCustomQuery=Custom Query
ShowRelatedElementsPredefinedComposite_ShowDetails=De&tails >>
ShowRelatedElementsPredefinedComposite_HideDetails=<< De&tails
ShowRelatedElementsPredefinedComposite_SpecialCharacter=Please enter a string without special characters.
#ShowRelatedElementsPredefinedComposite_SaveAs=Save As
ShowRelatedElementsPredefinedComposite_ChooseName=Please enter a name.
ShowRelatedElementsPredefinedComposite_DefaultQuery=Default

ShowHideRelationshipsDialog_Title=Show/Hide Relationships
ShowHideRelationshipsDialog_Description=Click on the relationships in the list below to add or remove them from the diagram.

# These following values may be adjusted to make the dialog appear properly when the translated text has been added
# Because the translated text may occupy a different width or height than the English text, the dialog's width
# and height may be adjusted to make it appear properly after the text in the dialog has been translated.
# (DO NOT TRANSLATE - only modify number)
#
# START NON-TRANSLATABLE
#

ShowHideRelationshipsDialog_MAX_VIEWER_WIDTH=500
ShowHideRelationshipsDialog_MAX_VIEWER_HEIGHT=400
ShowHideRelationshipsDialog_TEXT_AREA_HEIGHT=46

#
# END NON-TRANSLATABLE
#

ShowHideRelationshipsDialog_Label_Legend=Legend
ShowHideRelationshipsDialog_Label_LegendShow=Show
ShowHideRelationshipsDialog_Label_LegendHide=Hide
ShowHideRelationshipsDialog_Label_LegendLeave=Leave
# ==================================== END =================================================



# error messages
# ================================ BEGIN ==================================================
TreeInlineTextEditor_errorDialogTitle= Problem encountered while editing label
# {0} = View ID
WorkbenchPartActivator_ErrorMessage=The view ''{0}'' could not be shown.

# Display a message to the user if the execution had warnings or errors
# {0} = Label for the Global Action
GlobalAction_infoDialogMessage={0} operation was not completely successful.


# ==================================== END =================================================


# UIModificationValidator message to describe the type of change required by the
# FileModificationValidator
# ================================ BEGIN ===================================================
UIModificationValidator_ModificationMessage = Modification
# ==================================== END =================================================


# output view action labels
# ================================ BEGIN ==================================================
ToggleAutomaticScrollingAction_label=AutoScroll
ShowAllHiddenCategoriesAction_label=Show All
HideActiveCategoryAction_label=Hide
# {0} = Name of the category
ToggleTabVisibilityAction_HideCategoryTab_label=Hide {0}
# {0} = Name of the category
ToggleTabVisibilityAction_ShowCategoryTab_label=Show {0}
# ==================================== END =================================================




# output view tooltips
# ================================ BEGIN ==================================================
OutputView_Clear_Tooltip=Clear contents of active category
OutputView_ToggleAutomaticScrolling_Tooltip=Enable/Disable automatic scrolling
OutputView_HideActiveCategory_Tooltip=Hide active category
OutputView_ShowAllHiddenCategories_Tooltip=Show all hidden categories
# ==================================== END =================================================



# file change manager
# ================================ BEGIN ==================================================
# {0} = String describing the reason for editing the file
FileModificationValidator_EditProblemDialogTitle={0} Problems

# {0} = String describing the reason for editing the file
# {1} = String describing the why file could not be edited
FileModificationValidator_EditProblemDialogMessage={0} could not be completed.\n\nReason\n{1}

FileModificationValidator_SaveProblemDialogTitle=Save Problems

# {0} = String describing the why file could not be saved
FileModificationValidator_SaveProblemDialogMessage=Save could not be completed.\n\nReason\n{0}

FileModificationValidator_OK=OK
# {0} = Full path of the file including the file name
FileModificationValidator_FileIsReadOnlyErrorMessage=File {0} is read-only.

# Status message informing the user that files are out of sync with the workspace
FileModificationValidator_OutOfSyncMessage=The following files are out of synchronization with the workspace:
# ==================================== END =================================================

# Popup Dialog Strings; should be translated
# ================================ BEGIN ==================================================
PopupDialog_title=Select Action
PopupDialog_message=Select an action:
# ==================================== END =================================================

# Filter warning dialog strings
# ================================ BEGIN ==================================================
FilterWarningDialog_title=Filtering
FilterWarningDialog_modifyOptions=&Modify filter options to show this element
FilterWarningDialog_dontShowAgain=&Don\'t show this message again
FilterWarningDialog_filteredOut=This element has been filtered out and will not appear in this view.
# ==================================== END =================================================

# Properties dialog strings
# ================================ BEGIN ==================================================
PropertiesDialog_title=Properties
# ==================================== END =================================================


# ActionAbandonedDialog strings
# ================================ BEGIN ==================================================
ActionAbandonedDialog_title=Could not perform this action
# ==================================== END =================================================

# The Save All Dirty Editors dialog strings
# ================================ BEGIN ==================================================
SaveAllDirtyEditorsDialog_title=Save all Modified Resources
SaveAllDirtyEditorsDialog_message=All modified resources must be saved before this operation.
# ==================================== END =================================================

# gradientSelectionDialog strings
# ================================ BEGIN ==================================================
GradientSelection_Gradient=Gradient Selection
GradientSelection_Colors=Colors
GradientSelection_Color1=Color 1
GradientSelection_Color2=Color 2
GradientSelection_Sample=Sample
GradientSelection_ShadingStyle=Shading style
GradientSelection_Vertical=Vertical
GradientSelection_Horizontal=Horizontal
# ==================================== END =================================================