【发布时间】:2015-08-12 07:45:08
【问题描述】:
Windows 上的许多应用程序仅显示带有“是”/“否”或“确定”/“取消”按钮的普通消息框。通常,在非英语 Windows 上,文本是英语会变得更糟,但按钮是用 Windows 的语言标记的。
是否没有简单的 API 来显示带有自己的按钮标签的消息框,例如“删除”还是“保留”?
【问题讨论】:
-
由于缺少本地化资源,您处理语言不匹配的解决方案似乎是转到the whole nine yards 并打破系统提供的本地化支持以匹配您的本地化支持。真正的解决方案是本地化您的资源。
-
... 或者,如果无法选择每种语言的本地化,至少让应用程序本身保持英语。我的主要问题是使用是/否,因为这是糟糕的 GUI 设计。相反,使用一个(或很少几个)特定于对话框的单词会更好,因为用户不必总是阅读整个对话框来理解按钮。
-
如果用户不必阅读整个对话框来理解按钮,那么您在对话框中放置了太多文本。如果您无法选择本地化,那么请不要破坏 已 本地化的部分。我敢肯定,使用辅助技术的人会讨厌您提出自己的有用解释。
-
@IInspectable 任务对话框 api 的主要目标之一是为开发人员提供一种方法来显示带有按钮的对话框,这些按钮可以清楚地识别操作。呈现复杂的选择和 OK/Cancel 或 Yes/No 是一种已知的 UI 反模式。查看所有现代操作系统中的一些对话框。与 MessageBox 标准集名称不同的按钮很普遍。