cleanup: reverse-extract/fix boards webapp en.json
Этот коммит содержится в:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"AdminBadge.SystemAdmin": "Admin",
|
||||
"AdminBadge.TeamAdmin": "Team Admin",
|
||||
"AppBar.Tooltip": "Toggle Linked Boards",
|
||||
"AppBar.Tooltip": "Toggle linked boards",
|
||||
"Attachment.Attachment-title": "Attachment",
|
||||
"AttachmentBlock.DeleteAction": "delete",
|
||||
"AttachmentBlock.addElement": "add {type}",
|
||||
@@ -453,4 +453,4 @@
|
||||
"tutorial_tip.ok": "Next",
|
||||
"tutorial_tip.out": "Opt out of these tips.",
|
||||
"tutorial_tip.seen": "Seen this before?"
|
||||
}
|
||||
}
|
||||
@@ -206,7 +206,7 @@ const BoardTemplateSelector = (props: Props) => {
|
||||
>
|
||||
<FormattedMessage
|
||||
id='BoardTemplateSelector.create-empty-board'
|
||||
defaultMessage='Create empty board'
|
||||
defaultMessage='Create an empty board'
|
||||
/>
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
@@ -91,7 +91,7 @@ const BoardsSwitcher = (props: Props): JSX.Element => {
|
||||
<Search/>
|
||||
<div>
|
||||
<span>
|
||||
{intl.formatMessage({id: 'BoardsSwitcher.Title', defaultMessage: 'Find Boards'})}
|
||||
{intl.formatMessage({id: 'BoardsSwitcher.Title', defaultMessage: 'Find boards'})}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -147,7 +147,7 @@ const CalendarFullView = (props: Props): JSX.Element|null => {
|
||||
|
||||
const confirmDialogProps: ConfirmationDialogBoxProps = useMemo(() => {
|
||||
return {
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete!'}),
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete'}),
|
||||
confirmButtonText: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-button-text', defaultMessage: 'Delete'}),
|
||||
onConfirm: handleDeleteCard,
|
||||
onClose: () => {
|
||||
|
||||
@@ -255,7 +255,7 @@ const CardDetail = (props: Props): JSX.Element|null => {
|
||||
<p className='CardDetail__limited-body'>
|
||||
<FormattedMessage
|
||||
id='CardDetail.limited-body'
|
||||
defaultMessage='Upgrade to our Professional or Enterprise plan to view archived cards, have unlimited views per boards, unlimited cards and more.'
|
||||
defaultMessage='Upgrade to our Professional or Enterprise plan.'
|
||||
/>
|
||||
<br/>
|
||||
<a
|
||||
|
||||
@@ -43,7 +43,7 @@ export default function useImagePaste(boardId: string, cardId: string, contentOr
|
||||
}
|
||||
|
||||
if (someFilesNotUploaded) {
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'imagePaste.upload-failed', defaultMessage: 'Some files not uploaded. File size limit reached'}), severity: 'normal'})
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'imagePaste.upload-failed', defaultMessage: "Some files weren't uploaded because the file size limit has been reached."}), severity: 'normal'})
|
||||
}
|
||||
|
||||
const afterRedo = async (newBlocks: Block[]) => {
|
||||
|
||||
@@ -97,7 +97,7 @@ const CardDialog = (props: Props): JSX.Element => {
|
||||
}
|
||||
|
||||
const confirmDialogProps: ConfirmationDialogBoxProps = {
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete!'}),
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete'}),
|
||||
confirmButtonText: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-button-text', defaultMessage: 'Delete'}),
|
||||
onConfirm: handleDeleteCard,
|
||||
onClose: () => {
|
||||
@@ -161,7 +161,7 @@ const CardDialog = (props: Props): JSX.Element => {
|
||||
dispatch(updateAttachments([attachmentBlock]))
|
||||
if (attachment.size > clientConfig.maxFileSize) {
|
||||
removeUploadingAttachment(uploadingBlock)
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.failed', defaultMessage: 'Unable to upload the file. Attachment size limit reached.'}), severity: 'normal'})
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.failed', defaultMessage: "This file couldn't be uploaded as the file size limit has been reached."}), severity: 'normal'})
|
||||
} else {
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.upload', defaultMessage: 'Attachment uploading.'}), severity: 'normal'})
|
||||
const xhr = await octoClient.uploadAttachment(boardId, attachment)
|
||||
@@ -183,11 +183,11 @@ const CardDialog = (props: Props): JSX.Element => {
|
||||
const block = createAttachmentBlock()
|
||||
block.fields.attachmentId = attachmentId || ''
|
||||
block.title = attachment.name
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.uploadSuccess', defaultMessage: 'Attachment uploaded successfull.'}), severity: 'normal'})
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.uploadSuccess', defaultMessage: 'Attachment uploaded.'}), severity: 'normal'})
|
||||
resolve(block)
|
||||
} else {
|
||||
removeUploadingAttachment(uploadingBlock)
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.failed', defaultMessage: 'Unable to upload the file. Attachment size limit reached.'}), severity: 'normal'})
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.failed', defaultMessage: "This file couldn't be uploaded as the file size limit has been reached."}), severity: 'normal'})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -217,7 +217,7 @@ const CardDialog = (props: Props): JSX.Element => {
|
||||
}
|
||||
const description = intl.formatMessage({id: 'AttachmentBlock.DeleteAction', defaultMessage: 'delete'})
|
||||
await mutator.deleteBlock(block, description)
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.delete', defaultMessage: 'Attachment Deleted Successfully.'}), severity: 'normal'})
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'AttachmentBlock.delete', defaultMessage: 'Attachment deleted.'}), severity: 'normal'})
|
||||
}, [card?.boardId, card?.id, card?.fields.contentOrder])
|
||||
|
||||
const attachBtn = (): React.ReactNode => {
|
||||
|
||||
@@ -76,7 +76,7 @@ const ConfirmAddUserForNotifications = (props: Props): JSX.Element => {
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id='person.add-user-to-board-warning'
|
||||
defaultMessage='{username} is not a member of the board, and will not receive any notifications about it.'
|
||||
defaultMessage="{username} isn't a member of the board, and won't receive any notifications about it."
|
||||
values={{username: props.user.username}}
|
||||
/>
|
||||
</p>
|
||||
|
||||
@@ -94,7 +94,7 @@ const AttachmentElement = (props: Props): JSX.Element|null => {
|
||||
}
|
||||
|
||||
const confirmDialogProps: ConfirmationDialogBoxProps = {
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-attachment', defaultMessage: 'Confirm Attachment delete!'}),
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-attachment', defaultMessage: 'Confirm attachment delete'}),
|
||||
confirmButtonText: intl.formatMessage({id: 'AttachmentElement.delete-confirmation-dialog-button-text', defaultMessage: 'Delete'}),
|
||||
onConfirm: deleteAttachment,
|
||||
onClose: () => {
|
||||
|
||||
@@ -70,7 +70,7 @@ contentRegistry.registerContentType({
|
||||
block.fields.fileId = fileId || ''
|
||||
resolve(block)
|
||||
} else {
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'createImageBlock.failed', defaultMessage: 'Unable to upload the file. File size limit reached.'}), severity: 'normal'})
|
||||
sendFlashMessage({content: intl.formatMessage({id: 'createImageBlock.failed', defaultMessage: "This file couldn't be uploaded as the file size limit has been reached."}), severity: 'normal'})
|
||||
}
|
||||
},
|
||||
'.jpg,.jpeg,.png,.gif')
|
||||
|
||||
@@ -51,7 +51,7 @@ const GalleryCard = (props: Props) => {
|
||||
|
||||
const confirmDialogProps: ConfirmationDialogBoxProps = useMemo(() => {
|
||||
return {
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete!'}),
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete'}),
|
||||
confirmButtonText: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-button-text', defaultMessage: 'Delete'}),
|
||||
onConfirm: handleDeleteCard,
|
||||
onClose: () => {
|
||||
|
||||
@@ -59,7 +59,7 @@ const KanbanCard = (props: Props) => {
|
||||
|
||||
const confirmDialogProps: ConfirmationDialogBoxProps = useMemo(() => {
|
||||
return {
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete!'}),
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete'}),
|
||||
confirmButtonText: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-button-text', defaultMessage: 'Delete'}),
|
||||
onConfirm: handleDeleteCard,
|
||||
onClose: () => {
|
||||
|
||||
@@ -103,7 +103,7 @@ export default function KanbanColumnHeader(props: Props): JSX.Element {
|
||||
<Label
|
||||
title={intl.formatMessage({
|
||||
id: 'BoardComponent.no-property-title',
|
||||
defaultMessage: 'Items with an empty {property} property will go here. This column cannot be removed.',
|
||||
defaultMessage: "Items with an empty {property} property will go here. This column can't be removed.",
|
||||
}, {property: groupByProperty!.name})}
|
||||
>
|
||||
<FormattedMessage
|
||||
|
||||
@@ -40,7 +40,7 @@ const AddPropertiesTourStep = (): JSX.Element | null => {
|
||||
const screen = (
|
||||
<FormattedMessage
|
||||
id='OnboardingTour.AddProperties.Body'
|
||||
defaultMessage='Add various properties to cards to make them more powerful!'
|
||||
defaultMessage='Add various properties to cards to make them more powerful.'
|
||||
/>
|
||||
)
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ const RHSChannelBoardItem = (props: Props) => {
|
||||
onClick={() => {
|
||||
onUnlinkBoard(props.board)
|
||||
}}
|
||||
subText={intl.formatMessage({id: 'rhs-board-non-admin-msg', defaultMessage:'You are not an admin of the board'})}
|
||||
subText={intl.formatMessage({id: 'rhs-board-non-admin-msg', defaultMessage: "You're not an admin of the board"})}
|
||||
/>
|
||||
</BoardPermissionGate>
|
||||
</Menu>
|
||||
|
||||
@@ -92,10 +92,10 @@ const RHSChannelBoards = () => {
|
||||
|
||||
if (currentChannel.type === 'D') {
|
||||
channelName = intl.formatMessage({id: 'rhs-boards.dm', defaultMessage: 'DM'})
|
||||
headerChannelName = intl.formatMessage({id: 'rhs-boards.header.dm', defaultMessage: 'this Direct Message'})
|
||||
headerChannelName = intl.formatMessage({id: 'rhs-boards.header.dm', defaultMessage: 'this direct message'})
|
||||
} else if (currentChannel.type === 'G') {
|
||||
channelName = intl.formatMessage({id: 'rhs-boards.gm', defaultMessage: 'GM'})
|
||||
headerChannelName = intl.formatMessage({id: 'rhs-boards.header.gm', defaultMessage: 'this Group Message'})
|
||||
headerChannelName = intl.formatMessage({id: 'rhs-boards.header.gm', defaultMessage: 'this group message'})
|
||||
}
|
||||
|
||||
if (channelBoards.length === 0) {
|
||||
|
||||
@@ -278,7 +278,7 @@ export default function ShareBoardDialog(props: Props): JSX.Element {
|
||||
const shareTemplateTitle = (
|
||||
<FormattedMessage
|
||||
id={'ShareTemplate.Title'}
|
||||
defaultMessage={'Share Template'}
|
||||
defaultMessage={'Share template'}
|
||||
/>
|
||||
)
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ const TeamPermissionsRow = (): JSX.Element => {
|
||||
icon='mattermost'
|
||||
className='user-item__img'
|
||||
/>
|
||||
<div className='ml-3'><strong>{intl.formatMessage({id: 'ShareBoard.teamPermissionsText', defaultMessage: 'Everyone at {teamName} Team'}, {teamName: team?.title})}</strong></div>
|
||||
<div className='ml-3'><strong>{intl.formatMessage({id: 'ShareBoard.teamPermissionsText', defaultMessage: 'Everyone at {teamName} team'}, {teamName: team?.title})}</strong></div>
|
||||
</div>
|
||||
<div>
|
||||
<BoardPermissionGate permissions={[Permission.ManageBoardType]}>
|
||||
|
||||
@@ -86,7 +86,7 @@ const TableGroupHeaderRow = (props: Props): JSX.Element => {
|
||||
<Label
|
||||
title={intl.formatMessage({
|
||||
id: 'BoardComponent.no-property-title',
|
||||
defaultMessage: 'Items with an empty {property} property will go here. This column cannot be removed.',
|
||||
defaultMessage: "Items with an empty {property} property will go here. This column can't be removed.",
|
||||
}, {property: groupByProperty?.name})}
|
||||
>
|
||||
<FormattedMessage
|
||||
|
||||
@@ -131,7 +131,7 @@ const TableRow = (props: Props) => {
|
||||
|
||||
const confirmDialogProps: ConfirmationDialogBoxProps = useMemo(() => {
|
||||
return {
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete!'}),
|
||||
heading: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-heading', defaultMessage: 'Confirm card delete'}),
|
||||
confirmButtonText: intl.formatMessage({id: 'CardDialog.delete-confirmation-dialog-button-text', defaultMessage: 'Delete'}),
|
||||
onConfirm: handleDeleteCard,
|
||||
onClose: () => {
|
||||
|
||||
@@ -46,7 +46,7 @@ export const ViewLimitModal = (props: Props): JSX.Element => {
|
||||
const regularUserSubtext = (
|
||||
<FormattedMessage
|
||||
id='ViewLimitDialog.Subtext.RegularUser'
|
||||
defaultMessage='Notify your Admin to upgrade to our Professional or Enterprise plan to have unlimited views per boards, unlimited cards, and more.'
|
||||
defaultMessage='Notify your Admin to upgrade to our Professional or Enterprise plan.'
|
||||
/>
|
||||
)
|
||||
|
||||
@@ -56,7 +56,7 @@ export const ViewLimitModal = (props: Props): JSX.Element => {
|
||||
<React.Fragment>
|
||||
<FormattedMessage
|
||||
id='ViewLimitDialog.Subtext.Admin'
|
||||
defaultMessage='Upgrade to our Professional or Enterprise plan to have unlimited views per boards, unlimited cards, and more.'
|
||||
defaultMessage='Upgrade to our Professional or Enterprise plan.'
|
||||
/>
|
||||
<a
|
||||
href='https://mattermost.com/pricing/'
|
||||
|
||||
@@ -49,7 +49,7 @@ function errorDefFromId(id: ErrorId | null): ErrorDef {
|
||||
case ErrorId.TeamUndefined: {
|
||||
errDef.title = intl.formatMessage({id: 'error.team-undefined', defaultMessage: 'Not a valid team.'})
|
||||
errDef.button1Enabled = true
|
||||
errDef.button1Text = intl.formatMessage({id: 'error.back-to-home', defaultMessage: 'Back to Home'})
|
||||
errDef.button1Text = intl.formatMessage({id: 'error.back-to-home', defaultMessage: 'Back to home'})
|
||||
errDef.button1Redirect = (): string => {
|
||||
UserSettings.setLastTeamID(null)
|
||||
return window.location.origin
|
||||
@@ -93,7 +93,7 @@ function errorDefFromId(id: ErrorId | null): ErrorDef {
|
||||
default: {
|
||||
errDef.title = intl.formatMessage({id: 'error.unknown', defaultMessage: 'An error occurred.'})
|
||||
errDef.button1Enabled = true
|
||||
errDef.button1Text = intl.formatMessage({id: 'error.back-to-home', defaultMessage: 'Back to Home'})
|
||||
errDef.button1Text = intl.formatMessage({id: 'error.back-to-home', defaultMessage: 'Back to home'})
|
||||
errDef.button1Redirect = '/'
|
||||
errDef.button1Fill = true
|
||||
errDef.button1ClearHistory = true
|
||||
|
||||
@@ -350,7 +350,7 @@ export default class Plugin {
|
||||
}
|
||||
|
||||
if (this.registry.registerAppBarComponent) {
|
||||
this.registry.registerAppBarComponent(appBarIcon, () => mmStore.dispatch(toggleRHSPlugin), intl.formatMessage({id: 'AppBar.Tooltip', defaultMessage: 'Toggle Linked Boards'}))
|
||||
this.registry.registerAppBarComponent(appBarIcon, () => mmStore.dispatch(toggleRHSPlugin), intl.formatMessage({id: 'AppBar.Tooltip', defaultMessage: 'Toggle linked boards'}))
|
||||
}
|
||||
|
||||
if (this.registry.registerActionAfterChannelCreation) {
|
||||
@@ -404,13 +404,13 @@ export default class Plugin {
|
||||
if(siteStats){
|
||||
return {
|
||||
boards_count: {
|
||||
name: intl.formatMessage({id: 'SiteStats.total_boards', defaultMessage: 'Total Boards'}),
|
||||
name: intl.formatMessage({id: 'SiteStats.total_boards', defaultMessage: 'Total boards'}),
|
||||
id: 'total_boards',
|
||||
icon: 'icon-product-boards',
|
||||
value: siteStats.board_count,
|
||||
},
|
||||
cards_count: {
|
||||
name: intl.formatMessage({id: 'SiteStats.total_cards', defaultMessage: 'Total Cards'}),
|
||||
name: intl.formatMessage({id: 'SiteStats.total_cards', defaultMessage: 'Total cards'}),
|
||||
id: 'total_cards',
|
||||
icon: 'icon-products',
|
||||
value: siteStats.card_count,
|
||||
|
||||
Ссылка в новой задаче
Block a user