-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cards and Forms: Update headings and labels to use sentence case #41647
Cards and Forms: Update headings and labels to use sentence case #41647
Conversation
@@ -49,7 +49,7 @@ const SectionExport = ( { isJetpack, canUserExport, site, translate } ) => { | |||
<Fragment> | |||
<FormattedHeader | |||
className="exporter__section-header" | |||
headerText={ translate( 'Export Your Content' ) } | |||
headerText={ translate( 'Export Content' ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 34 times:
translate( 'Export content' )
ES Score: 13
See 1 additional suggestions in the PR translation status page
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be a lower case C?
headerText={ translate( 'Export Content' ) } | |
headerText={ translate( 'Export content' ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. Page headings will remain title case.
@@ -110,7 +110,7 @@ export const Sharing = ( { | |||
event="sharing_no_ads" | |||
feature={ FEATURE_NO_ADS } | |||
description={ translate( 'Prevent ads from showing on your site.' ) } | |||
title={ translate( 'No Ads with WordPress.com Premium' ) } | |||
title={ translate( 'No ads with WordPress.com Premium' ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -32,7 +32,7 @@ const DefaultPostFormat = ( { | |||
<FormFieldset> | |||
{ siteId && <QueryPostFormats siteId={ siteId } /> } | |||
|
|||
<FormLabel htmlFor="default_post_format">{ translate( 'Default Post Format' ) }</FormLabel> | |||
<FormLabel htmlFor="default_post_format">{ translate( 'Default post format' ) }</FormLabel> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 110 times:
translate( 'Default post format.' )
ES Score: 8
@@ -154,7 +154,7 @@ class CustomContentTypes extends Component { | |||
|
|||
renderPortfolioSettings() { | |||
const { translate } = this.props; | |||
const fieldLabel = translate( 'Portfolio Projects' ); | |||
const fieldLabel = translate( 'Portfolio projects' ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -107,7 +107,7 @@ export class DateTimeFormat extends Component { | |||
|
|||
return ( | |||
<div> | |||
<div className="date-time-format__title">{ translate( 'Date and Time Format' ) }</div> | |||
<div className="date-time-format__title">{ translate( 'Date and time format' ) }</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 52 times:
translate( 'Date and time format:' )
ES Score: 9
See 2 additional suggestions in the PR translation status page
@@ -475,7 +475,7 @@ class SiteSettingsFormDiscussion extends Component { | |||
} = this.props; | |||
return ( | |||
<FormFieldset className="site-settings__moderation-settings"> | |||
<FormLegend>{ translate( 'Comment Moderation' ) }</FormLegend> | |||
<FormLegend>{ translate( 'Comment moderation' ) }</FormLegend> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -87,7 +87,7 @@ export class SiteSettingsFormGeneral extends Component { | |||
<div className="site-settings__site-options"> | |||
<div className="site-settings__site-title-tagline"> | |||
<FormFieldset> | |||
<FormLabel htmlFor="blogname">{ translate( 'Site Title' ) }</FormLabel> | |||
<FormLabel htmlFor="blogname">{ translate( 'Site title' ) }</FormLabel> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 11 times:
translate( 'Site Title', { context: 'Customizer element menu item'} )
ES Score: 8
See 1 additional suggestions in the PR translation status page
@@ -101,7 +101,7 @@ export class SiteSettingsFormGeneral extends Component { | |||
/> | |||
</FormFieldset> | |||
<FormFieldset> | |||
<FormLabel htmlFor="blogdescription">{ translate( 'Site Tagline' ) }</FormLabel> | |||
<FormLabel htmlFor="blogdescription">{ translate( 'Site tagline' ) }</FormLabel> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 3 times:
translate( 'Site Tagline', { context: 'site setting'} )
ES Score: 10
See 1 additional suggestions in the PR translation status page
@@ -190,7 +190,7 @@ export class SiteSettingsFormGeneral extends Component { | |||
|
|||
return ( | |||
<FormFieldset className="site-settings__has-divider"> | |||
<FormLabel htmlFor="blogaddress">{ translate( 'Site Address' ) }</FormLabel> | |||
<FormLabel htmlFor="blogaddress">{ translate( 'Site address' ) }</FormLabel> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 55 times:
translate( 'Site address:' )
ES Score: 8
See 1 additional suggestions in the PR translation status page
@@ -721,7 +721,7 @@ export class SiteSettingsFormGeneral extends Component { | |||
isSaving={ isSavingSettings } | |||
onButtonClick={ handleSubmitForm } | |||
showButton | |||
title={ translate( 'Site Profile' ) } | |||
title={ translate( 'Site profile' ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
@@ -737,7 +737,7 @@ export class SiteSettingsFormGeneral extends Component { | |||
|
|||
{ ! siteIsJetpack && ( | |||
<div className="site-settings__footer-credit-container"> | |||
<SettingsSectionHeader title={ translate( 'Footer Credit' ) } /> | |||
<SettingsSectionHeader title={ translate( 'Footer credit' ) } /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 20 times:
translate( 'Footer credit changed' )
ES Score: 7
See 1 additional suggestions in the PR translation status page
@@ -116,7 +116,7 @@ class SiteSettingsFormWriting extends Component { | |||
isSaving={ isSavingSettings } | |||
onButtonClick={ handleSubmitForm } | |||
showButton | |||
title={ translate( 'Content Types' ) } | |||
title={ translate( 'Content types' ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 20 times:
translate( 'Content Types' )
ES Score: 9
@@ -273,7 +273,7 @@ class SiteIconSetting extends Component { | |||
return ( | |||
<FormFieldset className="site-icon-setting"> | |||
<FormLabel className="site-icon-setting__heading"> | |||
{ translate( 'Site Icon' ) } | |||
{ translate( 'Site icon' ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 25 times:
translate( 'Site Icons' )
ES Score: 6
@@ -87,7 +87,7 @@ class ThemeEnhancements extends Component { | |||
|
|||
return ( | |||
<FormFieldset> | |||
<FormLegend>{ translate( 'Infinite Scroll' ) }</FormLegend> | |||
<FormLegend>{ translate( 'Infinite scroll' ) }</FormLegend> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 52 times:
translate( 'Infinite Scroll' )
ES Score: 12
See 1 additional suggestions in the PR translation status page
@@ -94,7 +94,7 @@ class StatsAllTime extends Component { | |||
<StatsTab | |||
className="all-time__is-best" | |||
gridicon="trophy" | |||
label={ translate( 'Best Views Ever' ) } | |||
label={ translate( 'Best views ever' ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
@@ -177,7 +177,7 @@ class AnnualSiteStats extends Component { | |||
{ isWidget && ( | |||
<SectionHeader | |||
href={ viewAllLink } | |||
label={ translate( 'Annual Site Stats', { args: [ currentYear ] } ) } | |||
label={ translate( 'Annual site stats', { args: [ currentYear ] } ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@@ -177,7 +177,7 @@ class StatModuleFollowers extends Component { | |||
( emailData && emailData.subscribers.length !== emailData.total_email ) ) && ( | |||
<div key="view-all" className="module-expand"> | |||
<a href={ summaryPageLink }> | |||
{ translate( 'View All', { context: 'Stats: Button label to expand a panel' } ) } | |||
{ translate( 'View all', { context: 'Stats: Button label to expand a panel' } ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 85 times:
translate( 'View all', { context: 'drafts'} )
ES Score: 9
See 1 additional suggestions in the PR translation status page
@@ -61,7 +61,7 @@ class StatsInfoPanel extends React.PureComponent { | |||
href="http://wordpress.com/support/stats/#referrers" | |||
> | |||
<Gridicon icon="info-outline" /> | |||
{ this.props.translate( 'About Referrers' ) } | |||
{ this.props.translate( 'About referrers' ) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
@@ -558,15 +558,15 @@ export const FEATURES_LIST = { | |||
|
|||
[ constants.FEATURE_3GB_STORAGE ]: { | |||
getSlug: () => constants.FEATURE_3GB_STORAGE, | |||
getTitle: () => i18n.translate( '3 GB Storage Space' ), | |||
getTitle: () => i18n.translate( '3 GB storage space' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 21 times:
translate( '200 GB Storage Space' )
ES Score: 7
See 1 additional suggestions in the PR translation status page
@@ -616,14 +616,14 @@ export const FEATURES_LIST = { | |||
|
|||
[ constants.FEATURE_EMAIL_LIVE_CHAT_SUPPORT ]: { | |||
getSlug: () => constants.FEATURE_EMAIL_LIVE_CHAT_SUPPORT, | |||
getTitle: () => i18n.translate( 'Email & Live Chat Support' ), | |||
getTitle: () => i18n.translate( 'Email & live chat support' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 43 times:
translate( 'Email & Live Chat Support' )
ES Score: 11
See 1 additional suggestions in the PR translation status page
@@ -650,7 +650,7 @@ export const FEATURES_LIST = { | |||
|
|||
[ constants.FEATURE_STANDARD_SECURITY_TOOLS ]: { | |||
getSlug: () => constants.FEATURE_STANDARD_SECURITY_TOOLS, | |||
getTitle: () => i18n.translate( 'Standard Security Tools' ), | |||
getTitle: () => i18n.translate( 'Standard security tools' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
@@ -681,7 +681,7 @@ export const FEATURES_LIST = { | |||
[ constants.FEATURE_OFFSITE_BACKUP_VAULTPRESS_DAILY ]: { | |||
getSlug: () => constants.FEATURE_OFFSITE_BACKUP_VAULTPRESS_DAILY, | |||
getTitle: () => | |||
i18n.translate( '{{strong}}Daily{{/strong}} Backups', { | |||
i18n.translate( '{{strong}}Daily{{/strong}} backups', { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
@@ -695,7 +695,7 @@ export const FEATURES_LIST = { | |||
[ constants.FEATURE_OFFSITE_BACKUP_VAULTPRESS_REALTIME ]: { | |||
getSlug: () => constants.FEATURE_OFFSITE_BACKUP_VAULTPRESS_REALTIME, | |||
getTitle: () => | |||
i18n.translate( '{{strong}}Real-time{{/strong}} Backups', { | |||
i18n.translate( '{{strong}}Real-time{{/strong}} backups', { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
getDescription: () => | ||
i18n.translate( 'Browse or restore any backup made within the past 30 days.' ), | ||
}, | ||
[ constants.FEATURE_BACKUP_ARCHIVE_15 ]: { | ||
getSlug: () => constants.FEATURE_BACKUP_ARCHIVE_15, | ||
getTitle: () => i18n.translate( '15-day Backup Archive' ), | ||
getTitle: () => i18n.translate( '15-day backup archive' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
getDescription: () => | ||
i18n.translate( 'Browse or restore any backup made since you activated the service.' ), | ||
}, | ||
[ constants.FEATURE_BACKUP_STORAGE_SPACE_UNLIMITED ]: { | ||
getSlug: () => constants.FEATURE_BACKUP_STORAGE_SPACE_UNLIMITED, | ||
getTitle: () => i18n.translate( 'Unlimited Backup Storage Space' ), | ||
getTitle: () => i18n.translate( 'Unlimited backup storage space' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
getDescription: () => | ||
i18n.translate( 'Absolutely no limits on storage space for your backups.' ), | ||
}, | ||
[ constants.FEATURE_AUTOMATED_RESTORES ]: { | ||
getSlug: () => constants.FEATURE_AUTOMATED_RESTORES, | ||
getTitle: () => i18n.translate( 'Automated Restores' ), | ||
getTitle: () => i18n.translate( 'Automated restores' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
getDescription: () => | ||
i18n.translate( 'Easily and quickly move or duplicate your site to any location.' ), | ||
}, | ||
[ constants.FEATURE_MALWARE_SCANNING_DAILY ]: { | ||
getSlug: () => constants.FEATURE_MALWARE_SCANNING_DAILY, | ||
getTitle: () => | ||
i18n.translate( '{{strong}}Daily{{/strong}} Malware Scanning', { | ||
i18n.translate( '{{strong}}Daily{{/strong}} malware scanning', { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
@@ -757,22 +757,22 @@ export const FEATURES_LIST = { | |||
}, | |||
[ constants.FEATURE_MALWARE_SCANNING_DAILY_AND_ON_DEMAND ]: { | |||
getSlug: () => constants.FEATURE_MALWARE_SCANNING_DAILY_AND_ON_DEMAND, | |||
getTitle: () => i18n.translate( 'Daily and On-demand Malware Scanning' ), | |||
getTitle: () => i18n.translate( 'Daily and on-demand malware scanning' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
getDescription: () => | ||
i18n.translate( 'Repair any security issues found on your site with just a single click.' ), | ||
}, | ||
[ constants.FEATURE_AUTOMATIC_SECURITY_FIXES ]: { | ||
getSlug: () => constants.FEATURE_AUTOMATIC_SECURITY_FIXES, | ||
getTitle: () => | ||
i18n.translate( '{{strong}}Automatic{{/strong}} Security Fixes', { | ||
i18n.translate( '{{strong}}Automatic{{/strong}} security fixes', { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
@@ -784,15 +784,15 @@ export const FEATURES_LIST = { | |||
}, | |||
[ constants.FEATURE_ACTIVITY_LOG ]: { | |||
getSlug: () => constants.FEATURE_ACTIVITY_LOG, | |||
getTitle: () => i18n.translate( 'Expanded Site Activity' ), | |||
getTitle: () => i18n.translate( 'Expanded site activity' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getDescription: () => | ||
i18n.translate( | ||
'Take the guesswork out of site management and debugging with a filterable record of all the activity happening on your site.' | ||
), | ||
}, | ||
[ constants.FEATURE_POLLS_PRO ]: { | ||
getSlug: () => constants.FEATURE_POLLS_PRO, | ||
getTitle: () => i18n.translate( 'Advanced Polls and Ratings' ), | ||
getTitle: () => i18n.translate( 'Advanced polls and ratings' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
@@ -801,52 +801,52 @@ export const FEATURES_LIST = { | |||
|
|||
[ constants.FEATURE_CORE_JETPACK ]: { | |||
getSlug: () => constants.FEATURE_CORE_JETPACK, | |||
getTitle: () => i18n.translate( 'Core Jetpack Services' ), | |||
getTitle: () => i18n.translate( 'Core Jetpack services' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
getDescription: () => i18n.translate( 'Stats, themes, and promotion tools.' ), | ||
hideInfoPopover: true, | ||
}, | ||
[ constants.FEATURE_BASIC_SECURITY_JETPACK ]: { | ||
getSlug: () => constants.FEATURE_BASIC_SECURITY_JETPACK, | ||
getTitle: () => i18n.translate( 'Basic Security' ), | ||
getTitle: () => i18n.translate( 'Basic security' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
getDescription: () => | ||
i18n.translate( 'Brute force protection, monitoring, secure logins, updates.' ), | ||
hideInfoPopover: true, | ||
}, | ||
|
||
[ constants.FEATURE_BASIC_SUPPORT_JETPACK ]: { | ||
getSlug: () => constants.FEATURE_BASIC_SUPPORT_JETPACK, | ||
getTitle: () => i18n.translate( 'Basic Support' ), | ||
getTitle: () => i18n.translate( 'Basic support' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🆗 This change will be queued for retranslation. We'll use the existing translations in the meantime.
getDescription: () => i18n.translate( 'Free support to help you make the most of Jetpack.' ), | ||
hideInfoPopover: true, | ||
}, | ||
|
||
[ constants.FEATURE_SPEED_JETPACK ]: { | ||
getSlug: () => constants.FEATURE_SPEED_JETPACK, | ||
getTitle: () => i18n.translate( 'Speed and Storage' ), | ||
getTitle: () => i18n.translate( 'Speed and storage' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getDescription: () => | ||
i18n.translate( 'Also includes unlimited, high-speed, ad-free video hosting.' ), | ||
hideInfoPopover: true, | ||
}, | ||
|
||
[ constants.FEATURE_SITE_BACKUPS_JETPACK ]: { | ||
getSlug: () => constants.FEATURE_SITE_BACKUPS_JETPACK, | ||
getTitle: () => i18n.translate( 'Site Backups' ), | ||
getTitle: () => i18n.translate( 'Site backups' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 37 times:
translate( 'Off-site backups' )
ES Score: 7
See 1 additional suggestions in the PR translation status page
@@ -856,65 +856,65 @@ export const FEATURES_LIST = { | |||
|
|||
[ constants.FEATURE_SECURITY_SCANNING_JETPACK ]: { | |||
getSlug: () => constants.FEATURE_SECURITY_SCANNING_JETPACK, | |||
getTitle: () => i18n.translate( 'Advanced Security' ), | |||
getTitle: () => i18n.translate( 'Advanced security' ), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ℹ️ String reuse speeds up translation and improves consistency. The following string might make a good alternative and has already been translated 23 times:
translate( 'Advanced Security:' )
ES Score: 10
See 2 additional suggestions in the PR translation status page
This Pull Request is now available for translation here: https://translate.wordpress.com/deliverables/3493195 Thank you @jancavan for including a screenshot in the description! This is really helpful for our translators. |
Translation for this Pull Request has now been finished. |
Changes proposed in this Pull Request
This PR updates the following to use sentence case:
For more info: p2-pbAPfg-dH
Before (card heading):
After (card heading):
Before (form label):
After (form label):
Before (/plans):
After (/plans):
Testing instructions
Sections:
/me
cc @rickybanister @lcollette @gwwar @kwight