openSUSE:YaST 样式指南

(重定向自 )
跳转到:导航搜索

YaST 样式指南

关于

YaST 样式指南旨在指定 YaST 的外观和感觉。这将帮助开发人员创建他们的应用程序界面并提高 YaST 的一致性。
为什么我应该关心一致性?

通用 YaST 对话框

您可以在此处查看通用的 YaST 对话框布局。最简单的方法是使用 Wizard 库,该库本身定义了布局并提供了几个处理它的函数。由于我们支持小至 80x25 个字符的终端屏幕,请确保模块可以在此大小下正确使用。

  • 标题 - 包含有意义的对话框标题。
  • 内容区域 - 为了避免鼠标移动到导航按钮的路程过长,内容应放置在屏幕中央。如果使用导航树、导航侧边栏或选项卡,可以例外。
  • 按钮
    • 帮助按钮位于左下角 - 单击“帮助”按钮会打开带有适当帮助的弹出窗口。UI 库实际上会自行处理它。有关详细信息,请参阅 帮助
    • 导航按钮位于右下角 - 请参阅特定的 对话框类型 以获取对话框按钮。
      • 如果用户按下“中止”或使用窗口装饰关闭对话框,则模块将关闭。如果用户进行了某些更改,则会弹出一个警告弹出窗口,询问确认。 (弹出窗口可以通过 ReallyAbort() 函数处理。)

为什么我应该使用“取消”而不是其他标签?

快捷键

快捷键或键盘快捷方式是执行预定义功能的键或键组合。

快捷键 行动
Alt+A 添加
Alt+B 返回
Alt+C 取消
Alt+D 删除
Alt+E 编辑
Alt+F 完成
Alt+N 下一步
Alt+N 否(在弹出窗口中)
Alt+Y 是(在弹出窗口中)


功能键 (F 键)

用户应该能够始终使用相同的函数键执行某些标准操作。因此,不要分配以下函数键以外的任何其他函数键

功能键 行动
F1 帮助
F2 信息
F3 添加
F4 编辑/配置/更改
F5 删除
F6 测试
F7 专家/高级
F8 返回
F9 取消
F10 下一步/完成/接受/确定

对话框类型

对话框类型 - 概述

这是所有类型的 YaST 对话框的简要概述

对话框类型 用途
配置向导 所有类型的对话框序列,包含多个步骤,例如添加新的声卡、在三个向导步骤中配置 DNS 服务器等。
单配置对话框 又称 概述对话框 所有硬件概述对话框,例如电视卡的概述。
弹出窗口 用于编辑少量设置的小窗口
进度 对话框,用于向用户显示某个操作需要时间以及在此期间执行的操作
摘要 向用户显示信息摘要。请尽量避免使用它们。
消息 告知用户潜在后果等


对话框类型 - 详细描述

配置向导

  • 需要完成多个步骤才能添加某个项目或服务或配置时,使用配置向导
  • 未找到任何项目,并且在模块启动时将向用户呈现空白概述

如果添加序列不超过一个步骤,请使用 弹出窗口 或全屏 单配置对话框

不要使用配置向导来编辑内容。请使用 单配置对话框 代替。

不要在配置向导中使用选项卡。根据 定义,向导是一系列步骤。

在配置向导期间,尽量避免使用额外的弹出窗口。

如果可能,请告知用户总步骤数并向其显示当前正在执行的步骤。

按钮说明

  • 返回 - 返回上一屏幕。此按钮在配置向导对话框的第一个屏幕上禁用。
  • 下一步 - 转到下一屏幕
  • 完成 - 在“添加”工作流程的最后一页,将“下一步”按钮替换为“完成”。应用设置。
  • 取消 - 如果用户按下“取消”,则模块将关闭。如果用户进行了某些更改,则会弹出一个警告弹出窗口,询问用户是否真的要放弃更改。弹出窗口由 really abort 库 处理。

单配置/概述/编辑对话框

如果已配置项目/服务/...,则模块将从单配置/概述对话框开始。标题由模块名称加上 概述(如果适用)组成。

按钮说明

  • 确定 - 应用设置并关闭屏幕。
  • 取消 - 如果用户按下“取消”,则模块将关闭。如果用户进行了某些更改,则会弹出一个警告弹出窗口,询问用户是否真的要放弃更改。弹出窗口由 really abort 库 处理。

弹出窗口

弹出窗口是一个弹出在父窗口之上并允许用户编辑某些信息的窗口。有一个旧的 Popup 模块或一个新的 Yast2::Popup 库来处理显示弹出窗口。为了告知用户将出现弹出窗口,请在打开弹出窗口的按钮标签上使用“...”。有关详细信息,请参阅 详细弹出窗口

进度

这些对话框广泛用于 YaST 模块需要告知用户某个操作需要一些时间时。它会告知用户当前正在发生什么。

如果对话框出现速度很快,则可以跳过进度对话框。全屏进度对话框的良好示例是大多数 YaST 模块的 初始化读取写入 对话框。读取对话框显示正在读取哪些服务,写入对话框显示正在写入哪些服务,初始化对话框是一种用于探测硬件的读取对话框。读取和初始化对话框通常合并为一个。

有关详细信息,请参阅 详细进度

有一个 Progress 库提供此功能。

摘要

如果可能,请避免使用摘要。如果工作流程复杂,请尝试在模块设计中处理此复杂性。
为什么我应该避免使用摘要?

如果确实需要使用摘要,则在复杂的流程结束时显示它。它是用户所做选择的清晰结构化概述。用户无法在摘要中编辑选择。
有关详细信息,请参阅 摘要

按钮说明

摘要之前的对话框标记为 取消下一步

摘要的导航按钮标记为

  • 返回 - 返回上一屏幕。
  • 完成 - 应用设置。
  • 取消 - 关闭窗口并返回概述。如果用户进行了某些更改,则会弹出一个警告弹出窗口,询问用户是否真的要放弃更改。“窗口装饰中的“关闭”具有与“取消”相同的功用

消息

基本上有两种类型的消息框

问题和消息包含一个标题,该标题是对信息或建议的一句话总结。用户获得问题的基本细节或建议。字体加粗且略大于附加信息,附加信息是对问题的更详细描述。附加信息可以放置在标题下方。它有助于用户做出明智的决定。在大多数情况下,用户只需要主要文本即可做出快速决定。


问题

“问题”消息框提供有关需要用户决定和输入才能继续的情况或条件的反馈。消息以问题的形式呈现。将按钮标签写成祈使动词,例如“保存”、“打印”。这允许用户在犹豫不决的情况下选择一个操作。尽量避免仅使用“是”和“否”作为唯一的答案选项。如果您使用“是”和“否”,用户需要阅读整个问题才能了解您想要的内容。通过有意义地标记按钮,可以更快地感知后果。

有两种主要的 问题消息框

  • 常用 - 要求用户决定两个条件,这些条件对系统没有影响。
  • 警告 - 询问用户一个具有潜在破坏性后果的问题。


信息性消息

这只是 YaST 认为对用户显示有用的信息性文本。


警告消息

警告消息提供有关某种情况或条件的反馈。与问题消息框不同,用户仅被告知,无法对警告消息的内容做出任何决定。与错误消息不同,用户可能会损害甚至破坏他们的系统。


错误消息

错误消息提供有关关键情况或条件的反馈。与问题消息不同,用户仅被告知,无法对警告消息的内容做出任何决定。与警告消息不同,用户可能会损害甚至破坏他们的系统。

对话框元素,又称控件

对话框元素 描述/用途
InputField 单行文本输入。

示例:服务器名称

CheckBox 可点击的 true/false 操作切换按钮,用于两种状态都有明显含义时。

如果您希望用户选择多个选项,也请使用复选框。为了向用户表明这些复选框属于同一组,请围绕选项绘制一个框架。如果有超过 4 个选项,请使用 组合框 代替。
示例:启用 IPv6(相反的是 禁用 IPv6)。

RadioButton 用于从两个或多个互斥选项中进行选择。如果只有两种明显的状态,请使用 CheckBox 代替。

如果选项多于 4 个,请使用 ComboBox 代替。
要启用或禁用服务(例如 kerberos、ldap),请使用单选按钮。
为什么应该使用单选按钮而不是复选框?

示例:启动 HTTP 服务

  • 手动
  • 启动时
CheckBoxFrame 用法类似于 CheckBox,但它还可以启用或禁用被框架包围的其他元素。

示例:一个 CheckBoxFrame 包含三个其他的 CheckBox

ComboBox 用于从多个选项中选择一个。可以编辑以定义自己的值。

示例:为网络接口选择防火墙区域(总共三个区域,只能选择一个)。

表格 用于一次显示多个条目和多条信息,并提供概览。

示例:防火墙中允许的服务列表及其描述。

菜单按钮 菜单按钮实际上是一个按钮,一次涵盖多个可能的动作。它是一个复杂的元素和一种妥协,所以尽量避免使用它。避免它的主要原因是用户看不到这些动作,因为它们隐藏在菜单按钮中。

示例:在用户和组管理模块中选择“专家”设置。

树形图 使用树形结构来显示层次结构,或者如果带有选项卡的对话框看起来过于拥挤和复杂。在切换各个分支时,更改后的值会被保留。如果您认为这种行为会导致潜在的破坏性

后果,您可以包含一个弹出窗口,该窗口需要用户确认。
示例:openSUSE 11.1 中分区器模块中的概览树。

选项卡 选项卡是一种用于水平切换各种设置的导航小部件。使用选项卡来象征独立或层次上平等的章节。不要使用五个或更多选项卡,也不要使用多行选项卡,因为这会使用户难以找到他们正在寻找的章节,并使您的对话框看起来复杂且难看。如果您需要五个以上的选项卡,请使用 Tree 代替。

在切换不同的分支时,已更改的值将被保留。如果您认为此行为会导致潜在的破坏性后果,您可以使用一个弹出窗口,该弹出窗口需要用户确认。
示例:用户和组管理对话框中的选项卡。

任务相关的小部件

任务相关的小部件是对话框元素的一个特殊组,它们通常一起出现以提供复杂的功能。


带有按钮的表格

用于列出设备、服务和其他表格条目,提供添加新条目、编辑删除当前条目的可能性。

添加 启动一个 配置向导
编辑 启动一个 概览对话框
删除 打开一个确认弹出窗口。
这三个导航按钮向下对齐靠左。
在右下方,如果需要,可以放置额外的按钮。

搜索筛选 位于表格的顶部。

为什么应该使用“编辑”而不是其他标签?

两个或多个关联的列表

用于从列表的列表中选择,例如,选择打印机的供应商型号。根据您希望用户执行的操作,有两种方法来呈现此信息

  • 浏览:使用具有两列垂直布局:左侧列显示分类信息(例如供应商),右侧列显示项目信息(例如型号)。


  • 搜索:将所有供应商和型号显示在一个列表中,并在该列表顶部添加筛选功能。


文本风格指南

通用

  • 保持文本简短且有意义。


大小写

程序字符串使用了两种大小写系统:标题样式和句子样式。

句子样式 用于

  • 消息(警告、错误、问题……)
  • 进度阶段
  • 状态栏
  • 帮助文本

标题样式 用于

  • 标题、标题和组标签
  • 输入和命令小部件
  • 模块名称
  • 进度条标签
  • 状态信息、摘要和建议
  • 表格

在进行大写时,不要更改文件名、配置变量和类似区分大小写的项目的原始大小写。这些应该以系统要求的形式呈现,以避免混淆。


标点符号

不要在逗号 (,)、句点 (.)、冒号 (:) 或分号 (;) 前面使用空格。避免使用感叹号。措辞和消息的类型提供了所需强调。避免使用破折号,也称为 em 破折号。

只有当它是标准术语的一部分时,例如 TCP/IP,才使用“/”。通常应使用“或”或“和”代替“/”。

将冒号用作组合框标签的结尾,或在富文本字段中的概览中。

拼写和术语

将美式英语用作所有文本的原始语言。许多单词有多个“可接受”的拼写,但 SUSE 为了保持一致性,有必要标准化某些变体。对于不在这些列表中的任何内容,请使用韦氏词典中的第一个变体作为标准拼写。

  • 3D
  • backend
  • back up (动词)
  • backup (名词)
  • boot disk
  • boot loader
  • cannot
  • casesensitive, caseinsensitive
  • certificate authority
  • client/server
  • command line
  • email
  • 文件名
  • file system
  • frontend
  • GNOME
  • hard disk
  • hostname
  • hotplug, hotplugging, hotpluggable
  • 互联网
  • intranet
  • journaling
  • KDE
  • local host (正常), localhost (本地主机的默认名称)
  • log file
  • log in (动词), login (名词)
  • log out (动词), logout(名词)
  • 挂载点
  • pathname
  • RAM disk
  • reconfigure
  • recreate
  • runlevel
  • runtime
  • set up (动词), setup (名词)
  • standalone
  • startup
  • 卸载
  • username
  • Web
  • Web page
  • Web 服务器
  • X Window System (不要缩写为 X Windows)

帮助文本

通用

帮助需要向用户提供关于如何使用对话框的明确指示。还应提供关于特定用户输入的信息,例如 IP 地址、域名或受限制字符集中的文本。

以一段简洁的段落开始,描述对话框的目的。它应该让读者知道为什么会使用此对话框。

如果适用于您的对话框,请将帮助定位到用户可能想要执行的任务。如果布局复杂,请描述对话框的元素。如果对话框仅解决单个任务,例如编辑配置值的对话框,请关注对话框的元素。如果平均用户可能需要,请提供背景信息。

所有帮助文本都应在顶部有一个标题。


格式

  • 使用 <big> 和 <b> 标签用于标题
  • 使用大写标题样式用于标题
  • 在每个标题后放置一个 <br> 标签,以确保只有标题被格式化为标题
  • 文本应以段落(<p> 标签)书写,使用完整的句子。不要使用 <br> 强制换行。如果可能,每段包含两个或多个句子。
  • 将小部件标签放在 <b> 标签中。
  • 使用 <i> 标签用于示例值和 URL。

如果您想在基于 UI 的帮助中将小部件标签用作标题,请将标签放在 <b> 标签中,并在其后加上冒号 (:)。

示例

<p><b>IP 地址</b>:输入主机的 IP 地址,例如 <i>10.1.1.100</i>。</p>

<p><b>主机名</b>:输入主机的hostname,例如 <i>earth</i>。</p>