Šķîþ ţö ḿàîñ çöñţéñţ

Ṽöîçé þŕöƒîļé

À ṽöîçé þŕöƒîļé đéšçŕîƃéš ĥöŵ à þŕöĵéçţ'š çöñţéñţ šĥöüļđ šöüñđ: îţš ţöñé, îţš šţýļé ḿéàšüŕéš àñđ þàţţéŕñ ŕüļéš, àñđ ŵöŕķéđ éẋàḿþļéš öƒ ţĥé ṽöîçé ƃéîñĝ ĝöţ ŕîĝĥţ àñđ ŵŕöñĝ. Ṽöîçé çĥéçķš šçöŕé çöñţéñţ àĝàîñšţ îţ, àñđ ĝéñéŕàţîöñ šţéþš àŕé šţééŕéđ ƃý îţ. Ŵöŕđ ŕüļéš ("ŵŕîţé ţĥîš, ñöţ ţĥàţ") àŕé ţéŕḿš; à ṽöîçé ƒîļé ḿàý çàŕŕý ţĥéḿ ƃéšîđé ţĥé ṽöîçé üñđéŕ terms: (šéé Ŵöŕđ ŕüļéš).

Îţ îš ţĥé öñé šéŕîàļîžàţîöñ îñ ţĥîš ƒàḿîļý ŵŕîţţéñ îñ ÝÀḾĻ; ţĥé öţĥéŕš àŕé ĴŠÖÑ.

Îḿþļéḿéñţéđ îñ Ĝö àţ core/profile.

Ŵĥý ÝÀḾĻ​

Éṽéŕý öţĥéŕ ƒöŕḿàţ ĥéŕé îš ḿàçĥîñé-þŕöđüçéđ: éẋþöŕţéđ ƒŕöḿ à šţöŕé, þàçķéđ ƃý à çöḿḿàñđ, çàñöñîçàļîžéđ ƒöŕ ĥàšĥîñĝ. À ṽöîçé þŕöƒîļé îš ţĥé öþþöšîţé: îţ îš àüţĥöŕéđ àñđ éđîţéđ ƃý à þéŕšöñ, àñđ îţ îš ḿöšţļý þŕöšé. Ţöñé đéšçŕîþţîöñš, šţýļé ŕüļéš, àñđ ţĥé ŵöŕķéđ éẋàḿþļéš àŕé ḿüļţî-ļîñé Éñĝļîšĥ ţéẋţ.

ÝÀḾĻ çàŕŕîéš ḿüļţî-ļîñé þŕöšé ŵîţĥöüţ éšçàþîñĝ îţ, àļļöŵš çöḿḿéñţš éẋþļàîñîñĝ ŵĥý à ŕüļé éẋîšţš, àñđ đš à ŕéŵöŕđéđ þàŕàĝŕàþĥ ļéĝîƃļý. ĴŠÖÑ đöéš ñöñé öƒ ţĥöšé ŵéļļ. Ţĥé ţýþé àļšö çàŕŕîéš ĴŠÖÑ ţàĝš, šö ţĥé šàḿé þŕöƒîļé šéŕîàļîžéš ţö ĴŠÖÑ ŵĥéñ îţ ḿöṽéš öṽéŕ àñ ÀÞÎ öŕ îñţö à šţöŕé; ţĥé ÝÀḾĻ îš ţĥé àüţĥöŕîñĝ ƒöŕḿ. kapi voice edit öþéñš ţĥé šţöŕéđ þŕöƒîļé àš ţĥîš ÝÀḾĻ, ṽàļîđàţéš ŵĥàţ ýöü šàṽé, àñđ ŕéàđš îţ ƃàçķ îñţö ţĥé šţöŕé àš öñé ŕéçöŕđéđ çĥàñĝé.

Ŕéšöļüţîöñ ļàđđéŕ​

Ŵĥéñ à çöḿḿàñđ ñééđš à þŕöƒîļé àñđ ñö --profile, --profile-file, öŕ --pack ƒļàĝ îš ĝîṽéñ, ķàþî ŕéšöļṽéš öñé îñ ţĥîš öŕđéŕ:

  1. Ţĥé ŕéçîþé ƃîñđîñĝ: defaults.voice îñ kapi.yaml, ñàḿîñĝ à profile îñ ţĥé þŕöĵéçţ'š ṽöîçé šţöŕé öŕ à pack. À ŕéçîþé ñàḿéš ñö þŕöƒîļé ƒîļé.
  2. Ţĥé þŕöƒîļé'š öŵñ ñàḿé: à þŕöƒîļé üñđéŕ profiles: ţĥàţ ƃîñđš ñö voice: öƒ îţš öŵñ îš àñšŵéŕéđ ƃý ţĥé þŕöƒîļé ţĥé šţöŕé ĥöļđš üñđéŕ îţš ñàḿé, ƃéƒöŕé ţĥé þŕöĵéçţ đéƒàüļţ îš; šéé Çöñţéẋţ.

Éṽéŕý ŕüñĝ àñšŵéŕš öüţ öƒ ţĥé þŕöĵéçţ'š ṽöîçé šţöŕé. À voice.yaml îñ ţĥé çĥéçķöüţ îš ŵĥàţ kapi store import ŕéàđš; ñö çöḿḿàñđ ţĥàţ ŕéšöļṽéš à þŕöƒîļé öþéñš öñé.

--profile, --profile-file, àñđ --pack àŕé ḿüţüàļļý éẋçļüšîṽé; þàššîñĝ ḿöŕé ţĥàñ öñé îš àñ éŕŕöŕ.

Ƒîéļđš​

ƑîéļđŢýþéÑöţéš
namešţŕîñĝŔéǫüîŕéđ.
idšţŕîñĝÖþţîöñàļ îđéñţîţý.
descriptionšţŕîñĝÖþţîöñàļ.
toneöƃĵéçţŢĥé ţöñé þŕöƒîļé (šéé Ţöñé).
styleöƃĵéçţŠţýļé ŕüļéš, îñçļüđîñĝ ţĥé þŕöĥîƃîţéđ àñđ ŕéǫüîŕéđ þàţţéŕñš (šéé Šţýļé àñđ þàţţéŕñš).
examplesàŕŕàýŴöŕķéđ éẋàḿþļéš öƒ ţĥé ṽöîçé (šéé Éẋàḿþļéš).
localesḿàþÞéŕ-ļöçàļé öṽéŕŕîđéš, ķéýéđ ƃý ļöçàļé îđ (šéé Öṽéŕŕîđéš).
channelsḿàþÞéŕ-çĥàññéļ öṽéŕŕîđéš.
personasḿàþÞéŕ-þéŕšöñà öṽéŕŕîđéš.
autonomyöƃĵéçţĤöŵ ƒàŕ àüţöḿàţéđ šţéþš ḿàý àçţ öñ ţĥé þŕöƒîļé (šéé Àüţöñöḿý).
min_scoreîñţŢĥé çöḿþļîàñçé ƃàŕ, 0–100 (šéé Ţĥé çöḿþļîàñçé ƃàŕ).
version, version_noteîñţ, šţŕîñĝÞŕöƒîļé ŕéṽîšîöñ àñđ à ñöţé đéšçŕîƃîñĝ îţ.
created_at, updated_at, created_byţîḿéšţàḿþ, ţîḿéšţàḿþ, šţŕîñĝÞŕöṽéñàñçé.
workspace_idšţŕîñĝŠéţ ŵĥéñ ţĥé þŕöƒîļé çàḿé ƒŕöḿ à ŵöŕķšþàçé.

À ṽöîçé ƒîļé ḿàý àļšö ĥöļđ à ţöþ-ļéṽéļ terms: ļîšţ öƒ ŵöŕđ ŕüļéš ƃéšîđé ţĥéšé ƒîéļđš (šéé Ŵöŕđ ŕüļéš). Ţĥé ļîšţ ƃéļöñĝš ţö ţĥé ƒîļé, ñöţ ţö ţĥé þŕöƒîļé, àñđ îḿþöŕţîñĝ ţĥé ƒîļé ḿöṽéš îţ îñţö ţĥé þŕöĵéçţ'š ţéŕḿš.

Ţöñé​

ƑîéļđŢýþéÑöţéš
personalityšţŕîñĝ[]Àđĵéçţîṽéš, é.ĝ. [friendly, knowledgeable, direct].
formalityšţŕîñĝcasual, neutral, formal, öŕ technical.
emotionšţŕîñĝwarm, neutral, öŕ authoritative.
humoršţŕîñĝnone, light, öŕ frequent.
guidelinesšţŕîñĝƑŕéé þŕöšé ţĥé ĝüîđé ŕéñđéŕš àñđ ţĥé ḿöđéļ ŕéàđš. Öþţîöñàļ.

Šţýļé àñđ þàţţéŕñš​

ƑîéļđŢýþéÑöţéš
active_voiceƃööļÞŕéƒéŕ ţĥé àçţîṽé ṽöîçé.
sentence_lengthšţŕîñĝshort, medium, öŕ varied.
person_povšţŕîñĝfirst_plural, second, öŕ third.
contractionsšţŕîñĝalways, sometimes, öŕ never.
prohibited_patternsÞàţţéŕñ[]Ŕéĝéẋ ŕüļéš ŵĥöšé ḿàţçĥ îš à ƒîñđîñĝ.
required_patternsÞàţţéŕñ[]Ŕéĝéẋ ŕüļéš ŵĥöšé àƃšéñçé îš à ƒîñđîñĝ.
commentsöƃĵéçţŴöŕđ ļîḿîţš ƒöŕ ţĥé çöḿḿéñţš îñ šöüŕçé ƒîļéš (šéé Çöḿḿéñţ ļîḿîţš). Öþţîöñàļ.

Þàţţéŕñš​

Éàçĥ éñţŕý üñđéŕ prohibited_patterns àñđ required_patterns îš à Þàţţéŕñ:

ƑîéļđŢýþéÑöţéš
regexšţŕîñĝŢĥé þàţţéŕñ, îñ Ĝö ŕéĝüļàŕ-éẋþŕéššîöñ šýñţàẋ. Ŕéǫüîŕéđ.
descriptionšţŕîñĝŴĥàţ ţĥé ŕüļé îš ƒöŕ; šĥöŵñ ŵîţĥ ţĥé ƒîñđîñĝ àñđ ŕéñđéŕéđ îñţö ţĥé ĝüîđé.
failsƃööļtrue ḿàķéš à ḿàţçĥ ƒàîļ à çĥéçķ. Üñšéţ, à ḿàţçĥ ŕéþöŕţš. Öþţîöñàļ.
advisoryƃööļtrue ḿàķéš à ḿàţçĥ ŕéþöŕţ ŵĥàţéṽéŕ fails šàýš. Öþţîöñàļ.
rateöƃĵéçţÀ đéñšîţý çéîļîñĝ îñšţéàđ öƒ à ƃàñ: max ḿàţçĥéš àļļöŵéđ þéŕ per_words ŵöŕđš (per_words đéƒàüļţš ţö 1,000). Üñđéŕ ţĥé çéîļîñĝ ñöţĥîñĝ îš ŕéþöŕţéđ; öṽéŕ îţ, éṽéŕý ḿàţçĥ îš. À max öƒ 0 îš ŕéĵéçţéđ àţ ṽàļîđàţîöñ. Öþţîöñàļ.
scopešţŕîñĝŴĥéŕé ţĥé ŕüļé àþþļîéš: üñšéţ ḿéàñš éṽéŕýŵĥéŕé; prose šķîþš ƒéñçéđ ƃļöçķš àñđ îñļîñé çöđé; code àþþļîéš öñļý îñšîđé ţĥéḿ; heading àþþļîéš öñļý ţö ĥéàđîñĝš. Öþţîöñàļ.
not_afteršţŕîñĝÀ ŕéĝüļàŕ éẋþŕéššîöñ ţéšţéđ àĝàîñšţ ţĥé ţéẋţ ƃéƒöŕé éàçĥ ḿàţçĥ; à ḿàţçĥ îţ ḿàţçĥéš ţĥéŕé îš ñöţ à ṽîöļàţîöñ. Àñçĥöŕ îţ ŵîţĥ $. Öþţîöñàļ, àñđ öñļý ƒöŕ prohibited_patterns.
style:
prohibited_patterns:
- regex: '\x{2014}'
description: "Em dashes read as machine-written; one per thousand words is the ceiling."
fails: true
rate: { max: 1, per_words: 1000 }
scope: prose

Ţĥé àļļöŵàñçé à ŕàţé ĝŕàñţš îš ŕöüñđéđ üþ àñđ ñéṽéŕ ƃéļöŵ max, šö à 300-ŵöŕđ đöçüḿéñţ üñđéŕ à "öñé þéŕ 1,000 ŵöŕđš" ŕüļé àļļöŵš öñé.

Ĝö ŕéĝüļàŕ éẋþŕéššîöñš ĥàṽé ñö ļööķƃéĥîñđ, šö à ŕüļé ŵĥöšé ḿéàñîñĝ ţüŕñš öñ ţĥé ŵöŕđš ƃéƒöŕé à ḿàţçĥ šţàţéš ţĥéḿ ŵîţĥ not_after. Ţĥé þàšţ-ĥàƃîţüàļ "üšéđ ţö" đéšçŕîƃéš ŵĥàţ çöđé đîđ ƃéƒöŕé à çĥàñĝé, ŵĥîļé "îš üšéđ ţö" àñđ "àñ îđ, üšéđ ţö ƒļàĝ" đéšçŕîƃé ŵĥàţ îţ đöéš:

style:
prohibited_patterns:
- regex: '(?i)\bused to\b'
not_after: '(?i)(?:(?:\b(?:is|are|was|were|be|been|being|get|gets|got|isn''t|aren''t|wasn''t|weren''t)|[''’]s)\s+(?:\w+\s+)?|[^\w\s)\]"''\x60’”]\s*|(?:^|\s)["“‘''\x60]|^\s*)$'
description: "A comment describes what the code does, not what it used to do."
scope: prose

Çöḿḿéñţ ļîḿîţš​

style.comments ĥöļđš ţĥé çöḿḿéñţš îñ šöüŕçé ƒîļéš ţö ŵöŕđ ļîḿîţš. À þŕöƒîļé ţĥàţ šéţš îţ àšķš kapi check ƒöŕ ţĥé çöḿḿéñţ ļîḿîţš àţ éṽéŕý þöîñţ îţ ĝöṽéŕñš, àñđ éàçĥ ļîḿîţ ļéƒţ öüţ ţàķéš îţš đéƒàüļţ, šö comments: {} àþþļîéš ţĥéḿ àļļ. À ļîḿîţ çöüñţš ŵöŕđš, àñđ à çöđé šþàñ, à ŕéƒéŕéñçé öŕ à ļîñķ îñ à çöḿḿéñţ îš ñöţ à ŵöŕđ.

ƑîéļđŢýþéĐéƒàüļţÑöţéš
sentence_wordsîñţ50Ţĥé ḿöšţ ŵöŕđš à šéñţéñçé ḿàý ĥöļđ. À šéñţéñçé öṽéŕ îţ îš à ƒîñđîñĝ.
comment_wordsîñţ100Ţĥé ḿöšţ ŵöŕđš à çöḿḿéñţ ţĥàţ đöçüḿéñţš ñö đéçļàŕàţîöñ ḿàý ĥöļđ.
doc_wordsîñţ150Ţĥé ḿöšţ ŵöŕđš à đéçļàŕàţîöñ'š đöç çöḿḿéñţ ḿàý ĥöļđ.
package_doc_wordsîñţ300Ţĥé ḿöšţ ŵöŕđš ţĥé đöç çöḿḿéñţ öƒ à þàçķàĝé öŕ ḿöđüļé ḿàý ĥöļđ.
density.ratioñüḿƃéŕ1Ţĥé ḿöšţ çöḿḿéñţ ļîñéš à çĥàñĝé ḿàý àđđ ƒöŕ éàçĥ çöđé ļîñé îţ àđđš.
density.min_comment_linesîñţ8Ĥöŵ ḿàñý çöḿḿéñţ ļîñéš à çĥàñĝé àđđš ƃéƒöŕé density.ratio àþþļîéš.
failsƃööļƒàļšéḾàķéš à šéñţéñçé öṽéŕ sentence_words, à çöḿḿéñţ öṽéŕ à ļéñĝţĥ ļîḿîţ àñđ à çĥàñĝé öṽéŕ ţĥé đéñšîţý ļîḿîţ ƒàîļ à çĥéçķ. Üñšéţ, ţĥé ļîḿîţš àŕé šţýļé ḿéàšüŕéš àñđ éṽéŕý ƒîñđîñĝ ţĥéý ŕàîšé ŕéþöŕţš.

À çöḿḿéñţ öṽéŕ à ļéñĝţĥ ļîḿîţ îš à ƒîñđîñĝ, àñđ šö îš à çĥàñĝé öṽéŕ ţĥé đéñšîţý ļîḿîţ. Đéñšîţý îš ḿéàšüŕéđ îñ à çĥéçķ šçöþéđ ţö à đ: îţ çöüñţš ţĥé ļîñéš ţĥé çĥàñĝé àđđš ţö éàçĥ ƒîļé, à çöḿḿéñţ ļîñé ƃéîñĝ öñé ţĥàţ ĥöļđš à çöḿḿéñţ àñđ ñöţĥîñĝ éļšé àñđ à çöđé ļîñé öñé ţĥàţ ĥöļđš àñýţĥîñĝ öüţšîđé à çöḿḿéñţ. Ţĥé þàçķàĝé öŕ ḿöđüļé đöç çöḿḿéñţ, à đîŕéçţîṽé àñđ à ƃļàñķ ļîñé çöüñţ àš ñéîţĥéŕ, šö à ñéŵ þàçķàĝé'š đöç çöḿḿéñţ îš ñéṽéŕ đéñšé. À çĥéçķ öṽéŕ ŵĥöļé ƒîļéš ŕéþöŕţš đéñšîţý àš üñšüþþöŕţéđ. Éàçĥ ļîḿîţ îš à þöšîţîṽé ñüḿƃéŕ: à þŕöƒîļé ŵîţĥ à žéŕö öŕ ñéĝàţîṽé ļîḿîţ ƒàîļš ţö ļöàđ ŵîţĥ àñ éŕŕöŕ ñàḿîñĝ ţĥé ķéý, àñđ šö đöéš à sentence_words ŵŕîţţéñ àš à ḿàþ.

style:
sentence_length: short
comments:
sentence_words: 50
doc_words: 150

sentence_length šţàýš ĝüîđàñçé ƒöŕ à ŵŕîţéŕ öŕ à ḿöđéļ, àñđ ţĥé ļîḿîţš àŕé ŵĥàţ à çĥéçķ éñƒöŕçéš. À çĥàññéļ öŕ þéŕšöñà ţĥàţ šüþþļîéš îţš öŵñ style đŕöþš ţĥé þŕöƒîļé'š çöḿḿéñţ ļîḿîţš üñļéšš îţ ŕéšţàţéš ţĥéḿ, àñđ ṽàļîđàţîöñ ŵàŕñš àƃöüţ îţ.

Ŵöŕđ ŕüļéš​

À ṽöîçé þŕöƒîļé ĥöļđš ñö ŵöŕđ ļîšţ. Éṽéŕý ŵöŕđ ŕüļé îš à ţéŕḿ, àñđ à ṽöîçé ƒîļé ḿàý çàŕŕý îţš ŕüļéš ƃéšîđé ţĥé ṽöîçé üñđéŕ à ţöþ-ļéṽéļ terms: ļîšţ, àš ţĥé šţàŕţéŕ þàçķš đö. kapi store import àñđ kapi voice import ḿöṽé ţĥé ļîšţ îñţö ţĥé þŕöĵéçţ'š ţéŕḿš àñđ ŕéþöŕţ ĥöŵ ḿàñý ŕüļéš ţĥéý ḿöṽéđ. Ŵĥéŕé à šţàŕţéŕ þàçķ îš ƃöüñđ àš ţĥé ṽöîçé, îţš ţéŕḿš àþþļý ƃéšîđé ţĥé þŕöĵéçţ'š öŵñ, àñđ à ƒîñđîñĝ ţĥéý ŕàîšé ñàḿéš ţĥé þàçķ (pack technical-docs).

À ƒîļé ţĥàţ ļîšţš îţš ŵöŕđš üñđéŕ vocabulary: (preferred_terms, forbidden_terms, competitor_terms) îš çöñṽéŕţéđ àš îţ îš ŕéàđ: à ƒöŕƃîđđéñ ţéŕḿ ƃéçöḿéš à ŕüļé, à çöḿþéţîţöŕ ţéŕḿ à ŕüļé ŵîţĥ competitor: true, àñđ à þŕéƒéŕŕéđ ţéŕḿ à þŕéƒéŕŕéđ ƒöŕḿ, öŕ àñ àđṽîšöŕý ŕüļé ŵĥéñ îţ ñàḿéš à đéŕéñţ ŕéþļàçéḿéñţ. Àƃƃŕéṽîàţîöñš àŕé đŕöþþéđ.

Éàçĥ éñţŕý üñđéŕ terms: îš à ŢéŕḿŔüļé. Ţĥé šàḿé šĥàþé îš ŵĥàţ à ƒļöŵ šţéþ öŕ defaults.tools àççéþţš üñđéŕ term_rules: ƒöŕ term-check, translate, recycle, dnt-check àñđ pseudo-translate, šö à ŕüļé çàŕŕîéđ ƃý à ṽöîçé ƒîļé àñđ à ŕüļé ĥàñđéđ ţö à ţööļ ŕéàđ îđéñţîçàļļý.

À ŕüļé ḿàţçĥéš ŵĥöļé ŵöŕđš. Îţ ñéṽéŕ ḿàţçĥéš îñšîđé à þļàçéĥöļđéŕ'š ñàḿé, à ÜŔĻ öŕ à ƃàŕé đöḿàîñ šüçĥ àš docs.example.com öŕ example.no, šö à ŕüļé öñ docs ļéàṽéš docs.example.com àļöñé àñđ šţîļļ ḿàţçĥéš "ţĥé đöçš þàĝé".

ƑîéļđŢýþéÑöţéš
termšţŕîñĝŢĥé ŵöŕđ öŕ þĥŕàšé ţö ŕéĵéçţ. À ŕüļé ŵîţĥ à replacement àñđ ñö term ñàḿéš à þŕéƒéŕŕéđ ƒöŕḿ àñđ ŕéĵéçţš ñöţĥîñĝ.
replacementšţŕîñĝŴĥàţ ţö šàý îñšţéàđ. Ţĥé ţŕàñšļàţîöñ ţööļš šķîþ à ŕüļé ŵîţĥ ñö ŕéþļàçéḿéñţ üñļéšš do_not_translate îš šéţ, ƃéçàüšé "šàý ţĥîš îñšţéàđ" ñééđš à ţĥîš; à çĥéçķ ŕéàđš à ƃàŕé ţéŕḿ àš "àṽöîđ ţĥîš".
notešţŕîñĝŴĥý, šĥöŵñ ŵîţĥ ţĥé ƒîñđîñĝ. Öþţîöñàļ.
advisoryƃööļtrue ḿàķéš à üšé öƒ ţĥé ţéŕḿ ŕéþöŕţ ŵîţĥöüţ ƒàîļîñĝ à çĥéçķ. Üñšéţ, à üšé ƒàîļš.
competitorƃööļtrue ḿàŕķš ţĥé ţéŕḿ àš à çöḿþéţîţöŕ'š ñàḿé.
concept_idšţŕîñĝŢĥé çöñçéþţ îñ ţĥé ţéŕḿš šţöŕé àñđ ţĥé ĝŕàþĥ ţĥîš ŕüļé đéñöţéš. Éḿþţý ƒöŕ à ŕüļé ŵŕîţţéñ ƃý ĥàñđ.
do_not_translateƃööļŢĥé ţéŕḿ ḿüšţ šüŕṽîṽé ṽéŕƃàţîḿ îñţö éṽéŕý ţàŕĝéţ. Ĝîṽéš à ƃàŕé ţéŕḿ ŵîţĥ ñö ŕéþļàçéḿéñţ îţš ḿéàñîñĝ.
formsšţŕîñĝ[]Ţĥé öţĥéŕ šüŕƒàçé šĥàþéš ţĥé ţéŕḿ ţàķéš (îñƒļéçţîöñš, đéçļéñšîöñš, çöñĵüĝàţîöñš), ḿàţçĥéđ àļöñĝšîđé term. Ḿàţçĥîñĝ îš éẋàçţ, šö ţĥé ƒöŕḿš àŕé đéçļàŕéđ ŕàţĥéŕ ţĥàñ đéŕîṽéđ; kapi terms expand àšķš à ḿöđéļ ƒöŕ ţĥéḿ îñ ţĥé ţéŕḿ'š ļàñĝüàĝé àñđ ŵŕîţéš ţĥéḿ öñţö ţĥé ţéŕḿ ƒöŕ ŕéṽîéŵ.
case_sensitiveƃööļŴĥéţĥéŕ ţĥé ţéŕḿ àñđ îţš ƒöŕḿš ḿàţçĥ îñ ţĥéîŕ öŵñ çàšîñĝ. Üñšéţ, à ŕüļé ŵĥöšé replacement îš çàþîţàļîšéđ ḿàţçĥéš çàšé-šéñšîţîṽéļý, àš à þŕöđüçţ ñàḿé đöéš (term: QuickCast, replacement: Quickcast ƒļàĝš QuickCast àñđ ļéàṽéš à ļöŵéŕ-çàšé ÜŔĻ šļüĝ quickcast àļöñé), àñđ šö đöéš à ŕüļé ŵĥöšé term đéŕš ƒŕöḿ îţš replacement öñļý îñ çàšé (term: Ripgrep, replacement: ripgrep); àñý öţĥéŕ ŕüļé ḿàţçĥéš ŕéĝàŕđļéšš öƒ çàšé. true öŕ false öṽéŕŕîđéš ţĥé đéƒàüļţ. term-check çöḿþàŕéš à šöüŕçé ţéŕḿ ŵîţĥ à ŕéþļàçéḿéñţ îñ àñöţĥéŕ ļàñĝüàĝé, šö îţ ḿàţçĥéš îñ ţĥé ţéŕḿ'š öŵñ çàšîñĝ öñļý ŵĥéñ ţĥîš îš true.
replacement_formsšţŕîñĝ[]Öţĥéŕ ƒöŕḿš öƒ replacement îñ ţĥé ļàñĝüàĝé îţ îš ŵŕîţţéñ îñ, šüçĥ àš ţĥé þļüŕàļ. term-check àççéþţš à ţŕàñšļàţîöñ ţĥàţ çöñţàîñš àñý öƒ ţĥéḿ.
acceptedöƃĵéçţ[]Ƒüŕţĥéŕ ŵöŕđîñĝš ţĥàţ šàţý ţĥé ŕüļé, éàçĥ ŵîţĥ text àñđ öþţîöñàļ forms: ţĥé àđḿîţţéđ àñđ àþþŕöṽéđ ţéŕḿš à çöñçéþţ çàŕŕîéš ƃéšîđé îţš þŕéƒéŕŕéđ öñé. replacement šţàýš ţĥé ŵöŕđîñĝ à ţŕàñšļàţîöñ îš àšķéđ ţö üšé.
scopešţŕîñĝŢĥé šàḿé ṽàļüéš à þàţţéŕñ'š scope ţàķéš. Éḿþţý ḿéàñš éṽéŕýŵĥéŕé.
terms:
- term: utilize
replacement: use
advisory: true
forms: [utilizes, utilized, utilizing]
scope: prose
- term: log in
replacement: sign in
- term: Acme Chat
replacement: messaging
competitor: true
- replacement: workspace
note: The name for a team's shared space

Éẋàḿþļéš​

ƑîéļđŢýþéÑöţéš
beforešţŕîñĝŢĥé ŵöŕđîñĝ ţö àṽöîđ.
afteršţŕîñĝŢĥé ŵöŕđîñĝ îñ ţĥîš ṽöîçé.
explanationšţŕîñĝŴĥý ţĥé šéçöñđ îš ƃéţţéŕ. Öþţîöñàļ.
categoryšţŕîñĝtone, style, öŕ vocabulary. Öþţîöñàļ.

Öṽéŕŕîđéš​

locales, channels, àñđ personas éàçĥ ĥöļđ þàŕţîàļ öṽéŕŕîđéš ļàýéŕéđ öñţö ţĥé ƃàšé þŕöƒîļé àţ ŕéšöļüţîöñ ţîḿé. À þŕöƒîļé çàñ ţĥéŕéƒöŕé šàý "ţĥîš îš ţĥé ṽöîçé" öñçé àñđ ţĥéñ ṽàŕý îţ (ţéŕšéŕ îñ à þüšĥ ñöţîƒîçàţîöñ, ḿöŕé ƒöŕḿàļ îñ de-DE, ŵàŕḿéŕ ƒöŕ à þàŕţîçüļàŕ þéŕšöñà) ŵîţĥöüţ đüþļîçàţîñĝ ţĥé ŵĥöļé đöçüḿéñţ þéŕ ṽàŕîàñţ.

Ŕéšöļüţîöñ àþþļîéš ţĥé ŕéǫüéšţéđ ļöçàļé, çĥàññéļ, àñđ þéŕšöñà ţö þŕöđüçé öñé 郃éçţîṽé þŕöƒîļé; ţĥé šţöŕéđ þŕöƒîļé šţàýš ţĥé šîñĝļé àüţĥöŕéđ šöüŕçé.

À ļöçàļé öṽéŕŕîđé (locales.<locale>) çàŕŕîéš:

ƑîéļđŢýþéÑöţéš
formality, humor, person_povšţŕîñĝŔéþļàçé ţĥé ƃàšé ţöñé öŕ šţýļé ṽàļüé ƒöŕ ţĥîš ļàñĝüàĝé.
cultural_notesšţŕîñĝĜüîđàñçé ţĥàţ ĥöļđš ƒöŕ ţĥîš ļàñĝüàĝé öñļý.
example_overridesṼöîçéÉẋàḿþļé[]Éẋàḿþļéš îñ ţĥîš ļàñĝüàĝé.

À çĥàññéļ öṽéŕŕîđé (channels.<channel>) àđĵüšţš ţĥé ṽöîçé öñ öñé çĥàññéļ. À çöļļéçţîöñ'š çĥàññéļ šéļéçţš ţĥé ḿàţçĥîñĝ éñţŕý.

ƑîéļđŢýþéÑöţéš
tone, styleöƃĵéçţŔéþļàçé ţĥé ŕéšöļṽéđ ţöñé öŕ šţýļé ŵĥöļéšàļé.
channels:
child:
tone:
formality: casual
humor: light

À þéŕšöñà öṽéŕŕîđé (personas.<name>) ļàýéŕš àñ îñđîṽîđüàļ àüţĥöŕ'š ṽöîçé îñšîđé ţĥé þŕöƒîļé'š ĝüàŕđŕàîļš:

ƑîéļđŢýþéÑöţéš
tone, styleöƃĵéçţŔéþļàçé ţĥé ŕéšöļṽéđ ţöñé öŕ šţýļé, àš à çĥàññéļ öṽéŕŕîđé đöéš.

Ŕéšöļüţîöñ àþþļîéš ţĥé ļöçàļé öṽéŕŕîđé ƒîŕšţ, ţĥéñ ţĥé çĥàññéļ, ţĥéñ ţĥé þéŕšöñà. Ñö öṽéŕŕîđé çàŕŕîéš ŵöŕđ ŕüļéš: ţĥé ţéŕḿš ƃöüñđ àţ à þöîñţ àþþļý öñ éṽéŕý çĥàññéļ àñđ ţö éṽéŕý þéŕšöñà.

Àüţöñöḿý​

ƑîéļđŢýþéÑöţéš
auto_promote_at_countîñţÞŕöḿöţé à çàñđîđàţé ŕüļé îñţö ţĥé þŕöĵéçţ'š ţéŕḿš àüţöḿàţîçàļļý öñçé ţĥîš ḿàñý çöŕŕéçţîöñš šţàñđ ƃéĥîñđ îţ, ŵîţĥ ñö ĥüḿàñ ŕéṽîéŵ. 0 (ţĥé đéƒàüļţ) ķééþš éṽéŕý þŕöḿöţîöñ ḿàñüàļ.

Ţĥé çöḿþļîàñçé ƃàŕ​

min_score îš ţĥé ḿîñîḿüḿ ṽöîçé-çöḿþļîàñçé šçöŕé à ƃļöçķ ḿüšţ ŕéàçĥ ţö çöüñţ àš çöḿþļîàñţ îñ ŕöļļ-üþš. Ŵĥéñ à þŕöƒîļé đöéš ñöţ šéţ öñé, ţĥé đéƒàüļţ öƒ 80 àþþļîéš: à ƃàŕ çàļîƃŕàţéđ šö ţĥàţ à šîñĝļé ƒàîļîñĝ ƒîñđîñĝ àļŕéàđý đŕöþš à ƃļöçķ ƃéļöŵ îţ, ŵĥîļé à ĥàñđƒüļ öƒ ƒîñđîñĝš ţĥàţ öñļý ŕéþöŕţ đöéš ñöţ. Ţĥé ƃàŕ šĥàþéš ŕöļļ-üþš àñđ đàšĥƃöàŕđš; ŵĥéţĥéŕ à çĥéçķ ƒàîļš đéþéñđš öñ îţš ƒàîļîñĝ ƒîñđîñĝš àļöñé.

À þŕöƒîļé ţĥàţ çàññöţ ƃé ŕéàđ ŕéšöļṽéš ţö ţĥé đéƒàüļţ ƃàŕ, šö ŕöļļ-üþš öṽéŕ ĥîšţöŕîçàļ šçöŕéš šţàý çöḿþàŕàƃļé.

Ŵĥàţ ţĥé þŕöƒîļé ļéàṽéš öüţ​

  • Šçöŕéš àñđ ƒîñđîñĝš. Ţĥöšé àŕé çĥéçķ ŕéšüļţš çöḿþüţéđ àĝàîñšţ ţĥé þŕöƒîļé, šţöŕéđ ŵîţĥ ţĥé çöñţéñţ öŕ ţĥé ŕüñ, àñđ ñéṽéŕ ŵŕîţţéñ ƃàçķ ĥéŕé.
  • Ţĥé šţöŕé îţ çàḿé ƒŕöḿ. À þŕöƒîļé đöçüḿéñţ îš öñé þŕöƒîļé; ţĥé ṽöîçé šţöŕé ĥöļđš éṽéŕý þŕöƒîļé à þŕöĵéçţ ĥàš (voice.db ƒöŕ à šţàñđàļöñé šţöŕé; îñšîđé à þŕöĵéçţ, ţĥé ṽöîçé ţàƃļéš öƒ ţĥé þŕöĵéçţ šţöŕé).
  • Ļöçàļé-šþéçîƒîç çöñţéñţ. Öṽéŕŕîđéš àđĵüšţ ṽöîçé, ñéṽéŕ çöþý. Ţŕàñšļàţéđ šţŕîñĝš ƃéļöñĝ îñ ţĥé đéļîṽéŕàƃļé.

Šéé àļšö​