###############################################################################
# Copyright (c) 2006, 2016 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
###############################################################################
#
AltDialog_TITLE = Edit Inappropriate alt attribute List
AltDialog_Column_Name = Inappropreate alt WORDS
AltDialog_MSG_No_String = Please input string.
AltDialog_MSG_Existed = The Word has existed.
#
# PageEvaluation
#
PageEvaluation_Bad=Very poor
PageEvaluation_Excellent=Excellent
PageEvaluation_Good=Good
PageEvaluation_Poor=Poor
#
# SummaryEvaluation
#
Eval_redundant_img_alt=Redundant alt attribute:
Eval_wrong_img_alt=Image with wrong alt attribute:
Eval_no_img_alt=Image without alt attribute:
Eval_redundant_img_alt_error_msg=If there are alternative text near the image, please use alt="".
Eval_wrong_img_alt_error_msg=Please do not use unclear alt, such as "click here" or "image".
Eval_no_img_alt_error_msg=Please provide alternative text for an image (If the image has no information to read out, please provide alt=""
Eval_navigability_low_score_error_msg=In visualization view, you can confirm that most part of the page are dark-colored.{0}Blind users have to wait too long to visit these fragments.{1}To improve blind users' navigability, please provide more headings(H1,H2,...) or skip-links.
Eval_navigability_long_time_error_msg=This page has some skip-links or some headings.{0}"However, you can find some dark fragments in visualization view.{1}Blind users have to wait too long to visit these fragments.{2}"To improve blind users' navigability, please provide more headings(H1,H2,...) or skip-links.
Eval_navigability_good_msg=This page is well structured and might be easy for blind users to operate.
Eval_confirm_errors_detailed_report=Please confirm errors at detailed report tab, then correct them.
Eval_confirm_alt_attributes_first=At first, please confirm alt attribute of images.
Eval_many_accessibility_issues=This page seems to have many accessibility issues.
Eval_some_accessibility_issues=This page seems to have some accessibility issues.
Eval_completely_compliant_with_user_check_items=This page seems completely compliant with guidelines.
Eval_completely_compliant=This page is compliant with all check items that the tool can automatically detect.
Eval_user_check1=However, there exists some user check items. Please confirm them at detailed report tab.
Eval_user_check2=Please confirm user check items at detailed report tab.
Eval_some_errors_on_metrics=This page has some errors on metrics below.
Eval_some_errors_on_metrics1=({0}: Please confirm them at detailed report tab.)
Eval_compliant_with_some_other_errors=This page is almost compliant with guidelines, however, there are still some errors.
Eval_excellent=Excellent!
Eval_easy_for_blind_user_to_navigate=This page is well structured and might be easy for blind users to operate.
Eval_page_has_skiplinks_headings=This page has some skip-links or some headings.
Eval_darkcolored_visualization_view=However, you can find some dark fragments in visualization view. In visualization view, you can confirm that most part of the page are dark-colored.
#
# PreferencePage
#
DialogSettingBlind_NG_Word___Wrong_Text_5 = Inappropriate Alt
DialogSettingBlind_NG_Word_Wrong_Text_Edit____25 = Edit Inappropriate Alt List
DialogSettingBlind_Language_4 = Language
DialogSettingBlind_English_15 = English
DialogSettingBlind_Japanese_16 = Japanese
DialogSettingBlind_SimpliedChinese_17 = SimpliedChinese
DialogSettingBlind_LayoutModeSetting = Layout Mode Settings
DialogSettingBlind_Visualization_mode_3 = Visualization mode
DialogSettingBlind_Voice_browser_output_mode_8 = Voice browser output mode
DialogSettingBlind_Layout_mode_9 = Layout mode
DialogSettingBlind_Maximum_time_17 = Maximum time:
DialogSettingBlind_Color_for_maximum_time_19 = Color for maximum time:
DialogSettingBlind_Table_headers_20 = Table headers:
DialogSettingBlind_Heading_tags_21 = Heading tags:
DialogSettingBlind_Input_tags_22 = Input tags:
DialogSettingBlind_Label_tags_23 = Label tags:
DialogSettingBlind_Tabel_border_24 = Tabel border:
DialogSettingBlind_Caption_tags_25 = Caption tags:
#
#
#
VisualizeBrowserMode = Visualize (Voice browser mode)
VisualizeBrowserModeTooltip = Visualize blind usability (Voice browser mode)
