
#
# Copyright (C) 2020 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.
#
actionable = actionable
button_item_type = button
check_title_accessibility_traversal = Traversal order
check_title_class_name_not_supported = Unsupported item type
check_title_clickablespan = Link
check_title_duplicate_clickable_bounds = Clickable items
check_title_duplicate_speakable_text = Item descriptions
check_title_editable_content_desc = Editable item label
check_title_image_contrast = Image contrast
check_title_item_exposed = Exposed items
check_title_link_test = Link text
check_title_reading_score = Readability
check_title_redundant_description = Item type label
check_title_speakable_text_present = Item label
check_title_text_contrast = Text contrast
check_title_text_style = Text Style
check_title_touch_target_size = Touch target
check_view_banned_word = Banned word
checkbox_item_type = checkbox
checkbox_item_type_separate_words = check box
checked_state = checked
click_action = click
clickable = clickable
clickable_and_long_clickable = clickable and long clickable
description_remove_view_attribute = Remove the view attribute <tt>%1$s</tt>.
description_set_view_attribute = Set the view attribute <tt>%1$s</tt> to <tt>%2$s</tt>.
description_set_view_attribute_with_an_empty_string = Set the view attribute <tt>%1$s</tt> to a meaningful non-empty string or resource reference.
italic_text = italic
italic_underline_text = italic and underline
long_clickable = long clickable
non_clickable = non-clickable
question_id_message_confirm_foreground_background_colors = Are the detected foreground and background colors correct?
question_id_message_provide_background_color = What is the correct background color?
question_id_message_provide_foreground_color = What is the correct foreground color?
question_message_identify_unexposed_items = Select regions of the screen with unidentified items.
question_message_screen_has_unexposed_items = Does this screen contain important items that are not outlined?
question_option_message_background_incorrect = Background incorrect
question_option_message_both_correct = Both correct
question_option_message_both_incorrect = Foreground and background incorrect
question_option_message_foreground_incorrect = Foreground incorrect
question_option_message_unknown = Unknown
result_message_addendum_against_scrollable_edge = This item may be only partially visible within a scrollable container.
result_message_addendum_clickable_ancestor = A parent container may be handling touch events for this item. If selecting the larger container performs the same action as selecting this item, consider defining this item as not clickable. If a different action is performed, consider increasing the size of this item.
result_message_addendum_clipped_by_ancestor = A parent container may be clipping the size of this item, which has a drawing area of <tt>%1$ddp</tt> x <tt>%2$ddp</tt>. Consider increasing the size of this item\'s clipping ancestor, or allowing a larger parent container to handle actions on behalf of this item.
result_message_addendum_opacity_description = Its actual opacity is %1$.2f%%.
result_message_addendum_touch_delegate = A <tt>TouchDelegate</tt> has been detected on one of this item\'s ancestors. This message can be ignored if the delegate is of sufficient size and handles touches for this item.
result_message_addendum_touch_delegate_with_hit_rect = A <tt>TouchDelegate</tt> with size <tt>%1$ddp</tt> x <tt>%2$ddp</tt> has been detected for this item. Consider increasing the size of its hit <tt>Rect</tt>.
result_message_addendum_view_potentially_obscured = This item may be obscured by other on-screen content. Consider manually testing this item\'s contrast.
result_message_background_must_be_opaque = This items\'s background color is not opaque.
result_message_banned_word = This item\'s text may contain an inappropriate word, "<tt>%1$s</tt>"
result_message_brief_banned_word = Consider removing inappropriate words from this item\'s text
result_message_brief_content_desc_contains_redundant_word = This item\'s <tt>android:contentDescription</tt> might contain unnecessary text.
result_message_brief_image_contrast_not_sufficient = Consider increasing the contrast ratio between this image\'s foreground and background.
result_message_brief_is_unexposed_item_screen_region = Consider exposing items in this region to accessibility services.
result_message_brief_link_text_not_descriptive = Consider using more descriptive text in the link.
result_message_brief_low_reading_score = This text may have a low readability score.
result_message_brief_same_speakable_text = Multiple items have the same description.
result_message_brief_same_view_bounds = Multiple %1$s items share this location on the screen.
result_message_brief_small_touch_target = Consider making this clickable item larger.
result_message_brief_styled_text = Consider removing %1$s styling on longer passages of text.
result_message_brief_text_contrast_not_sufficient = Consider increasing this item\'s text foreground to background contrast ratio.
result_message_brief_unpredictable_traversal = Traversal behavior with screen readers may be unpredictable.
result_message_class_name_is_empty = This item\'s type may not be reported to accessibility services. Consider using a type defined by the Android SDK.
result_message_class_name_is_unknown = This item\'s type could not be determined.
result_message_class_name_not_supported_brief = This item\'s type may not be supported.
result_message_class_name_not_supported_detail = This item\'s type <tt>%1$s</tt> may not be resolvable by accessibility services. Consider using a type defined by the Android SDK.
result_message_clickablespan_no_determined_type = This item\'s type is undetermined.
result_message_content_desc_contains_action = This item\'s <tt>android:contentDescription</tt>, \"<tt>%1$s</tt>\", contains the action \"<tt>%2$s</tt>\".
result_message_content_desc_contains_redundant_word = This item\'s <tt>android:contentDescription</tt>, \"<tt>%1$s</tt>\" contains the item type \"<tt>%2$s</tt>\".
result_message_content_desc_contains_state = This item\'s <tt>android:contentDescription</tt>, \"<tt>%1$s</tt>\", contains the state \"<tt>%2$s</tt>\".
result_message_content_desc_ends_with_view_type = This item\'s <tt>android:contentDescription</tt>, \"<tt>%1$s</tt>\" ends with the item\'s type.
result_message_could_not_get_background_color = This item\'s background color could not be determined.
result_message_could_not_get_text_color = This item\'s text color could not be determined.
result_message_customized_small_touch_target_height = This item\'s height is <tt>%1$ddp</tt>. Consider increasing the height of this touch target to at least the configured minimum height of <tt>%2$ddp</tt>.
result_message_customized_small_touch_target_width = This item\'s width is <tt>%1$ddp</tt>. Consider increasing the width of this touch target to at least the configured minimum width of <tt>%2$ddp</tt>.
result_message_customized_small_touch_target_width_and_height = This item\'s size is <tt>%1$ddp</tt> x <tt>%2$ddp</tt>. Consider increasing this touch target to at least the configured minimum size of <tt>%3$ddp</tt> x <tt>%4$ddp</tt>.
result_message_disruptive_announcement = A disruptive accessibility announcement has been used.
result_message_editable_textview_content_desc = This editable <tt>TextView</tt> has an <tt>android:contentDescription</tt>. A screen reader may read this attribute instead of the editable content when the user is navigating.
result_message_english_locale_only = This check only runs on devices with locales set to English.
result_message_has_unexposed_items = This screen may have items that are not exposed to accessibility services.
result_message_image_contrast_not_sufficient = The image\'s contrast ratio is %1$.2f. This ratio is based on an estimated foreground color of <tt>#%3$06X</tt> and an estimated background color of <tt>#%4$06X</tt>. Consider increasing this ratio to %2$.2f or greater.
result_message_image_customized_contrast_not_sufficient = The image\'s contrast ratio is %1$.2f. This ratio is based on an estimated foreground color of <tt>#%3$06X</tt> and an estimated background color of <tt>#%4$06X</tt>. Consider increasing this ratio to the configured ratio of %2$.2f or greater.
result_message_is_unexposed_item_screen_region = The region with on-screen location <tt>%1$s</tt> contains at least one item that is not exposed to accessibility services.
result_message_item_exposed_needs_manual_assessment = This screen needs manual inspection to ensure all items are exposed to accessibility services.
result_message_link_text_not_descriptive = The link text \"<tt>%1$s</tt>\" may not independently convey the link\'s purpose.
result_message_low_reading_score = This item\'s text has an approximate readability score of %1$.0f, which is lower than the recommended score of %2$.0f. Consider using simpler words or sentences to make the text easier to read.
result_message_missing_speakable_text = This item may not have a label readable by screen readers.
result_message_no_content_desc = This item has no <tt>android:contentDescription</tt>.
result_message_no_screencapture = Screen capture data could not be obtained.
result_message_no_typeface_info = This item\'s typeface could not be determined.
result_message_not_clickable = This view is not clickable.
result_message_not_editable_textview = This item is not an editable <tt>TextView</tt>.
result_message_not_enabled = This item isn\'t enabled.
result_message_not_imageview = This item is not an <tt>ImageView</tt>.
result_message_not_important_for_accessibility = This item was not found to be important for accessibility.
result_message_not_text_view = This item is not a <tt>TextView</tt>.
result_message_not_visible = This item is not visible.
result_message_same_speakable_text = This %1$s item\'s speakable text: \"<tt>%2$s</tt>\" is identical to that of %3$d other item(s).
result_message_same_view_bounds = This %1$s item has the same on-screen location (<tt>%2$s</tt>) as %3$d other item(s) with those properties.
result_message_screencapture_data_hidden = Screen capture information for this item was hidden.
result_message_screencapture_uniform_color = Screen capture has a uniform color.
result_message_sdk_version_not_applicable = This check is not applicable on devices running Android %1$s and above.
result_message_short_text = This item\'s text is too short to be evaluated.
result_message_should_not_focus = This item would not be focused by a screen reader.
result_message_small_touch_target_height = This item\'s height is <tt>%1$ddp</tt>. Consider making the height of this touch target <tt>%2$ddp</tt> or larger.
result_message_small_touch_target_width = This item\'s width is <tt>%1$ddp</tt>. Consider making the width of this touch target <tt>%2$ddp</tt> or larger.
result_message_small_touch_target_width_and_height = This item\'s size is <tt>%1$ddp</tt> x <tt>%2$ddp</tt>. Consider making this touch target <tt>%3$ddp</tt> wide and <tt>%4$ddp</tt> high or larger.
result_message_speakable_text = This %1$s item also has speakable text: \"<tt>%2$s</tt>\".
result_message_styled_text = This item may use %1$s font for a long passage of text. Consider removing the style from the font to improve readability.
result_message_text_must_be_opaque = This item\'s text color is not opaque.
result_message_textview_contrast_not_sufficient = The item\'s text contrast ratio is %1$.2f. This ratio is based on a text color of <tt>#%2$06X</tt> and background color of <tt>#%3$06X</tt>. Consider increasing this item\'s text contrast ratio to %4$.2f or greater.
result_message_textview_empty = This <tt>TextView</tt> is empty.
result_message_textview_heuristic_contrast_not_sufficient = The item\'s text contrast ratio is %1$.2f. This ratio is based on an estimated foreground color of <tt>#%2$06X</tt> and an estimated background color of <tt>#%3$06X</tt>. Consider using colors that result in a contrast ratio greater than %4$.2f for small text, or %5$.2f for large text.
result_message_textview_heuristic_contrast_not_sufficient_confirmed = The item\'s text contrast ratio is %1$.2f. This ratio is based on the provided foreground color of <tt>#%2$06X</tt> and provided background color of <tt>#%3$06X</tt>. Consider using colors that result in a contrast ratio greater than %4$.2f for small text, or %5$.2f for large text.
result_message_textview_heuristic_customized_contrast_not_sufficient = The item\'s text contrast ratio is %1$.2f. This ratio is based on an estimated foreground color of <tt>#%2$06X</tt> and an estimated background color of <tt>#%3$06X</tt>. Consider increasing this item\'s text contrast ratio to the configured ratio of %4$.2f or greater.
result_message_textview_heuristic_customized_contrast_not_sufficient_confirmed = The item\'s text contrast ratio is %1$.2f. This ratio is based on the provided foreground color of <tt>#%2$06X</tt> and provided background color of <tt>#%3$06X</tt>. Consider increasing this item\'s text contrast ratio to the configured ratio of %4$.2f or greater.
result_message_traversal_cycle = This item may be part of a traversal ordering cycle due to its <tt>%1$s</tt> attribute. Traversal behavior with screen readers may be unpredictable.
result_message_traversal_over_constrained = Traversal ordering for this item may be over constrained based on its <tt>android:accessibilityTraversalBefore</tt> and <tt>android:accessibilityTraversalAfter</tt> attributes. Traversal behavior with screen readers may be unpredictable.
result_message_urlspan_invalid_url = Verify that the URL within this item\'s <tt>URLSpan</tt> is valid.
result_message_urlspan_not_clickablespan = This item should use a <tt>URLSpan</tt> in place of a <tt>ClickableSpan</tt>.
result_message_view_bounds = This %1$s item also has an on-screen location of <tt>%2$s</tt>.
result_message_view_not_within_screencapture = This item\'s on-screen location (<tt>%1$s</tt>) were not within the screen capture on-screen location (<tt>%2$s</tt>).
result_message_web_content = Web content is not evaluated.
selected_state = selected
swipe_action = swipe
tap_action = tap
unchecked_state = unchecked
underline_text = underline
unselected_state = unselected
