#******************************************************************************
# Copyright (C) 2012 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#******************************************************************************

CorrectTextInLabelCondition_AddLabelAndroidXMLLocale=Verify whether the text {0} is part of the "android:label" tag within the manifest file for the "{1}" locale.
CorrectTextInLabelCondition_AddTextInLabel=Verify whether the text {0} is part of the "android:label" tag within AndroidManifest.xml file.
CorrectTextInLabelCondition_AndroidXMlMustHaveLabelRunChecker=The Android application must have a label in order to run this checker.
CorrectTextInLabelCondition_ExecuteCheckerEnterLabelText=To execute this checker you must supply the parameter labelText.
CorrectTextInLabelCondition_LabelNotContainedAndroidXML=The text {0} is not part of the "android:label" tag within the app's manifest file.
CorrectTextInLabelCondition_LabelReferedAndroidXML=The text {0} is not part of the "android:label" tag within the manifest file for the default locale.
CorrectTextInLabelCondition_LabelReferedAndroidXMLDefaultLocale=Verify whether the text {0} is part of the "android:label" tag in the manifest file for the default locale.
CorrectTextInLabelCondition_LabelReferedAndroidXMLLocale=The text {0} is not part of the "android:label" tag within the manifest file for the "{1}" locale.
CorrectTextInLabelCondition_NoEnteredParamWarn=This checker requires parameters. Please check the help for more details.
