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

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

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

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

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

Ŵĥý ÝÀḾĻ

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

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

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

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

  1. Ţĥé ŕéçîþé ƃîñđîñĝ: defaults.voice îñ kapi.yaml, ŵĥîçĥ ḿàý ñàḿé à profile_file, à pack, öŕ à þŕöƒîļé îñ ţĥé ļöçàļ ṽöîçé šţöŕé. À þŕöƒîļé üñđéŕ profiles: ƃîñđš îţš öŵñ voice: ƒöŕ ţĥé þŕöđüçţ îţ ĝöṽéŕñš, àñđ îţš çöñṽéñţîöñàļ .kapi/profiles/<name>/voice.yaml àñšŵéŕš ƃéƒöŕé ţĥé þŕöĵéçţ đéƒàüļţ đöéš; šéé Çöñţéẋţ.
  2. <project-root>/.kapi/voice.yaml: ţĥé þŕöƒîļé'š ĥöḿé îñ ţĥé çöḿḿîţţéđ çöñţéẋţ ĝŕàþĥ, ƃéšîđé ţĥé ţéŕḿš àñđ ţĥé çöñţéñţ ḿéḿöŕý.
  3. <project-root>/voice.yaml

Ţĥé ƃîñđîñĝ ŵîñš. Ŕüñĝš 2 àñđ 3 àŕé çöñṽéñţîöñš ţĥàţ ḿàķé kapi voice check DRAFT.md ŵöŕķ ƒļàĝ-ƒŕéé îñšîđé à þŕöĵéçţ; à þŕöĵéçţ ţĥàţ ĥàš ƃöüñđ à þŕöƒîļé ñéṽéŕ ŕéàçĥéš ţĥéḿ.

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

Ƒîéļđš

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

Ţöñé

ƑîéļđŢýþéÑöţéš
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šţŕîñĝŴĥàţ ţĥé ŕüļé îš ƒöŕ; šĥöŵñ ŵîţĥ ţĥé ƒîñđîñĝ àñđ ŕéñđéŕéđ îñţö ţĥé ĝüîđé.
severityšţŕîñĝminor, major, öŕ critical. Đéçîđéš ţĥé šçöŕé þéñàļţý àñđ ŵĥéţĥéŕ ţĥé ƒîñđîñĝ ƒàîļš à šţŕîçţ çĥéçķ.
rateöƃĵéçţÀ đéñšîţý çéîļîñĝ îñšţéàđ öƒ à ƃàñ: max ḿàţçĥéš àļļöŵéđ þéŕ per_words ŵöŕđš (per_words đéƒàüļţš ţö 1,000). Üñđéŕ ţĥé çéîļîñĝ ñöţĥîñĝ îš ŕéþöŕţéđ; öṽéŕ îţ, éṽéŕý ḿàţçĥ îš. À max öƒ 0 îš ŕéĵéçţéđ àţ ṽàļîđàţîöñ. Öþţîöñàļ.
scopešţŕîñĝŴĥéŕé ţĥé ŕüļé àþþļîéš: üñšéţ ḿéàñš éṽéŕýŵĥéŕé; prose šķîþš ƒéñçéđ ƃļöçķš àñđ îñļîñé çöđé; code àþþļîéš öñļý îñšîđé ţĥéḿ; heading àþþļîéš öñļý ţö ĥéàđîñĝš. Öþţîöñàļ.
not_afteršţŕîñĝÀ ŕéĝüļàŕ éẋþŕéššîöñ ţéšţéđ àĝàîñšţ ţĥé ţéẋţ ƃéƒöŕé éàçĥ ḿàţçĥ; à ḿàţçĥ îţ ḿàţçĥéš ţĥéŕé îš ñöţ à ṽîöļàţîöñ. Àñçĥöŕ îţ ŵîţĥ $. Öþţîöñàļ, àñđ öñļý ƒöŕ prohibited_patterns.
style:
prohibited_patterns:
- regex: "—"
description: "Em dashes read as machine-written; one per thousand words is the ceiling."
severity: minor
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."
severity: major
scope: prose

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

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

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

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

style:
sentence_length: short
comments:
sentence_words: { minor: 50, major: 70 }
doc_words: 150

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

Ṽöçàƃüļàŕý àñđ ţéŕḿ ŕüļéš

ƑîéļđŢýþéÑöţéš
preferred_termsŢéŕḿŔüļé[]Ţĥé šþéļļîñĝ ţö üšé; à ŕüļé'š replacement îš ţĥé þŕéƒéŕŕéđ ƒöŕḿ àñđ îţš term ţĥé öñé ţö àṽöîđ.
forbidden_termsŢéŕḿŔüļé[]Ŵöŕđš ţĥé ṽöîçé ñéṽéŕ üšéš, ŵîţĥ ŵĥàţ ţö šàý îñšţéàđ.
competitor_termsŢéŕḿŔüļé[]Ñàḿéš öƒ öţĥéŕ þŕöđüçţš, ƒļàĝĝéđ ŵĥéŕéṽéŕ ţĥéý àþþéàŕ.
abbreviationsḿàþÀƃƃŕéṽîàţîöñ ţö éẋþàñšîöñ, ƒöŕ ţĥé ĝüîđé.

Ţéŕḿ ŕüļéš

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

ƑîéļđŢýþéÑöţéš
termšţŕîñĝŢĥé ŵöŕđ öŕ þĥŕàšé ţĥé ŕüļé îš àƃöüţ. Ŕéǫüîŕéđ.
replacementšţŕîñĝŴĥàţ ţö šàý îñšţéàđ. À ŕüļé ŵîţĥ ñö ŕéþļàçéḿéñţ îš šķîþþéđ ƃý ţĥé ţööļš üñļéšš do_not_translate îš šéţ, ƃéçàüšé "šàý ţĥîš îñšţéàđ" ñééđš à ţĥîš.
notešţŕîñĝŴĥý, šĥöŵñ ŵîţĥ ţĥé ƒîñđîñĝ. Öþţîöñàļ.
severityšţŕîñĝminor, major, öŕ critical. minor ŵàŕñš; éṽéŕýţĥîñĝ éļšé, îñçļüđîñĝ üñšéţ, ƒàîļš, ƃéçàüšé ŕüļéš ŕéšöļṽéđ ƒŕöḿ à ţéŕḿš šţöŕé çàŕŕý ñö šéṽéŕîţý àñđ ḿüšţ ñöţ ƃé šîļéñţļý đöŵñĝŕàđéđ.
concept_idšţŕîñĝŢĥé çöñçéþţ îñ ţĥé ţéŕḿš šţöŕé àñđ ţĥé ĝŕàþĥ ţĥîš ŕüļé đéñöţéš. Šéţ ŵĥéñ à ŕüļé îš þŕöḿöţéđ ƒŕöḿ à çöñçéþţ-ƃàçķéđ çöŕŕéçţîöñ; éḿþţý ƒöŕ à šţàñđàļöñé þŕöƒîļé.
do_not_translateƃööļŢĥé ţéŕḿ ḿüšţ šüŕṽîṽé ṽéŕƃàţîḿ îñţö éṽéŕý ţàŕĝéţ. Ĝîṽéš à ƃàŕé ţéŕḿ ŵîţĥ ñö ŕéþļàçéḿéñţ îţš ḿéàñîñĝ.
formsšţŕîñĝ[]Ţĥé öţĥéŕ šüŕƒàçé šĥàþéš ţĥé ţéŕḿ ţàķéš (îñƒļéçţîöñš, đéçļéñšîöñš, çöñĵüĝàţîöñš), ḿàţçĥéđ àļöñĝšîđé term. Ḿàţçĥîñĝ îš éẋàçţ, šö ţĥé ƒöŕḿš àŕé đéçļàŕéđ ŕàţĥéŕ ţĥàñ đéŕîṽéđ; kapi voice expand àšķš à ḿöđéļ ƒöŕ ţĥéḿ îñ ţĥé þŕöƒîļé'š ļàñĝüàĝé àñđ ŵŕîţéš ţĥéḿ ĥéŕé àš à đ.
case_sensitiveƃööļḾàţçĥ ţĥé ţéŕḿ àñđ îţš ƒöŕḿš îñ ţĥéîŕ öŵñ çàšîñĝ. Öƒƒ ƃý đéƒàüļţ; öñ ƒöŕ à ŕüļé ŵĥöšé ŵĥöļé çöñţéñţ îš çàþîţàļîšàţîöñ (term: Ripgrep, replacement: ripgrep).
replacement_formsšţŕîñĝ[]Öţĥéŕ ƒöŕḿš öƒ replacement îñ ţĥé ļàñĝüàĝé îţ îš ŵŕîţţéñ îñ, šüçĥ àš ţĥé þļüŕàļ. term-check àççéþţš à ţŕàñšļàţîöñ ţĥàţ çöñţàîñš àñý öƒ ţĥéḿ.
acceptedöƃĵéçţ[]Ƒüŕţĥéŕ ŵöŕđîñĝš ţĥàţ šàţý ţĥé ŕüļé, éàçĥ ŵîţĥ text àñđ öþţîöñàļ forms: ţĥé àđḿîţţéđ àñđ àþþŕöṽéđ ţéŕḿš à çöñçéþţ çàŕŕîéš ƃéšîđé îţš þŕéƒéŕŕéđ öñé. replacement šţàýš ţĥé ŵöŕđîñĝ à ţŕàñšļàţîöñ îš àšķéđ ţö üšé.
scopešţŕîñĝŢĥé šàḿé ṽàļüéš à þàţţéŕñ'š scope ţàķéš. Éḿþţý ḿéàñš éṽéŕýŵĥéŕé.
vocabulary:
forbidden_terms:
- term: utilize
replacement: use
severity: minor
forms: [utilizes, utilized, utilizing]
scope: prose
preferred_terms:
- term: log in
replacement: sign in
concept_id: c-sign-in

Éẋàḿþļéš

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

Öṽéŕŕîđéš

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

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

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

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

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

ƑîéļđŢýþéÑöţéš
tone, styleöƃĵéçţŔéþļàçé ţĥé ŕéšöļṽéđ ţöñé öŕ šţýļé ŵĥöļéšàļé.
vocabularyöƃĵéçţŴŕîţţéñ ļîķé ţĥé þŕöƒîļé'š öŵñ vocabulary. Îţš ƒöŕƃîđđéñ àñđ çöḿþéţîţöŕ ţéŕḿš àŕé àđđéđ ţö ţĥé ŕéšöļṽéđ öñéš, àñđ àñ àƃƃŕéṽîàţîöñ àþþļîéš öñļý ŵĥéŕé ñöñé îš đéƒîñéđ. À þŕéƒéŕŕéđ ţéŕḿ îš đŕöþþéđ ŵĥéŕé àñ éàŕļîéŕ ŕüļé àļŕéàđý ĝöṽéŕñš ţĥé ţéŕḿ.
channels:
child:
vocabulary:
forbidden_terms:
- term: authenticate
replacement: sign in
severity: major

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

ƑîéļđŢýþéÑöţéš
tone, styleöƃĵéçţŔéþļàçé ţĥé ŕéšöļṽéđ ţöñé öŕ šţýļé, àš à çĥàññéļ öṽéŕŕîđé đöéš.
preferred_termsŢéŕḿŔüļé[]Ţéŕḿš ţĥé àüţĥöŕ ļéàñš öñ. À þŕéƒéŕŕéđ ţéŕḿ îš đŕöþþéđ ŵĥéŕé àñ éàŕļîéŕ ŕüļé àļŕéàđý ĝöṽéŕñš ţĥé ţéŕḿ.
avoided_termsŢéŕḿŔüļé[]Ţéŕḿš ţĥé àüţĥöŕ šţééŕš çļéàŕ öƒ; àđđéđ ţö ţĥé ƒöŕƃîđđéñ šéţ.

Ŕéšöļüţîöñ àþþļîéš ţĥé ļöçàļé öṽéŕŕîđé ƒîŕšţ, ţĥéñ ţĥé çĥàññéļ, ţĥéñ ţĥé þéŕšöñà. À çĥàññéļ àñđ à þéŕšöñà çàñ öñļý ţîĝĥţéñ ṽöçàƃüļàŕý. Éṽéŕý ŕüļé àñ éàŕļîéŕ ļàýéŕ šéţ ķééþš àþþļýîñĝ àţ îţš öŵñ šéṽéŕîţý, àñđ à ļàţéŕ þŕéƒéŕŕéđ ţéŕḿ ţĥàţ ñàḿéš à ţéŕḿ àñ éàŕļîéŕ ļàýéŕ ƒöŕƃîđš, ļîšţš àš à çöḿþéţîţöŕ, öŕ àļŕéàđý ŵöŕđš îţš öŵñ ŵàý îš đŕöþþéđ. Ţĥé ḿéŕĝé öŕđéŕ éñƒöŕçéš ţĥîš, ŵĥöéṽéŕ ŵŕöţé ţĥé öṽéŕŕîđé, àñđ kapi voice validate ŵàŕñš àƃöüţ éàçĥ þŕéƒéŕŕéđ ţéŕḿ îţ đŕöþš.

Àüţöñöḿý

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

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

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

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

Ŵĥàţ îš đéļîƃéŕàţéļý ñöţ îñ îţ

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

Šéé àļšö