fix(locale): remove hard coded strings ()

This commit is contained in:
vrabe 2020-10-15 20:26:22 +08:00 committed by GitHub
parent 471e879b78
commit a5750d782e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 13 deletions
packages
netlify-cms-locales/src
netlify-cms-widget-markdown/src/MarkdownControl

@ -136,6 +136,16 @@ const en = {
}, },
editorWidgets: { editorWidgets: {
markdown: { markdown: {
bold: 'Bold',
italic: 'Italic',
code: 'Code',
link: 'Link',
linkPrompt: 'Enter the URL of the link',
headings: 'Headings',
quote: 'Quote',
bulletedList: 'Bulleted List',
numberedList: 'Numbered List',
addComponent: 'Add Component',
richText: 'Rich Text', richText: 'Rich Text',
markdown: 'Markdown', markdown: 'Markdown',
}, },

@ -134,6 +134,16 @@ const zh_Hant = {
}, },
editorWidgets: { editorWidgets: {
markdown: { markdown: {
bold: '粗體',
italic: '斜體',
code: '程式碼',
link: '連結',
linkPrompt: '輸入連結網址',
headings: '標題',
quote: '引言',
bulletedList: '項目符號清單',
numberedList: '編號清單',
addComponent: '加入元件',
richText: 'Rich Text', richText: 'Rich Text',
markdown: 'Markdown', markdown: 'Markdown',
}, },

@ -131,7 +131,7 @@ export default class Toolbar extends React.Component {
{isVisible('bold') && ( {isVisible('bold') && (
<ToolbarButton <ToolbarButton
type="bold" type="bold"
label="Bold" label={t('editor.editorWidgets.markdown.bold')}
icon="bold" icon="bold"
onClick={this.handleMarkClick} onClick={this.handleMarkClick}
isActive={hasMark('bold')} isActive={hasMark('bold')}
@ -141,7 +141,7 @@ export default class Toolbar extends React.Component {
{isVisible('italic') && ( {isVisible('italic') && (
<ToolbarButton <ToolbarButton
type="italic" type="italic"
label="Italic" label={t('editor.editorWidgets.markdown.italic')}
icon="italic" icon="italic"
onClick={this.handleMarkClick} onClick={this.handleMarkClick}
isActive={hasMark('italic')} isActive={hasMark('italic')}
@ -151,7 +151,7 @@ export default class Toolbar extends React.Component {
{isVisible('code') && ( {isVisible('code') && (
<ToolbarButton <ToolbarButton
type="code" type="code"
label="Code" label={t('editor.editorWidgets.markdown.code')}
icon="code" icon="code"
onClick={this.handleMarkClick} onClick={this.handleMarkClick}
isActive={hasMark('code')} isActive={hasMark('code')}
@ -161,7 +161,7 @@ export default class Toolbar extends React.Component {
{isVisible('link') && ( {isVisible('link') && (
<ToolbarButton <ToolbarButton
type="link" type="link"
label="Link" label={t('editor.editorWidgets.markdown.link')}
icon="link" icon="link"
onClick={onLinkClick} onClick={onLinkClick}
isActive={hasInline('link')} isActive={hasInline('link')}
@ -178,7 +178,7 @@ export default class Toolbar extends React.Component {
<DropdownButton> <DropdownButton>
<ToolbarButton <ToolbarButton
type="headings" type="headings"
label="Headings" label={t('editor.editorWidgets.markdown.headings')}
icon="hOptions" icon="hOptions"
disabled={disabled} disabled={disabled}
isActive={!disabled && Object.keys(headingOptions).some(hasBlock)} isActive={!disabled && Object.keys(headingOptions).some(hasBlock)}
@ -204,7 +204,7 @@ export default class Toolbar extends React.Component {
{isVisible('quote') && ( {isVisible('quote') && (
<ToolbarButton <ToolbarButton
type="quote" type="quote"
label="Quote" label={t('editor.editorWidgets.markdown.quote')}
icon="quote" icon="quote"
onClick={this.handleBlockClick} onClick={this.handleBlockClick}
isActive={hasBlock('quote')} isActive={hasBlock('quote')}
@ -214,7 +214,7 @@ export default class Toolbar extends React.Component {
{isVisible('bulleted-list') && ( {isVisible('bulleted-list') && (
<ToolbarButton <ToolbarButton
type="bulleted-list" type="bulleted-list"
label="Bulleted List" label={t('editor.editorWidgets.markdown.bulletedList')}
icon="list-bulleted" icon="list-bulleted"
onClick={this.handleBlockClick} onClick={this.handleBlockClick}
isActive={hasBlock('bulleted-list')} isActive={hasBlock('bulleted-list')}
@ -224,7 +224,7 @@ export default class Toolbar extends React.Component {
{isVisible('numbered-list') && ( {isVisible('numbered-list') && (
<ToolbarButton <ToolbarButton
type="numbered-list" type="numbered-list"
label="Numbered List" label={t('editor.editorWidgets.markdown.numberedList')}
icon="list-numbered" icon="list-numbered"
onClick={this.handleBlockClick} onClick={this.handleBlockClick}
isActive={hasBlock('numbered-list')} isActive={hasBlock('numbered-list')}
@ -239,7 +239,7 @@ export default class Toolbar extends React.Component {
renderButton={() => ( renderButton={() => (
<DropdownButton> <DropdownButton>
<ToolbarButton <ToolbarButton
label="Add Component" label={t('editor.editorWidgets.markdown.addComponent')}
icon="add-with" icon="add-with"
onClick={this.handleComponentsMenuToggle} onClick={this.handleComponentsMenuToggle}
disabled={disabled} disabled={disabled}

@ -101,7 +101,11 @@ export default class Editor extends React.Component {
this.renderInline = renderInline(); this.renderInline = renderInline();
this.renderMark = renderMark(); this.renderMark = renderMark();
this.schema = schema({ voidCodeBlock: !!this.codeBlockComponent }); this.schema = schema({ voidCodeBlock: !!this.codeBlockComponent });
this.plugins = plugins({ getAsset: props.getAsset, resolveWidget: props.resolveWidget }); this.plugins = plugins({
getAsset: props.getAsset,
resolveWidget: props.resolveWidget,
t: props.t,
});
this.state = { this.state = {
value: createSlateValue(this.props.value, { voidCodeBlock: !!this.codeBlockComponent }), value: createSlateValue(this.props.value, { voidCodeBlock: !!this.codeBlockComponent }),
}; };
@ -150,7 +154,9 @@ export default class Editor extends React.Component {
}; };
handleLinkClick = () => { handleLinkClick = () => {
this.editor.toggleLink(() => window.prompt('Enter the URL of the link')); this.editor.toggleLink(() =>
window.prompt(this.props.t('editor.editorWidgets.markdown.linkPrompt')),
);
}; };
hasMark = type => this.editor && this.editor.hasMark(type); hasMark = type => this.editor && this.editor.hasMark(type);

@ -14,7 +14,7 @@ import Shortcode from './Shortcode';
import { SLATE_DEFAULT_BLOCK_TYPE as defaultType } from '../../types'; import { SLATE_DEFAULT_BLOCK_TYPE as defaultType } from '../../types';
import Hotkey, { HOT_KEY_MAP } from './Hotkey'; import Hotkey, { HOT_KEY_MAP } from './Hotkey';
const plugins = ({ getAsset, resolveWidget }) => [ const plugins = ({ getAsset, resolveWidget, t }) => [
{ {
onKeyDown(event, editor, next) { onKeyDown(event, editor, next) {
if (isHotkey('mod+j', event)) { if (isHotkey('mod+j', event)) {
@ -33,7 +33,9 @@ const plugins = ({ getAsset, resolveWidget }) => [
Hotkey(HOT_KEY_MAP['heading-four'], e => e.toggleBlock('heading-four')), Hotkey(HOT_KEY_MAP['heading-four'], e => e.toggleBlock('heading-four')),
Hotkey(HOT_KEY_MAP['heading-five'], e => e.toggleBlock('heading-five')), Hotkey(HOT_KEY_MAP['heading-five'], e => e.toggleBlock('heading-five')),
Hotkey(HOT_KEY_MAP['heading-six'], e => e.toggleBlock('heading-six')), Hotkey(HOT_KEY_MAP['heading-six'], e => e.toggleBlock('heading-six')),
Hotkey(HOT_KEY_MAP['link'], e => e.toggleLink(() => window.prompt('Enter the URL of the link'))), Hotkey(HOT_KEY_MAP['link'], e =>
e.toggleLink(() => window.prompt(t('editor.editorWidgets.markdown.linkPrompt'))),
),
CommandsAndQueries({ defaultType }), CommandsAndQueries({ defaultType }),
QuoteBlock({ defaultType, type: 'quote' }), QuoteBlock({ defaultType, type: 'quote' }),
ListPlugin({ defaultType, unorderedListType: 'bulleted-list', orderedListType: 'numbered-list' }), ListPlugin({ defaultType, unorderedListType: 'bulleted-list', orderedListType: 'numbered-list' }),