# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2008 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 implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

# Plug-in
pluginName=EPF Composer RCP UI
productName=EPF Composer
providerName=Eclipse.org

# About text
aboutText=Eclipse Process Framework Composer\n\
\n\
\u0627\u0644\u0646\u0633\u062e\u0629: {0}\n\
\n\
(c) \u062d\u0642\u0648\u0642 \u0627\u0644\u0646\u0634\u0631 \u0644\u0645\u0633\u0627\u0647\u0645\u0649 Eclipse \u0648\u0622\u062e\u0631\u064a\u0646 2000\u060c 2011. \u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0642\u0648\u0642 \u0645\u062d\u0641\u0648\u0638\u0629.\n

# Category
methodCategoryName=\u0637\u0631\u064a\u0642\u0629

# Views
welcomeViewName=\u0645\u0631\u062d\u0628\u0627

# Actions
globalActionSet=\u0645\u062c\u0645\u0648\u0639\u0629 \u062a\u0635\u0631\u0641\u0627\u062a \u0634\u0627\u0645\u0644\u0629
newAction=&\u062c\u062f\u064a\u062f
newActionTooltip=\u062c\u062f\u064a\u062f
openAction=&\u0641\u062a\u062d...
openActionTooltip=\u0641\u062a\u062d
searchAction=&\u0628\u062d\u062b...
searchActionTooltip=\u0628\u062d\u062b
welcomeAction=&\u0645\u0631\u062d\u0628\u0627
welcomeActionToolTip=\u0645\u0631\u062d\u0628\u0627

# Tooltips
shortcut.overview.tooltip=\u0639\u0648\u062f\u0629 \u0627\u0644\u0649 \u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u0642\u062f\u0645\u0629
shortcut.tutorials.tooltip=\u0639\u0648\u062f\u0629 \u0627\u0644\u0649 \u0635\u0641\u062d\u0629 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u064a
shortcut.firststeps.tooltip=\u0639\u0648\u062f\u0629 \u0627\u0644\u0649 \u0635\u0641\u062d\u0629 \u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0623\u0648\u0644\u0649
shortcut.webresources.tooltip=\u0639\u0648\u062f\u0629 \u0627\u0644\u0649 \u0635\u0641\u062d\u0629 \u0645\u0635\u0627\u062f\u0631 \u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0646\u062a\u0631\u0646\u062a       

#Action Set
actionSet.description = \u062a\u0635\u0631\u0641 \u062e\u0637 \u0623\u062f\u0648\u0627\u062a \u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0633\u0627\u0639\u062f\u0629
actionSet.label = \u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0633\u0627\u0639\u062f\u0629
searchAction.label = \u0645\u0633\u0627\u0639\u062f\u0629 \u0627\u0644\u0628&\u062d\u062b
searchAction.tooltip = \u0645\u0633\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u062d\u062b
dynamicHelpAction.label = &\u0645\u0633\u0627\u0639\u062f\u0629 \u062f\u064a\u0646\u0627\u0645\u064a\u0643\u064a\u0629 
dynamicHelpAction.tooltip = \u0645\u0633\u0627\u0639\u062f\u0629 \u062f\u064a\u0646\u0627\u0645\u064a\u0643\u064a\u0629

#Activities/Capabilities
activity.general=\u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u0648\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u0627\u062a \u0648\u0627\u0644\u0645\u0635\u0627\u062f\u0631
activity.general.desc=\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a Eclipse \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0644\u0627\u0633\u062a\u0642\u0628\u0627\u0644/\u062a\u0635\u062f\u064a\u0631 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u0627\u062a/\u0627\u0644\u0645\u0635\u0627\u062f\u0631.
activity.team.cvs=\u062f\u0639\u0645 CVS
activity.team.cvs.desc=\u0627\u0633\u062a\u062e\u062f\u0645 Concurrent Versions System (CVS) \u0644\u0627\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0635\u0627\u062f\u0631.
activity.team=\u062f\u0639\u0645 \u0627\u0644\u0641\u0631\u064a\u0642 \u0627\u0644\u0623\u0633\u0627\u0633\u064a
activity.team.desc=\u0645\u0634\u0627\u0631\u0643\u0629 \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u0627\u062a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0646\u0638\u0645 \u0627\u062f\u0627\u0631\u0629 \u0627\u0644\u062a\u0648\u0635\u064a\u0641.

activity.cat.general=\u0639\u0627\u0645
activity.cat.general.desc=\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a Eclipse \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629.
activity.cat.team=\u0627\u0644\u0641\u0631\u064a\u0642
activity.cat.team.desc=\u0627\u0633\u062a\u062e\u062f\u0645 \u0646\u0638\u0645 \u0627\u062f\u0627\u0631\u0629 \u0627\u0644\u062a\u0648\u0635\u064a\u0641 \u0644\u0627\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0635\u0627\u062f\u0631.

PreferencePages.Capabilities = \u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a
PreferencePages.Capabilities.activityName = &\u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a
PreferencePages.Capabilities.categoryName = &\u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a
PreferencePages.Capabilities.activityPromptButton = &\u0631\u0633\u0627\u0644\u0629 \u062d\u062b \u0639\u0646\u062f \u0627\u062a\u0627\u062d\u0629 \u0627\u0644\u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a
PreferencePages.Capabilities.activityPromptButtonTooltip = \u0631\u0633\u0627\u0644\u0629 \u062d\u062b \u0639\u0646\u062f \u0623\u0648\u0644 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0644\u0645\u064a\u0632\u0629 \u062a\u062a\u0637\u0644\u0628 \u0627\u062a\u0627\u062d\u0629 \u0627\u0644\u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a
PreferencePages.Capabilities.captionMessage = \u062a\u062a\u064a\u062d \u0644\u0643 \u0627\u0644\u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a \u0627\u062a\u0627\u062d\u0629 \u0623\u0648 \u0627\u064a\u0642\u0627\u0641 \u0627\u062a\u0627\u062d\u0629 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0645\u0643\u0648\u0646\u0627\u062a \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a.  \u064a\u062a\u0645 \u062a\u062c\u0645\u064a\u0639 \u0647\u0630\u0647 \u0627\u0644\u0627\u0645\u0643\u0627\u0646\u064a\u0627\u062a \u0648\u0641\u0642 \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u0646 \u0627\u0644\u062a\u0635\u0646\u064a\u0641\u0627\u062a \u0627\u0644\u0645\u0639\u0631\u0641\u0629 \u0645\u0633\u0628\u0642\u0627.
