Vale 规则
Vale 将我们的风格指南编入了一系列可用于检查文本的规则。以下是我们定义的所有规则列表。
错误 (Errors)
以下规则被视为错误,必须修正。
Grafana.GoogleAMPM
Extends: existence
使用 ‘AM’ 或 ‘PM’(前面加一个空格)。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\d{1,2}[AP]M\b\d{1,2} ?[ap]m\b\d{1,2} ?[aApP]\.[mM]\.
Grafana.GoogleDateFormat
Extends: existence
使用 ‘July 31, 2016’ 格式,而非 <CURRENT TEXT>。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\d{1,2}(?:\.|/)\d{1,2}(?:\.|/)\d{4}\d{1,2} (?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?) \d{4}
Grafana.GoogleEmDash
Extends: existence
破折号前后不要加空格。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\s[—–]\s
Grafana.GoogleEnDash
Extends: existence
使用长破折号(’—’),而非 ‘–’。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
–
Grafana.GoogleGender
Extends: existence
不要使用 <CURRENT TEXT> 作为中性代词。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
he/shes/he\(s\)he
Grafana.GoogleGenderBias
Extends: substitution
考虑使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
(?:alumnae|alumni) | graduates |
(?:alumna|alumnus) | graduate |
air(?:m[ae]n|wom[ae]n) | pilot(s) |
anchor(?:m[ae]n|wom[ae]n) | anchor(s) |
authoress | author |
camera(?:m[ae]n|wom[ae]n) | camera operator(s) |
door(?:m[ae]|wom[ae]n) | concierge(s) |
draft(?:m[ae]n|wom[ae]n) | drafter(s) |
fire(?:m[ae]n|wom[ae]n) | firefighter(s) |
fisher(?:m[ae]n|wom[ae]n) | fisher(s) |
fresh(?:m[ae]n|wom[ae]n) | first-year student(s) |
garbage(?:m[ae]n|wom[ae]n) | waste collector(s) |
lady lawyer | lawyer |
ladylike | courteous |
mail(?:m[ae]n|wom[ae]n) | mail carriers |
man and wife | husband and wife |
man enough | strong enough |
mankind | human kind|humanity |
manmade | manufactured |
manpower | personnel |
middle(?:m[ae]n|wom[ae]n) | intermediary |
news(?:m[ae]n|wom[ae]n) | journalist(s) |
ombuds(?:man|woman) | ombuds |
oneupmanship | upstaging |
poetess | poet |
police(?:m[ae]n|wom[ae]n) | police officer(s) |
repair(?:m[ae]n|wom[ae]n) | technician(s) |
sales(?:m[ae]n|wom[ae]n) | salesperson or sales people |
service(?:m[ae]n|wom[ae]n) | soldier(s) |
steward(?:ess)? | flight attendant |
tribes(?:m[ae]n|wom[ae]n) | tribe member(s) |
waitress | waiter |
woman doctor | doctor |
woman scientist[s]? | scientist(s) |
work(?:m[ae]n|wom[ae]n) | worker(s) |
Grafana.GoogleLyHyphens
Extends: existence
<CURRENT TEXT> 不需要连字符。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\b[^\s-]+ly-\w+\b
Grafana.GoogleOptionalPlurals
Extends: existence
不要在括号中使用复数,例如 <CURRENT TEXT>。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\b\w+\(s\)
Grafana.GooglePeriods
Extends: existence
不要在首字母缩略词或缩写词中使用句点,例如 <CURRENT TEXT>。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\b(?:[A-Z]\.){3,}
Grafana.GoogleSlang
Extends: existence
不要使用互联网俚语缩写,例如 <CURRENT TEXT>。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
tl;drymmvrtfmimofwiw
Grafana.GoogleSpacing
Extends: existence
<CURRENT TEXT> 应该有一个空格。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
[a-z][.?!] {2,}[A-Z][a-z][.?!][A-Z]
Grafana.Latin
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
e\.?g[,.]? | for example |
i\.?e[,.]? | that is |
Grafana.Ordinal
Extends: existence
对于序数词,1到9请使用单词拼写。从10开始,使用数字。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
1st2nd3rd4th5th6th7th8th9th
Grafana.Paragraphs
Extends: script
br 元素只能用于实际内容中的换行,例如诗歌或地址。
Grafana.Please
Extends: existence
保持礼貌是好事,但在说明中使用“please”则显得过于客气。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
please
Grafana.ReferTo
Extends: substitution
在 Markdown 中链接时,使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
Check out \[ | Refer to [ |
See \[ | Refer to [ |
check out \[ | refer to [ |
see \[ | refer to [ |
Grafana.RepeatedWords
Extends: repetition
<CURRENT TEXT> 重复出现
Grafana.Spelling
Extends: spelling
您的意思确实是 <CURRENT TEXT> 吗?
Grafana 词典可能尚未收录此词。
要添加新词,请参考 添加词汇到 Grafana Labs 词典。或者,您可以提出一个 Issue,维护者会为您添加。
对于 UI 元素,使用 粗体 格式。拼写检查器不检查粗体格式的词汇。
对于路径;配置;用户输入;代码;类、方法和变量名;状态码;以及控制台输出,使用 代码 格式。拼写检查器不检查代码格式的词汇。
警告 (Warnings)
以下规则是警告,可能需要修正或需要考虑。
Grafana.Admin
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>,除非它是 UI 标签名称,例如 Grafana 的“Admin”角色。
| 当前文本 | 替代文本 |
|---|---|
admin | administrator |
Grafana.Admonitions
Extends: script
优先使用 admonition shortcode,而非 blockquotes。
admonition shortcode 会将内容渲染为具有全网站一致样式的 blockquote。
Grafana.Agentless
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
Grafana Agent 已被 Grafana Alloy 替代,因此不应再使用基于 agent 的术语。
如果您讨论的是为什么以及如何直接从应用发送信号到 Grafana Cloud,优先使用 no-collector 而非 agentless。
这与 OTel 文档一致。
| 当前文本 | 替代文本 |
|---|---|
agentless | no-collector |
Grafana.AllowsTo
Extends: substitution
您的意思是 <REPLACEMENT TEXT> 吗?
'Allows to' 是一个常见的用词错误。
| 当前文本 | 替代文本 |
|---|---|
allows to | allows you to|makes it possible to |
Grafana.AltText
Extends: script
所有图片必须带有 alt text。
Grafana.AmazonCloudWatch
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
AWS CloudWatch | Amazon CloudWatch |
Cloudwatch | CloudWatch |
aws CloudWatch | Amazon CloudWatch |
cloudWatch | CloudWatch |
cloudwatch | CloudWatch |
Grafana.AmazonProductNames
Extends: conditional
首次提及时使用完整的 Amazon 产品名称。
Grafana.AndOr
Extends: existence
避免使用 'and/or',除非空间有限,例如表格中。
通常,“and”隐含着“or”的含义,因此您无需同时使用这两个词。
如果您的内容需要同时指定两者,请写成:“您可以导出原始事件、已处理事件或两者。”
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
and/or
Grafana.ApacheProjectNames
Extends: conditional
首次提及时使用完整的 Apache 项目名称。
Grafana.CHANGELOG
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>,除非您指的是拼写如此的特定文件。
| 当前文本 | 替代文本 |
|---|---|
[Cc]hangelog | CHANGELOG |
[Cc]hangelog\.md | CHANGELOG.md |
[Cc]hangelogs | CHANGELOGs |
Grafana.CommandLinePrompts
Extends: script
不要在命令前添加 $ 或 # 作为提示符。请方便用户复制和粘贴命令。
此外,不要在命令中使用 # 添加注释。解释应放在代码块外部。
Grafana.DatadogProxy
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
Datadog Proxy | Datadog proxy |
[tT]he [Dd]atadog proxy | Datadog proxy |
Grafana.DialogBox
Extends: substitution
使用 <REPLACEMENT TEXT> 而非 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
dialog box appears | dialog box opens |
dialog(?! box) | dialog box |
modal | dialog box |
Grafana.DocumentationTeam
Extends: substitution
使用 <REPLACEMENT TEXT> 而非 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
[Dd]ocs? (?:[Ss]quad|[Tt]eam) | the Grafana Labs documentation team |
[Dd]ocumentation (?:[Ss]quad|Team) | the Grafana Labs documentation team |
Grafana.EndToEnd
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
[eE]2[eE] | end-to-end |
Grafana.Exclamation
Extends: existence
避免在文本中使用感叹号,除非是极少数真正令人兴奋的时刻。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\w+!(?:\s|$)
Grafana.Gerunds
Extends: script
对于基于任务的标题,以 不带 to 的不定式 开头,也称为原形或 基本形式 动词。在英语中,祈使语气也使用动词的基本形式,因此看起来与不带 to 的不定式相同。
基于任务的标题经常用于快速入门、操作指南和教程中。
对于概念性或非基于任务的标题,使用不以 -ing 动词开头的 名词短语。
名词短语标题经常用于概念文档中。
Grafana.GoogleEllipses
Extends: existence
通常情况下,不要使用省略号。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\.\.\.
Grafana.GoogleFirstPerson
Extends: existence
避免使用第一人称代词,例如 <CURRENT TEXT>。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
(?:^|\s)I\s(?:^|\s)I,\s\bI'm\b\bme\b\bmy\b\bmine\b
Grafana.GoogleHeadingPunctuation
Extends: existence
标题末尾不要加句号。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
[a-z0-9][.]\s*$
Grafana.GoogleProductNames
Extends: conditional
首次提及时使用完整的 Google 产品名称。
Grafana.GoogleRanges
Extends: existence
描述数字范围时,不要添加“from”或“between”等词汇。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
(?:from|between)\s\d+\s?-\s?\d+
Grafana.GoogleSpelling
Extends: existence
通常情况下,使用美式拼写而非 <CURRENT TEXT>。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
(?:\w+)nised?colourlabourcentre
Grafana.GoogleWill
Extends: existence
避免使用 <CURRENT TEXT>。
对于描述与特定时间无关的一般性行为的陈述,请使用现在时。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
will
Grafana.GrafanaCom
Extends: existence
不要使用 grafana.com,请改用以下方式之一
- 如果您讨论的是 Grafana Cloud,请使用
Grafana Cloud。 - 如果您讨论的是公司,请使用
Grafana Labs。 - 如果您链接到网站上的页面,请使用页面标题或包含 scheme 的完整 URL。例如,
https://grafana.org.cn/。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
grafana\.com
Grafana.Headings
Extends: capitalization
对 <CURRENT TEXT> 使用句子风格的大小写。
Vale 将多词例外(例如 Grafana Enterprise Metrics)视为一个单独且大小写正确的词汇。
如果您的标题包含代表产品名称的首字母大写词汇,您需要将这些词汇添加到 Grafana 词典或 https://github.com/grafana/writers-toolkit/blob/main/vale/Headings.jsonnet 中的静态例外列表中,以便它们被视为大小写正确。
Grafana.Kubernetes
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
[Kk]ubectl | kubectl |
[Kk]ubelet | kubelet |
[Kk]ubernetes deployment | Kubernetes Deployment |
cron job | CronJob |
d[ae][ae]mon[Ss]et | DaemonSet |
pod | Pod |
replica[Ss]et | ReplicaSet |
stateful[Ss]et | StatefulSet |
Grafana.MetaMonitoring
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
meta ?monitoring | meta-monitoring |
Grafana.OK
Extends: existence
不要在文本中使用 okay 的任何变体。例外情况是您引用或引述时
- 用户界面
- HTTP 状态码或其他代码
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
O.K.OKokOkOkayokayA-OKhokaykkehkkM'kayokaokehOkie dokieOkily Dokily
Grafana.ProductPossessives
Extends: existence
不要从功能名称、产品名称或商标构成所有格,无论其所有者是谁。相反,将其用作修饰语,或重写以使用类似 'of' 的词来表示关系。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
ADOT'sAI Observability'sAgent'sAlloy'sARN'sAsserts'AWS'sAWS Distro for OpenTelemetry Collector'sAWS X-Ray'sBeyla'sBoringCrypto'sCentOS'sCloudWatch'sCodespaces'Data Firehose'sDatabricks'Datadog'sDynatrace'sEKS'sElastic Kubernetes Service'sEntra'sFigma'sFirehose'sFreeBSD'sGEM'sGKE'sGit'sGitHub'sGitLab'sGNU'sGrafana'sGravatar'sGraylog'sGunicorn'shashmod'sIBM'sInfluxDB'sJaeger'sJira'sjournald'sJsonnet'sKibana'sKillercoda'sKinesis'Kotlin'sKQL'sKubernetes'Kubernetes Engine'sKusto'sKustomize'sLangChain'slaunchd'sLogs Drilldown'sLoki'sLucene'sMarkdown'sMemcached'sMetrics Drilldown'sMesos'Mimir'sMoodle'sMySQL'sNetlink'sOkta'sOnCall'sOpenAI'sOpenShift'sOpenTelemetry'sOpsgenie'sOTel'sPagerDuty'sParca'sPhlare'sPinecone'sPodman'sPostgres'PostgreSQL'spprof'sProfiles Drilldown'sPrometheus'Promtail'sPyroscope'sRCA workbench'sRDS'sRelational Database Service'sReact'sRedis'RHEL'sRollup'sRudderStack'sSensu'sSensu Go'sSplunk'sSSM'sSUSE'sTempo'sThanos'Threema'sTraces Drilldown'sVelero'sVite'sVMware'sWebex'sWildFly'swindows_exporter'sZipkin's
Grafana.PrometheusExporters
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
[Nn]ode exporter | Node Exporter |
Grafana.Quickstart
Extends: substitution
无论名词是隐含的还是明确的,都请使用复合形容词 <REPLACEMENT TEXT>(不带连字符)替代 <CURRENT TEXT>。例如,您可以使用 quickstart guide 或仅使用 quickstart。
| 当前文本 | 替代文本 |
|---|---|
quick start | quickstart |
Grafana.README
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>,除非您指的是拼写如此的特定文件。
| 当前文本 | 替代文本 |
|---|---|
[Rr]eadme | README |
[Rr]eadme\.md | README.md |
[Rr]eadmes | READMEs |
Grafana.React
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
[Rr]eact[. ]?[Jj][Ss] | React |
Grafana.SQL
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
在首字母缩略词 SQL 之前使用的冠词(a 或 an)取决于该词的发音方式。
指代产品 Microsoft SQL Server 时,SQL 应发音为“sequel”。在这种情况下,使用冠词“a”,例如“a SQL Server analysis”。
在任何其他语境下(例如 SQL databases, errors, or servers)指代该术语时,SQL 应发音为“ess-cue-el”。在这种情况下,使用冠词“an”,例如“an SQL error”。
| 当前文本 | 替代文本 |
|---|---|
[Aa] SQL server | an SQL server|a SQL Server |
[Aa] SQL(?! [Ss]erver) | an SQL |
[Aa]n SQL Server | a SQL Server |
Grafana.SelfManaged
Extends: substitution
讨论 Grafana 部署方法时,使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
on-prem(?:ise)? | self-managed |
self-hosted | self-managed |
Grafana.Shortcodes
Extends: script
优先使用 {{< 和 >}},而非 {{% 和 %}}
它具有最一致的语义。
百分号语法用于此 shortcode 不需要特殊行为的情况。
Grafana.SmartQuotes
Extends: script
避免在源文件中使用智能引号,尤其是在代码块中。
将所有智能双引号(例如 “ 或 ”)替换为 "。将所有智能单引号(例如 ‘、’ 或 ʼ)替换为 '。
在某些上下文中,Unicode 字符不受支持并会破坏配置。
网站会在段落中将成对的引号渲染为智能引号。
Grafana.Wish
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
wish | need|want |
Grafana.WordList
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
(?:(?<!Data )Firehose|Kinesis Data Firehose|Kinesis Firehose) | Data Firehose |
(?:SHA-1|HAS-SHA1) | SHA-1 |
(?:WiFi|wifi) | Wi-Fi |
(?:[Oo]penshift|openShift) | OpenShift |
(?:[eE]-mail) | email |
(?:[oO]pentelemetry|openTelemetry) | OpenTelemetry |
(?:alert[Mm]anager|[Aa]lert [Mm]anager|AlertManager) | Alertmanager |
(?:cell ?phone|smart ?phone) | phone|mobile phone |
(?:content|media)-?type | media type |
(?:file ?path|path ?name) | path |
(?:file ?path|path ?name)s | paths |
(?:github|gitHub|Github) | GitHub |
(?:gitlab|gitLab|Gitlab) | GitLab |
(?:hamburger menu|kebab menu) | menu icon |
(?:java[Ss]cript|Javascript) | JavaScript |
(?:kill|terminate|abort) | stop|exit|cancel|end |
(?<!kube-)prometheus | Prometheus |
(?<!lambda-)promtail | Promtail |
GME | GEM |
Grafana AI observability | Grafana AI Observability |
HTTPs | HTTPS |
Influx[Dd]b | InfluxDB |
Influxd[Bb] | InfluxDB |
Once | After |
Pagerduty | PagerDuty |
RCA Workbench | RCA workbench |
Rudderstack | RudderStack |
VMWare | VMware |
Vmware | VMware |
[Ww]orld [Ww]ide [Ww]eb | web |
[cC]entos | CentOS |
\b(?:[aA]daptive metrics|adaptive Metrics)\b | Adaptive Metrics |
ad[- ]?hoc | free-form|user-written |
back[ -]end | backend |
blacklist | blocklist |
blacklisted | blocklisted |
blacklisting | blocklisting |
blacklists | blocklists |
cadvisor | cAdvisor |
check[- ]box | checkbox |
content type | media type |
media type | data-?source |
data source | data-?sources |
data sources | data[- ]?set |
dataset | data[- ]?sets |
datasets | datacenter |
data center | datacenters |
data centers | de-duplicate |
deduplicate | de-duplicated |
deduplicated | de-duplicates |
deduplicates | de-duplication |
deduplication | fewer data |
less data | figma |
Figma | file name |
filename | file names |
filenames | firewalls |
firewall rules | front[ -]end |
frontend | front[ -]ends |
frontends | git |
Git | Grafana |
grafana | unavailable |
gunicorn | Gunicorn |
in order to | to |
influx[Dd][Bb] | InfluxDB |
jsonnet | Jsonnet |
kotlin | Kotlin |
langchain | LangChain |
left[- ]hand[- ]side | left-side |
log(?:ql|QL) | LogQL |
loki | Loki |
lucene | Lucene |
markdown | Markdown |
memcached | Memcached |
meta[- ]data | metadata |
mix[- ]in | mixin |
mysql | MySQL |
network IP address | internal IP address |
open-source | open source |
otel | OTel |
otlp | OTLP |
pager[dD]uty | PagerDuty |
phlare | Phlare |
postgres | Postgres |
postgresql | PostgreSQL |
prom(?:ql|QL) | PromQL |
redis | Redis |
regex[ep]?s | regular expression |
regexp? | regular expression |
repo | repository |
repos | repositories |
right[- ]hand[- ]side | right-side |
rudderstack | RudderStack |
sensu | Sensu |
sign into | sign in to |
sqlite | SQLite |
style sheet | stylesheet |
style sheets | stylesheet |
synch | sync |
synched | synced |
synching | syncing |
tempo | Tempo |
the Grafana Agent | Grafana Agent |
the RCA [Ww]orkbench | RCA workbench |
threema | Threema |
timeseries | time series|time-series |
trace(?:ql|QL) | TraceQL |
un(?:check|select) | clear |
url | URL |
urls | URLs |
vmware | VMware |
vs\. | versus |
webex | Webex |
whitelist | allowlist |
whitelisted | allowlisted |
whitelisting | allowlisting |
whitelists | allowlists |
建议 (Suggestions)
以下规则是风格方面的建议。
Grafana.Acronyms
Extends: conditional
如果受众不熟悉,请拼出 <CURRENT TEXT> 的全称。
Grafana.Archives
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
[Uu]n(?:archive|compress|tar|zip) | extract |
[Zz][Ii][Pp](?: file)? | archive|compressed file |
unzip | extract |
Grafana.DropDown
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
将 drop-down 作为修饰语使用,而非独立名词。例如:drop-down menu。
| 当前文本 | 替代文本 |
|---|---|
drop ?down | drop-down |
Grafana.GoogleContractions
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
are not | aren't |
cannot | can't |
could not | couldn't |
did not | didn't |
do not | don't |
does not | doesn't |
has not | hasn't |
have not | haven't |
how is | how's |
is not | isn't |
it is | it's |
should not | shouldn't |
that is | that's |
they are | they're |
was not | wasn't |
we are | we're |
we have | we've |
were not | weren't |
what is | what's |
when is | when's |
where is | where's |
will not | won't |
Grafana.GoogleOxfordComma
Extends: existence
在 <CURRENT TEXT> 中使用牛津逗号。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
(?:[^,]+,){1,}\s\w+\s(?:and|or)
Grafana.GooglePassive
Extends: existence
通常情况下,使用主动语态而非被动语态(<CURRENT TEXT>)。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
[\w]+edawokenbeatbecomebeenbegunbentbesetbetbidbiddenbittenbledblownbornboughtboundbredbroadcastbrokenbroughtbuiltburntburstcastcaughtchosenclungcomecostcreptcutdealtdiveddonedrawndreamtdrivendrunkdugeatenfallenfedfeltfitfledflownflungforbiddenforegoneforgivenforgottenforsakenfoughtfoundfrozengivengonegottengroundgrownheardheldhiddenhithunghurtkeptkneltknitknownlaidlainleaptlearntledleftlentletlightedlostmademeantmetmisspeltmistakenmownovercomeoverdoneovertakenoverthrownpaidpledprovenputquitreadridriddenrisenrunrungsaidsatsawnseensentsetsewnshakenshavenshedshodshoneshornshotshownshrunkshutslainsleptslidslitslungsmittensoldsoughtsownspedspentspiltspitsplitspokenspreadsprungspunstolenstoodstriddenstrivenstruckstrungstuckstungstunksungsunksweptswollenswornswumswungtakentaughtthoughtthrivedthrownthrusttoldtorntroddenunderstoodupheldupsetwedweptwithheldwithstoodwokenwonwornwoundwovenwrittenwrung
Grafana.GoogleSemicolons
Extends: existence
谨慎使用分号。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
;
Grafana.OAuth
Extends: substitution
使用 <REPLACEMENT TEXT> 替代 <CURRENT TEXT>。
| 当前文本 | 替代文本 |
|---|---|
O[Aa]uth 2(?!\.0) | OAuth 2.0 |
O[Aa]uth(?! 2\.0) | OAuth 2.0 |
Grafana.Parentheses
Extends: existence
谨慎使用括号。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
\(.{4,}\)
Grafana.ReadabilityAutomatedReadability
Extends: metric
<CURRENT TEXT> 目标分数为 8 以下。
Grafana.ReadabilityColemanLiau
Extends: metric
<CURRENT TEXT> 目标分数为 9 以下。
Grafana.ReadabilityFleschKincaid
Extends: metric
<CURRENT TEXT> 目标分数为 8 以下。
Grafana.ReadabilityFleschReadingEase
Extends: metric
<CURRENT TEXT> 目标分数为 70 以上。
Grafana.ReadabilityGunningFog
Extends: metric
<CURRENT TEXT> 目标分数为 10 以下。
Grafana.ReadabilityLIX
Extends: metric
<CURRENT TEXT> 目标分数为 35 以下。
Grafana.ReadabilitySMOG
Extends: metric
<CURRENT TEXT> 目标分数为 10 以下。
Grafana.Timeless
Extends: existence
避免使用 <CURRENT TEXT> 以保持文档的时效性。
通常情况下,请记录产品或功能的当前版本。
这减少了保持文档更新所需的维护工作。它避免假设读者熟悉产品的早期版本。
如果您撰写的是过程性或带有时间戳的内容,例如新闻稿、博客文章或发布说明,则可以使用此类基于时间的词汇和短语。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
as of this writingcurrentlydoes not yeteventuallyexistingfuturein the futurelatestnewnewernowoldolderpresentlyat presentsoon
Grafana.We
Extends: existence
谨慎使用第一人称复数代词,例如 <CURRENT TEXT>。
讨论读者时,不要使用“we”,请使用“you”。
讨论 Grafana Labs 时,可以使用“we”。
<CURRENT TEXT> 与以下一个或多个正则表达式匹配
wewe'(?:ve|re)ours?uslet's
