###############################################################################
# Copyright (c) 2006, 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 API and implementation
###############################################################################
#
AltDialog.TITLE = Edit Inappropriate Alt List
AltDialog.Column_Name = Inappropreate ALT WORDS
AltDialog.MSG_No_String = Please input string.
AltDialog.MSG_Existed = The Word has existed.
#
# PageEvaluation
#
PageEvaluation.Bad=Unsatisfactory (needs modification)
PageEvaluation.Excellent=Excellent
PageEvaluation.Good=Good
PageEvaluation.Poor=Passes minimum requirements
#
# 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 navigate.
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.{0}However, there exists some user check items. Please confirm them at detailed report tab.
Eval.completely.compliant=Congratulations! This page is completely compliant with guidelines.
Eval.some.errors.on.metrics=This page has some errors on metrics ({0}).{1}  Please confirm them at detailed report tab.
Eval.completely.compliant.with.some.errors=This page is almost compliant with guidelines, however, there are still some errors.
Eval.excellent=Excellent!
Eval.seems.completely.compliant=This page seems completely compliant with guidelines.
Eval.easy.for.blind.user.to.navigate=This page is well structured and might be easy for blind users to navigate.
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.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:

