###############################################################################
# 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
#	   Cloudsmith - ongoing development
###############################################################################
destination_commandline=<destination>
Deprecated_application=This application is deprecated. Please use the org.eclipse.equinox.p2.director application.
Help_Only_verify_dont_install=Only verify that the actions can be performed. Don't actually install or remove anything.
Operation_complete=Operation completed in {0} ms.
Operation_failed=Installation failed.
Cant_change_roaming=Problem while updating the profile {0}.

Missing_profileid = Must specify a profile id if a destination is specified.
Missing_director=Director could not be loaded.
Missing_Engine=Engine could not be loaded.
Missing_bundle=The ''{0}'' bundle is missing.
Missing_planner=Planner could not be loaded.
Missing_IU=The installable unit {0} has not been found.
Missing_Required_Argument=Missing required argument -{0}.
Help_A_list_of_properties_in_the_form_key_value_pairs=A list of properties in the form key=value pairs. Effective only when a new profile is created.
Help_A_list_of_URLs_denoting_artifact_repositories=A list of URL's denoting artifact repositories.
Help_A_list_of_URLs_denoting_colocated_repositories=A list of URL's denoting colocated meta-data and artifact repositories.
Help_A_list_of_URLs_denoting_metadata_repositories=A list of URL's denoting meta-data repositories.
Ambigous_Command=Cannot execute both {0} and {1} in one invocation.
Application_NoManager=The repository manager is not available.
Application_NoRepositories=Unable to load repositories.
Help_Defines_flavor_to_use_for_created_profile=Defines what flavor to use for a newly created profile.
Help_Defines_what_profile_to_use_for_the_actions=Defines what profile to use for the actions.
flavor_0_inconsistent_with_flavor_1=Install flavor {0} not consistent with profile flavor {1}.
Help_Indicates_that_the_product_can_be_moved=Indicates that the product resulting from the installation can be moved. Effective only when a new profile is created.
Installing=Installing {0} {1}.
Help_Installs_the_listed_IUs=Installs the listed IU's. Each entry in the list is in the form <id> [ '/' <version> ].
Uninstalling=Uninstalling {0} {1}.
Help_Uninstalls_the_listed_IUs=Uninstalls the listed IU's. Each entry in the list is in the form <id> [ '/' <version> ].
Help_Use_a_shared_location_for_the_install=Use a shared location for the install. The <path> defaults to ${user.home}/.p2
Ignored_repo=The repository {1} will not be considered.
Help_lb_lt_path_gt_rb=[ <path> ]
Help_List_all_IUs_found_in_repos=Lists all IU's found in the given repositories.
Help_lt_comma_separated_list_gt=<comma separated list>
Help_lt_name_gt=<name>
Help_lt_path_gt=<path>
option_0_requires_an_argument=Option {0} requires an argument.
Help_Prints_this_command_line_help=Prints this command line help information.
Help_The_ARCH_when_profile_is_created=The architecture to use when the profile is created.
Help_The_folder_in_which_the_targetd_product_is_located=The folder in which the targeted product is located.
Help_The_location_where_the_plugins_and_features_will_be_stored=The location where the plug-ins and features will be stored. Effective only when a new profile is created.
Help_The_NL_when_profile_is_created=The language to use when the profile is created.
Help_The_OS_when_profile_is_created=The OS to use when the profile is created.
Help_The_WS_when_profile_is_created=The windowing system to use when the profile is created.
unable_to_parse_0_to_uri_1=Unable to parse {0} into an URI: {1}.
unable_to_start_bundle_0=Unable to start bundle {0}.
unable_to_stop_bundle_0=Unable to stop bundle {0}.
unknown_option_0=Unknown option {0}. Use -help for a list of known options.
Help_Missing_argument=The argument specifying what to install or uninstall is missing.
