Skip to content
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

Expanding on sentence case to everywhere else #18758

Merged
merged 13 commits into from
Dec 16, 2019
2 changes: 1 addition & 1 deletion docs/contributors/scripts.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ The editor includes a number of packages to enable various pieces of functionali
| [I18N](/packages/i18n/README.md) | wp-i18n | Internationalization utilities for client-side localization |
| [Is Shallow Equal](/packages/is-shallow-equal/README.md) | wp-is-shallow-equal | A function for performing a shallow comparison between two objects or arrays |
| [Keycodes](/packages/keycodes/README.md) | wp-keycodes | Keycodes utilities for WordPress, used to check the key pressed in events like `onKeyDown` |
| [List Reusable Blocks](/packages/list-reusable-blocks/README.md) | wp-list-reusable-blocks | Package used to add import/export links to the listing page of the reusable blocks |
| [List Reusable blocks](/packages/list-reusable-blocks/README.md) | wp-list-reusable-blocks | Package used to add import/export links to the listing page of the reusable blocks |
| [NUX](/packages/nux/README.md) | wp-nux | Components, and wp.data methods useful for onboarding a new user to the WordPress admin interface |
| [Plugins](/packages/plugins/README.md) | wp-plugins | Plugins module for WordPress |
| [Redux Routine](/packages/redux-routine/README.md) | wp-redux-routine | Redux middleware for generator coroutines |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ For features included in the Gutenberg plugin, the deprecation policy is intende
- `wp.components.CodeEditor` has been removed. Used `wp.codeEditor` directly instead.
- `wp.blocks.setUnknownTypeHandlerName` has been removed. Please use `setFreeformContentHandlerName` and `setUnregisteredTypeHandlerName` instead.
- `wp.blocks.getUnknownTypeHandlerName` has been removed. Please use `getFreeformContentHandlerName` and `getUnregisteredTypeHandlerName` instead.
- The Reusable Blocks Data API was marked as experimental as it's subject to change in the future.
- The Reusable blocks Data API was marked as experimental as it's subject to change in the future.

## 4.1.0

Expand Down
6 changes: 3 additions & 3 deletions docs/designers-developers/developers/slotfills/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ SlotFills are created using `createSlotFill`. This creates two components, `Slot

```js
/**
* Defines as extensibility slot for the Status & Visibility panel.
* Defines as extensibility slot for the Status & visibility panel.
*/

/**
Expand All @@ -65,7 +65,7 @@ export default PluginPostStatusInfo;

```

This new Slot is then exposed in the editor. The example below is from core and represents the Status & Visibility panel.
This new Slot is then exposed in the editor. The example below is from core and represents the Status & visibility panel.

As we can see, the `<PluginPostStatusInfo.Slot>` is wrapping all of the items that will appear in the panel.
Any items that have been added via the SlotFill ( see the example above ), will be included in the `fills` parameter and be displayed between the `<PostAuthor/>` and `<PostTrash/>` components.
Expand All @@ -75,7 +75,7 @@ See [core code](https://github.com/WordPress/gutenberg/tree/master/packages/edit
```js
function PostStatus( { isOpened, onTogglePanel } ) {
return (
<PanelBody className="edit-post-post-status" title={ __( 'Status & Visibility' ) } opened={ isOpened } onToggle={ onTogglePanel }>
<PanelBody className="edit-post-post-status" title={ __( 'Status & visibility' ) } opened={ isOpened } onToggle={ onTogglePanel }>
<PluginPostStatusInfo.Slot>
{ ( fills ) => (
<Fragment>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# PluginPostStatusInfo

This slots allows for the insertion of items in the Status & Visibility panel of the document sidebar.
This slots allows for the insertion of items in the Status & visibility panel of the document sidebar.

## Example

Expand All @@ -22,5 +22,5 @@ registerPlugin( 'post-status-info-test', { render: PluginPostStatusInfoTest } );

## Location

![Location in the Status & Visibility panel](https://raw.githubusercontent.com/WordPress/gutenberg/master/docs/designers-developers/assets/plugin-post-status-info-location.png?raw=true)
![Location in the Status & visibility panel](https://raw.githubusercontent.com/WordPress/gutenberg/master/docs/designers-developers/assets/plugin-post-status-info-location.png?raw=true)

2 changes: 1 addition & 1 deletion docs/designers-developers/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ This is the canonical list of keyboard shortcuts:
<td><kbd>⌥</kbd><kbd>F10</kbd></td>
</tr>
<tr>
<td>Switch between Visual Editor and Code Editor.</td>
<td>Switch between Visual editor and Code editor.</td>
<td><kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Alt</kbd>+<kbd>M</kbd></td>
<td><kbd>⇧</kbd><kbd>⌥</kbd><kbd>⌘</kbd><kbd>M</kbd></td>
</tr>
Expand Down
6 changes: 3 additions & 3 deletions docs/designers-developers/key-concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ Blocks can be limited or locked-in-place by Templates and custom code.

In the Block Inserter (the accordion-sorted, popup modal that shows a site's available blocks to users) each accordion title is a Block Category, which are either the defaults or customized by developers through Plugins or code.

## Reusable Blocks
## Reusable blocks

Reusable Blocks are a way to share a block (or multiple blocks) as a reusable, repeatable piece of content.
Reusable blocks are a way to share a block (or multiple blocks) as a reusable, repeatable piece of content.

Any edits to a reusable block are made to every usage of that repeatable block.

Reusable Blocks are stored as a hidden post type and are dynamic blocks that "ref" or reference the post_id and return the post_content for that wp_block.
Reusable blocks are stored as a hidden post type and are dynamic blocks that "ref" or reference the post_id and return the post_content for that wp_block.

## Templates

Expand Down
19 changes: 19 additions & 0 deletions lib/client-assets.php
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,25 @@ function gutenberg_override_translation_file( $file, $handle ) {
}
add_filter( 'load_script_translation_file', 'gutenberg_override_translation_file', 10, 2 );

/**
* Filters the default labels for common post types to change the case style
* from capitalized (e.g. "Featured Image") to sentence-style (e.g. "Featured
* image").
*
* See: https://github.com/WordPress/gutenberg/pull/18758
*
* @param object Object with all the labels as member variables.
*
* @return object Object with all the labels, including overridden ones.
*/
function gutenberg_override_posttype_labels( $labels ) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this function in Gutenberg?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Soean the problem is that our labels come from core so we can't have sentence case without. I will loop @mcsf in here as they worked on this solution to help.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then we have to change it in Core :-)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Soean, thanks for that watchful eye. :) Indeed, we need to change it in core.

c7f1e89 was a drive-by commit to unblock Tammie. The commit message itself did mention the need to address this in core, but commit messages aren't very visible here. This all came from this thread in Slack, which also acknowledged the need to address the root cause.

The question that this commit raised is: in the interest of landing something consistent here in #18758, can we add this filter for the plugin, provided that we also open the appropriate Trac tickets?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for clarification.
If a post type has a different label than "Featured image" for example "Book cover", then the filter overrides the value? This could be a problem.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, now it's translateable and it works for post und page post type.
So we can merge it and link it in the trac ticket, so we can remove it after merging it in core.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @mcsf, it seems this change needs to be backported to core. Would you be able to submit a core patch?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do, @jorgefilipecosta.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

$labels->featured_image = 'Featured image';
mcsf marked this conversation as resolved.
Show resolved Hide resolved
return $labels;
}
foreach ( array( 'post', 'page' ) as $post_type ) {
add_filter( "post_type_labels_{$post_type}", 'gutenberg_override_posttype_labels' );
}

/**
* Registers a style according to `wp_register_style`. Honors this request by
* deregistering any style by the same handler before registration.
Expand Down
2 changes: 1 addition & 1 deletion packages/block-editor/src/components/block-list/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@
}
}

// Reusable Blocks clickthrough overlays.
// Reusable blocks clickthrough overlays.
&.is-reusable > .block-editor-block-list__block-edit .block-editor-inner-blocks.has-overlay {
// Remove only the top click overlay.
&::after {
Expand Down
6 changes: 3 additions & 3 deletions packages/block-editor/src/components/inserter/menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ export class InserterMenu extends Component {

{ !! suggestedItems.length &&
<PanelBody
title={ _x( 'Most Used', 'blocks' ) }
title={ _x( 'Most used', 'blocks' ) }
opened={ isPanelOpen( 'suggested' ) }
onToggle={ this.onTogglePanel( 'suggested' ) }
ref={ this.bindPanel( 'suggested' ) }
Expand Down Expand Up @@ -362,7 +362,7 @@ export class InserterMenu extends Component {
className="editor-inserter__manage-reusable-blocks block-editor-inserter__manage-reusable-blocks"
href={ addQueryArgs( 'edit.php', { post_type: 'wp_block' } ) }
>
{ __( 'Manage All Reusable Blocks' ) }
{ __( 'Manage all reusable blocks' ) }
</a>
</PanelBody>
) }
Expand Down Expand Up @@ -421,7 +421,7 @@ export class InserterMenu extends Component {
{ ! hoveredItem && (
<div className="block-editor-inserter__menu-help-panel-no-block">
<div className="block-editor-inserter__menu-help-panel-no-block-text">
<div className="block-editor-inserter__menu-help-panel-title">{ __( 'Content Blocks' ) }</div>
<div className="block-editor-inserter__menu-help-panel-title">{ __( 'Content blocks' ) }</div>
<p>
{ __(
'Welcome to the wonderful world of blocks! Blocks are the basis of all content within the editor.'
Expand Down
10 changes: 5 additions & 5 deletions packages/block-editor/src/components/inserter/test/menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ describe( 'InserterMenu', () => {
const activeCategory = element.querySelector(
'.components-panel__body.is-opened > .components-panel__body-title'
);
expect( activeCategory.textContent ).toBe( 'Most Used' );
expect( activeCategory.textContent ).toBe( 'Most used' );
} );

it( 'should show nothing if there are no items', () => {
Expand Down Expand Up @@ -239,7 +239,7 @@ describe( 'InserterMenu', () => {

it( 'should show the common category blocks', () => {
const element = initializeAllClosedMenuStateAndReturnElement();
const commonBlocksTab = getTabButtonWithContent( element, 'Common Blocks' );
const commonBlocksTab = getTabButtonWithContent( element, 'Common blocks' );

TestUtils.Simulate.click( commonBlocksTab );

Expand All @@ -259,7 +259,7 @@ describe( 'InserterMenu', () => {

it( 'should disable items with `isDisabled`', () => {
const element = initializeMenuDefaultStateAndReturnElement();
const layoutTab = getTabButtonWithContent( element, 'Layout Elements' );
const layoutTab = getTabButtonWithContent( element, 'Layout elements' );

TestUtils.Simulate.click( layoutTab );

Expand All @@ -282,7 +282,7 @@ describe( 'InserterMenu', () => {
);

expect( matchingCategories ).toHaveLength( 2 );
expect( matchingCategories[ 0 ].textContent ).toBe( 'Common Blocks' );
expect( matchingCategories[ 0 ].textContent ).toBe( 'Common blocks' );
expect( matchingCategories[ 1 ].textContent ).toBe( 'Embeds' );

const visibleBlocks = element.querySelectorAll(
Expand All @@ -308,7 +308,7 @@ describe( 'InserterMenu', () => {
);

expect( matchingCategories ).toHaveLength( 2 );
expect( matchingCategories[ 0 ].textContent ).toBe( 'Common Blocks' );
expect( matchingCategories[ 0 ].textContent ).toBe( 'Common blocks' );
expect( matchingCategories[ 1 ].textContent ).toBe( 'Embeds' );

const visibleBlocks = element.querySelectorAll(
Expand Down
2 changes: 1 addition & 1 deletion packages/block-library/src/classic/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export const settings = {
supports: {
className: false,
customClassName: false,
// Hide 'Add to Reusable Blocks' on Classic blocks. Showing it causes a
// Hide 'Add to Reusable blocks' on Classic blocks. Showing it causes a
// confusing UX, because of its similarity to the 'Convert to Blocks' button.
reusable: false,
},
Expand Down
2 changes: 1 addition & 1 deletion packages/block-library/src/navigation-link/edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ function NavigationLinkEdit( {
<ToolbarButton
name="submenu"
icon={ <SVG xmlns="http://www.w3.org/2000/svg" width="24" height="24"><Path d="M14 5h8v2h-8zm0 5.5h8v2h-8zm0 5.5h8v2h-8zM2 11.5C2 15.08 4.92 18 8.5 18H9v2l3-3-3-3v2h-.5C6.02 16 4 13.98 4 11.5S6.02 7 8.5 7H12V5H8.5C4.92 5 2 7.92 2 11.5z" /><Path fill="none" d="M0 0h24v24H0z" /></SVG> }
title={ __( 'Add Submenu' ) }
title={ __( 'Add submenu' ) }
onClick={ insertLinkBlock }
/>
</Toolbar>
Expand Down
6 changes: 3 additions & 3 deletions packages/blocks/src/store/reducer.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ import { __ } from '@wordpress/i18n';
* Module Constants
*/
export const DEFAULT_CATEGORIES = [
{ slug: 'common', title: __( 'Common Blocks' ) },
{ slug: 'common', title: __( 'Common blocks' ) },
{ slug: 'formatting', title: __( 'Formatting' ) },
{ slug: 'layout', title: __( 'Layout Elements' ) },
{ slug: 'layout', title: __( 'Layout elements' ) },
{ slug: 'widgets', title: __( 'Widgets' ) },
{ slug: 'embed', title: __( 'Embeds' ) },
{ slug: 'reusable', title: __( 'Reusable Blocks' ) },
{ slug: 'reusable', title: __( 'Reusable blocks' ) },
];

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/e2e-test-utils/src/switch-editor-mode-to.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { toggleMoreMenu } from './toggle-more-menu';
export async function switchEditorModeTo( mode ) {
await toggleMoreMenu();
const [ button ] = await page.$x(
`//button[contains(text(), '${ mode } Editor')]`
`//button[contains(text(), '${ mode } editor')]`
);
await button.click( 'button' );
await toggleMoreMenu();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ describe( 'Allowed Blocks Filter', () => {
} );

it( 'should remove not allowed blocks from the block manager', async () => {
await clickOnMoreMenuItem( 'Block Manager' );
await clickOnMoreMenuItem( 'Block manager' );

const BLOCK_LABEL_SELECTOR = '.edit-post-manage-blocks-modal__checklist-item .components-checkbox-control__label';
await page.waitForSelector( BLOCK_LABEL_SELECTOR );
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Reusable Blocks multi-selection reusable block can be converted back to regular blocks 1`] = `
exports[`Reusable blocks multi-selection reusable block can be converted back to regular blocks 1`] = `
"<!-- wp:paragraph -->
<p>Hello there!</p>
<!-- /wp:paragraph -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ describe( 'Fullscreen Mode', () => {
} );

it( 'should open the fullscreen mode from the more menu', async () => {
await clickOnMoreMenuItem( 'Fullscreen Mode' );
await clickOnMoreMenuItem( 'Fullscreen mode' );
await toggleMoreMenu();

const isFullscreenEnabled = await page.$eval( 'body', ( body ) => {
Expand Down
10 changes: 5 additions & 5 deletions packages/e2e-tests/specs/editor/various/reusable-blocks.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function waitForAndAcceptDialog() {
} );
}

describe( 'Reusable Blocks', () => {
describe( 'Reusable blocks', () => {
beforeAll( async () => {
await createNewPost();
} );
Expand All @@ -37,7 +37,7 @@ describe( 'Reusable Blocks', () => {

await clickBlockToolbarButton( 'More options' );

const convertButton = await page.waitForXPath( '//button[text()="Add to Reusable Blocks"]' );
const convertButton = await page.waitForXPath( '//button[text()="Add to Reusable blocks"]' );
await convertButton.click();

// Wait for creation to finish
Expand Down Expand Up @@ -77,7 +77,7 @@ describe( 'Reusable Blocks', () => {

await clickBlockToolbarButton( 'More options' );

const convertButton = await page.waitForXPath( '//button[text()="Add to Reusable Blocks"]' );
const convertButton = await page.waitForXPath( '//button[text()="Add to Reusable blocks"]' );
await convertButton.click();

// Wait for creation to finish
Expand Down Expand Up @@ -178,7 +178,7 @@ describe( 'Reusable Blocks', () => {

// Delete the block and accept the confirmation dialog
await clickBlockToolbarButton( 'More options' );
const deleteButton = await page.waitForXPath( '//button[text()="Remove from Reusable Blocks"]' );
const deleteButton = await page.waitForXPath( '//button[text()="Remove from Reusable blocks"]' );
await Promise.all( [ waitForAndAcceptDialog(), deleteButton.click() ] );

// Wait for deletion to finish
Expand Down Expand Up @@ -214,7 +214,7 @@ describe( 'Reusable Blocks', () => {

// Convert block to a reusable block
await clickBlockToolbarButton( 'More options' );
const convertButton = await page.waitForXPath( '//button[text()="Add to Reusable Blocks"]' );
const convertButton = await page.waitForXPath( '//button[text()="Add to Reusable blocks"]' );
await convertButton.click();

// Wait for creation to finish
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ describe( 'keyboard shortcut help modal', () => {
} );

it( 'displays the shortcut help modal when opened using the menu item in the more menu', async () => {
await clickOnMoreMenuItem( 'Keyboard Shortcuts' );
await clickOnMoreMenuItem( 'Keyboard shortcuts' );
const shortcutHelpModalElements = await page.$$( '.edit-post-keyboard-shortcut-help' );
expect( shortcutHelpModalElements ).toHaveLength( 1 );
} );
Expand Down
8 changes: 4 additions & 4 deletions packages/e2e-tests/specs/editor/various/sidebar.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,10 @@ describe( 'Sidebar', () => {

expect( await findSidebarPanelWithTitle( 'Categories' ) ).toBeDefined();
expect( await findSidebarPanelWithTitle( 'Tags' ) ).toBeDefined();
expect( await findSidebarPanelWithTitle( 'Featured Image' ) ).toBeDefined();
expect( await findSidebarPanelWithTitle( 'Featured image' ) ).toBeDefined();
expect( await findSidebarPanelWithTitle( 'Excerpt' ) ).toBeDefined();
expect( await findSidebarPanelWithTitle( 'Discussion' ) ).toBeDefined();
expect( await findSidebarPanelWithTitle( 'Status & Visibility' ) ).toBeDefined();
expect( await findSidebarPanelWithTitle( 'Status & visibility' ) ).toBeDefined();

await page.evaluate( () => {
const { removeEditorPanel } = wp.data.dispatch( 'core/edit-post' );
Expand All @@ -135,9 +135,9 @@ describe( 'Sidebar', () => {

expect( await findSidebarPanelWithTitle( 'Categories' ) ).toBeUndefined();
expect( await findSidebarPanelWithTitle( 'Tags' ) ).toBeUndefined();
expect( await findSidebarPanelWithTitle( 'Featured Image' ) ).toBeUndefined();
expect( await findSidebarPanelWithTitle( 'Featured image' ) ).toBeUndefined();
expect( await findSidebarPanelWithTitle( 'Excerpt' ) ).toBeUndefined();
expect( await findSidebarPanelWithTitle( 'Discussion' ) ).toBeUndefined();
expect( await findSidebarPanelWithTitle( 'Status & Visibility' ) ).toBeUndefined();
expect( await findSidebarPanelWithTitle( 'Status & visibility' ) ).toBeUndefined();
} );
} );
2 changes: 1 addition & 1 deletion packages/edit-post/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ _Returns_

<a name="PluginPostStatusInfo" href="#PluginPostStatusInfo">#</a> **PluginPostStatusInfo**

Renders a row in the Status & Visibility panel of the Document sidebar.
Renders a row in the Status & visibility panel of the Document sidebar.
It should be noted that this is named and implemented around the function it serves
and not its location, which may change in future iterations.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ import shortcuts from '../../../keyboard-shortcuts';
const MODES = [
{
value: 'visual',
label: __( 'Visual Editor' ),
label: __( 'Visual editor' ),
},
{
value: 'text',
label: __( 'Code Editor' ),
label: __( 'Code editor' ),
},
];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,21 +17,21 @@ function WritingMenu() {
>
<FeatureToggle
feature="fixedToolbar"
label={ __( 'Top Toolbar' ) }
label={ __( 'Top toolbar' ) }
info={ __( 'Access all block and document tools in a single place' ) }
messageActivated={ __( 'Top toolbar activated' ) }
messageDeactivated={ __( 'Top toolbar deactivated' ) }
/>
<FeatureToggle
feature="focusMode"
label={ __( 'Spotlight Mode' ) }
label={ __( 'Spotlight mode' ) }
info={ __( 'Focus on one block at a time' ) }
messageActivated={ __( 'Spotlight mode activated' ) }
messageDeactivated={ __( 'Spotlight mode deactivated' ) }
/>
<FeatureToggle
feature="fullscreenMode"
label={ __( 'Fullscreen Mode' ) }
label={ __( 'Fullscreen mode' ) }
info={ __( 'Work without distraction' ) }
messageActivated={ __( 'Fullscreen mode activated' ) }
messageDeactivated={ __( 'Fullscreen mode deactivated' ) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ const globalShortcuts = {
},
{
keyCombination: secondary( 'm' ),
description: __( 'Switch between Visual Editor and Code Editor.' ),
description: __( 'Switch between Visual editor and Code editor.' ),
},
],
};
Expand Down
Loading