拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Ladybird 浏览器界面文本规范:标题大小写、句子大小写与省略号的正确使用

Ladybird 浏览器界面文本规范标题大小写、句子大小写与省略号的正确使用【免费下载链接】ladybirdTruly independent web browser项目地址: https://gitcode.com/GitHub_Trending/la/ladybirdLadybird 浏览器的人机界面文本UI Text有一套明确的大小写与标点规范文档位于 Documentation/HumanInterfaceGuidelines/Text.md。本文完整梳理这套规范的两类大小写风格Book title capitalization 与 Sentence-style capitalization、省略号的两层语义与使用边界并结合 LibWebView 与 Qt 前端 的源码说明这些文本最终如何落到菜单项、按钮和提示框上帮助你在为 Ladybird 贡献界面文案时做到一次通过风格审查。一、两套大小写风格总览规范文档指出Ladybird 的界面文本采用两种大写风格Book title capitalization标题式大写首尾词及中间实词全部大写但冠词a, an, the、七个并列连词for, and, nor, but, or, yet, so以及不超过四个字母的介词at, by, for, with, into 等除外Sentence-style capitalization句子式大写遵循基础英文句子大写规则仅首词首字母及专有名词、星期等大写。下面分别给出规则细节、官方示例和适用控件清单。1.1 Book title capitalization标题式大写规则第一个词和最后一个词的首字母大写中间的所有单词也大写除了冠词articlesa, an, the七个并列连词coordinating conjunctionsfor, and, nor, but, or, yet, so不超过四个字母的介词prepositionsat, by, for, with, into 等。官方示例直接继承自文档示例说明Create New Layer普通实词全部大写Copy URL缩写按实词大写Move to Front介词 to2 个字母不大写Save and Exit连词 and 不大写Sort by Name介词 by 不大写适用控件文档明确列出的 7 类按钮文本Button text图标标签Icon labels菜单名称Menu names菜单项Menu items选项卡标题Tab titles窗口标题Window titles工具提示Tooltips可以观察到标题式大写覆盖的都是命令型界面元素——用户点击即触发一个动作文本起到动词短语或名词短语的命名作用。1.2 Sentence-style capitalization句子式大写规则遵循基础英文句子大写——首词首字母大写加上专有名词、星期名等需要大写的词。官方示例直接继承自文档An error occurredUse system defaultsCopy the selected textEnable Linux compatibility hacks适用控件文档明确列出的 7 类复选框标签Check box labels分组框标签Group box labels列表项List items消息Messages如消息框内容单选按钮标签Radio button labels状态栏文本Status bar text文本框标签Text box labels从源码结构看这与句子式文本通常出现在需要完整表达语境的控件一致复选框、单选按钮、状态栏承载的是描述性语句而按钮/菜单承载的是命令两类控件在视觉上承担不同角色因此用两套风格区分。快速判断口诀如果这个控件的文本点了就做一件事用标题式如果文本在描述一个状态或选项用句子式。拿不准时对照上表的适用控件清单。二、省略号Ellipsis的两层语义与使用边界文档指出省略号三个句点...在界面中有两个特殊用途Eliding text截断文本例如列表项、窗口标题在空间不足时被程序自动截断为xxx...Foreshadowing additional user input预告还需要用户进一步输入这是需要开发者在手动设置文本时格外注意的一种。2.1 核心规则任何暗示动作尚需更多用户输入才能完成的控件文本必须以省略号结尾。打开一个新窗口本身不构成使用省略号的理由该对话框必须是完成动作的中间步骤省略号才成立。在其他地方应克制使用省略号避免与截断文本的含义混淆。官方示例直接继承自文档Save As...Browse...Insert Emoji...2.2 仓库中的真实用例在 Ladybird 当前的 UI 前端源码中可以检索到严格遵循这条规则的省略号文案UI/Qt/Application.cppadd_application_menu_action(*file_menu, Open File..., ...)——Open File... 后面必然跟一个文件选择对话框属于典型的中间步骤因此使用省略号UI/Qt/BrowserWindow.cppnew QAction(Open File..., this)以及 第 321 行 的new QAction(Find in Page..., this)——两者都要求用户在后续对话框/条中继续输入UI/AppKit/Application/ApplicationDelegate.mm[submenu addItem:[[NSMenuItem alloc] initWithTitle:Find... ...]]——macOS 前端对同一功能保持相同的省略号约定。对照反例也能验证规则的边界像 Save As... 这类文本在文档示例中出现而 Find in Page... 需要打开查找条输入关键词正是文档所说对话框是完成动作的中间步骤的情形。若某菜单项仅打开一个独立窗口如设置页按规范不应加省略号——从 UI/Qt/Menu.cpp 中大量不带省略号、即时生效的动作NavigateBack、Reload、CopySelection 等的绑定代码可以印证这一风格。三、规范如何映射到代码从WebView::Action到原生控件要理解这些文本规范落地的位置值得看一眼 Ladybird 的菜单/动作抽象层。界面文本在平台无关层以text与tooltip两个字段承载由观察者模式同步到各平台原生控件。3.1 文本字段Action::text与Action::tooltipLibraries/LibWebView/Menu.h 中定义了核心接口StringView text() const { return action_text_to_string_view(m_text); } void set_text(ActionText); StringView tooltip() const { return action_text_to_string_view(*m_tooltip); } void set_tooltip(ActionText);其中ActionText是VariantStringView, String见 Menu.h 第 131 行既允许引用型文本也允许拥有型文本。这两个字段恰好对应文档标题式大写的适用范围菜单项文本text与工具提示tooltip同属一套命令型文本应遵循相同的大小写风格若文本以省略号结尾如需要后续输入的动作也体现在text中。同一个头文件中的 ActionID 枚举 列出了全部动作 ID例如CopyURL、ViewDownloads、DownloadLinkedFileAs、SaveImage等。文档中标题式大写的示例 Copy URL 正对应ActionID::CopyURL这类动作的可见文本。3.2 平台同步Qt 前端的ActionObserverUI/Qt/Menu.cpp 展示了文本如何从平台无关层同步到原生控件virtual void on_text_changed(WebView::Action action) override { if (m_action) m_action-setText(qstring_from_ak_string(action.text())); } virtual void on_tooltip_changed(WebView::Action action) override { if (m_action) m_action-setToolTip(qstring_from_ak_string(action.tooltip())); }Qt 端并不复制文案而是忠实转发Action的text()与tooltip()——这意味着大小写风格、省略号的使用必须在文案的源头Action::set_text/ 前端设置处就写对同步链路本身不会也不应该替你纠正风格。同一文件中的 initialize_native_control 为每个ActionID绑定平台快捷键与图标如NavigateBack绑定Back标准键、Reload绑定 CtrlR/F5但不设置文本再次印证文本完全由上层按本文规范提供。3.3 动态历史菜单文本的运行时来源UI/Qt/Menu.cpp 的 update_history_menu 展示了另一类文本最近浏览项直接取历史记录的标题或 URL 作为菜单项文本create_recent_history_menu_action。这类动态内容属于文档所列列表项遵循句子式/内容原文风格不由开发者手写因此不受标题式大写规则约束——这从侧面说明规范的边界它约束的是开发者手动设置的界面文案而非程序生成的数据文本。四、贡献者速查清单结合文档与源码证据为 Ladybird 编写或修改界面文案时可按以下清单自查控件类型定风格按钮/图标标签/菜单名/菜单项/选项卡标题/窗口标题/工具提示 → 标题式大写复选框/分组框/列表项/消息框文本/单选按钮/状态栏/文本框标签 → 句子式大写。标题式大写的例外词a/an/thefor/and/nor/but/or/yet/so≤4 个字母的介词at, by, for, with, into...。注意 Save and Exit 中 and 小写、Sort by Name 中 by 小写首尾词恒大写。省略号只在等待后续输入时使用Save As...、Browse...、Insert Emoji...、Open File...、Find in Page... 均合法仅为打开一个窗口不加省略号避免在截断场景之外随意使用...。文案写在源头平台无关的WebView::ActionMenu.h是text/tooltip的唯一事实来源各前端如 UI/Qt/Menu.cpp只做转发风格问题应在源头修正。五、参考文件索引文件说明Documentation/HumanInterfaceGuidelines/Text.md本文规范的原始文档Libraries/LibWebView/Menu.h平台无关的Action文本/提示接口与ActionID枚举UI/Qt/Menu.cppQt 前端将Action文本同步到原生QAction的实现UI/Qt/Application.cpp、UI/Qt/BrowserWindow.cppOpen File... 等省略号文案的真实用例UI/AppKit/Application/ApplicationDelegate.mmmacOS 前端 Find... 文案用例【免费下载链接】ladybirdTruly independent web browser项目地址: https://gitcode.com/GitHub_Trending/la/ladybird创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门