summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--i18n/en.json24
-rw-r--r--webapp/components/admin_console/policy_settings.jsx12
-rw-r--r--webapp/components/analytics/system_analytics.jsx54
-rw-r--r--webapp/components/analytics/team_analytics.jsx2
-rw-r--r--webapp/components/audit_table.jsx12
-rw-r--r--webapp/components/change_url_modal.jsx29
-rw-r--r--webapp/components/channel_header.jsx40
-rw-r--r--webapp/components/delete_channel_modal.jsx21
-rw-r--r--webapp/components/edit_channel_purpose_modal.jsx20
-rw-r--r--webapp/components/integrations/components/abstract_incoming_webhook.jsx2
-rw-r--r--webapp/components/leave_team_modal.jsx2
-rw-r--r--webapp/components/more_direct_channels.jsx4
-rw-r--r--webapp/components/navbar.jsx40
-rw-r--r--webapp/components/new_channel_flow.jsx63
-rw-r--r--webapp/components/new_channel_modal.jsx33
-rw-r--r--webapp/components/sidebar.jsx10
-rw-r--r--webapp/components/suggestion/search_suggestion_list.jsx2
-rw-r--r--webapp/components/tutorial/tutorial_intro_screens.jsx2
-rwxr-xr-xwebapp/i18n/en.json97
-rw-r--r--webapp/utils/channel_intro_messages.jsx4
20 files changed, 150 insertions, 323 deletions
diff --git a/i18n/en.json b/i18n/en.json
index 158fffa92..cd10197ae 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -205,11 +205,11 @@
},
{
"id": "api.channel.can_manage_channel.private_restricted_system_admin.app_error",
- "translation": "Private Group management and creation is restricted to System Administrators."
+ "translation": "Private Channel management and creation is restricted to System Administrators."
},
{
"id": "api.channel.can_manage_channel.private_restricted_team_admin.app_error",
- "translation": "Private Group management and creation is restricted to Team and System Administrators."
+ "translation": "Private Channel management and creation is restricted to Team and System Administrators."
},
{
"id": "api.channel.can_manage_channel.public_restricted_system_admin.app_error",
@@ -329,7 +329,7 @@
},
{
"id": "api.channel.leave.last_member.app_error",
- "translation": "You're the only member left, try removing the Private Group instead of leaving."
+ "translation": "You're the only member left, try removing the Private Channel instead of leaving."
},
{
"id": "api.channel.leave.left",
@@ -2297,7 +2297,7 @@
},
{
"id": "api.templates.upgrade_30_body.info",
- "translation": "<h3 style='font-weight: normal; margin-top: 10px;'>YOUR DUPLICATE ACCOUNTS HAVE BEEN UPDATED</h3>Your Mattermost server is being upgraded to Version 3.0, which lets you use a single account across multiple teams.<br/><br/>You are receiving this email because the upgrade process has detected your account had the same email or username as other accounts on the server.<br/><br/>The following updates have been made: <br/><br/>{{if .EmailChanged }}- The duplicate email of an account on the `/{{.TeamName}}` team was changed to `{{.Email}}`. You will need to use email and password to login, you can use this new email address for login.<br/><br/>{{end}}{{if .UsernameChanged }}- The duplicate username of an account on the team site `/{{.TeamName}}` has been changed to `{{.Username}}` to avoid confusion with other accounts.<br/><br/>{{end}} RECOMMENDED ACTION: <br/><br/>It is recommended that you login to your teams used by your duplicate accounts and add your primary account to the team and any public channels and private groups which you wish to continue using. <br/><br/>This gives your primary account access to all public channel and private group history. You can continue to access the direct message history of your duplicate accounts by logging in with their credentials. <br/><br/>FOR MORE INFORMATION: <br/><br/>For more information on the upgrade to Mattermost 3.0 please see: <a href='http://www.mattermost.org/upgrading-to-mattermost-3-0/'>http://www.mattermost.org/upgrading-to-mattermost-3-0/</a><br/><br/>"
+ "translation": "<h3 style='font-weight: normal; margin-top: 10px;'>YOUR DUPLICATE ACCOUNTS HAVE BEEN UPDATED</h3>Your Mattermost server is being upgraded to Version 3.0, which lets you use a single account across multiple teams.<br/><br/>You are receiving this email because the upgrade process has detected your account had the same email or username as other accounts on the server.<br/><br/>The following updates have been made: <br/><br/>{{if .EmailChanged }}- The duplicate email of an account on the `/{{.TeamName}}` team was changed to `{{.Email}}`. You will need to use email and password to login, you can use this new email address for login.<br/><br/>{{end}}{{if .UsernameChanged }}- The duplicate username of an account on the team site `/{{.TeamName}}` has been changed to `{{.Username}}` to avoid confusion with other accounts.<br/><br/>{{end}} RECOMMENDED ACTION: <br/><br/>It is recommended that you login to your teams used by your duplicate accounts and add your primary account to the team and any channels which you wish to continue using. <br/><br/>This gives your primary account access to all channel history. You can continue to access the direct message history of your duplicate accounts by logging in with their credentials. <br/><br/>FOR MORE INFORMATION: <br/><br/>For more information on the upgrade to Mattermost 3.0 please see: <a href='http://www.mattermost.org/upgrading-to-mattermost-3-0/'>http://www.mattermost.org/upgrading-to-mattermost-3-0/</a><br/><br/>"
},
{
"id": "api.templates.upgrade_30_subject.info",
@@ -3504,22 +3504,6 @@
"translation": "Page not found"
},
{
- "id": "leave_team_modal.desc",
- "translation": "You will be removed from all public channels and private groups. If the team is private you will not be able to rejoin the team. Are you sure?"
- },
- {
- "id": "leave_team_modal.no",
- "translation": "No"
- },
- {
- "id": "leave_team_modal.title",
- "translation": "Leave the team?"
- },
- {
- "id": "leave_team_modal.yes",
- "translation": "Yes"
- },
- {
"id": "manaultesting.get_channel_id.no_found.debug",
"translation": "Could not find channel: %v, %v possibilities searched"
},
diff --git a/webapp/components/admin_console/policy_settings.jsx b/webapp/components/admin_console/policy_settings.jsx
index c8c145b8d..13101e828 100644
--- a/webapp/components/admin_console/policy_settings.jsx
+++ b/webapp/components/admin_console/policy_settings.jsx
@@ -179,7 +179,7 @@ export default class PolicySettings extends AdminSettings {
label={
<FormattedMessage
id='admin.general.policy.restrictPrivateChannelCreationTitle'
- defaultMessage='Enable private group creation for:'
+ defaultMessage='Enable private channel creation for:'
/>
}
value={this.state.restrictPrivateChannelCreation}
@@ -187,7 +187,7 @@ export default class PolicySettings extends AdminSettings {
helpText={
<FormattedMessage
id='admin.general.policy.restrictPrivateChannelCreationDescription'
- defaultMessage='Set policy on who can create private groups.'
+ defaultMessage='Set policy on who can create private channels.'
/>
}
/>
@@ -202,7 +202,7 @@ export default class PolicySettings extends AdminSettings {
label={
<FormattedMessage
id='admin.general.policy.restrictPrivateChannelManagementTitle'
- defaultMessage='Enable private group renaming for:'
+ defaultMessage='Enable private channel renaming for:'
/>
}
value={this.state.restrictPrivateChannelManagement}
@@ -210,7 +210,7 @@ export default class PolicySettings extends AdminSettings {
helpText={
<FormattedMessage
id='admin.general.policy.restrictPrivateChannelManagementDescription'
- defaultMessage='Set policy on who can rename and set the header or purpose for private groups.'
+ defaultMessage='Set policy on who can rename and set the header or purpose for private channels.'
/>
}
/>
@@ -225,7 +225,7 @@ export default class PolicySettings extends AdminSettings {
label={
<FormattedMessage
id='admin.general.policy.restrictPrivateChannelDeletionTitle'
- defaultMessage='Enable private group deletion for:'
+ defaultMessage='Enable private channel deletion for:'
/>
}
value={this.state.restrictPrivateChannelDeletion}
@@ -233,7 +233,7 @@ export default class PolicySettings extends AdminSettings {
helpText={
<FormattedMessage
id='admin.general.policy.restrictPrivateChannelDeletionDescription'
- defaultMessage='Set policy on who can delete private groups. Deleted groups can be recovered from the database using a {commandLineToolLink}.'
+ defaultMessage='Set policy on who can delete private channels. Deleted channels can be recovered from the database using a {commandLineToolLink}.'
values={{
commandLineToolLink: (
<a
diff --git a/webapp/components/analytics/system_analytics.jsx b/webapp/components/analytics/system_analytics.jsx
index bd09b8b0b..b7a10f43b 100644
--- a/webapp/components/analytics/system_analytics.jsx
+++ b/webapp/components/analytics/system_analytics.jsx
@@ -12,34 +12,11 @@ import * as AsyncClient from 'utils/async_client.jsx';
import Constants from 'utils/constants.jsx';
const StatTypes = Constants.StatTypes;
-import {injectIntl, intlShape, defineMessages, FormattedMessage, FormattedHTMLMessage} from 'react-intl';
-
-const holders = defineMessages({
- analyticsPublicChannels: {
- id: 'analytics.system.publicChannels',
- defaultMessage: 'Public Channels'
- },
- analyticsPrivateGroups: {
- id: 'analytics.system.privateGroups',
- defaultMessage: 'Private Groups'
- },
- analyticsFilePosts: {
- id: 'analytics.system.totalFilePosts',
- defaultMessage: 'Posts with Files'
- },
- analyticsHashtagPosts: {
- id: 'analytics.system.totalHashtagPosts',
- defaultMessage: 'Posts with Hashtags'
- },
- analyticsTextPosts: {
- id: 'analytics.system.textPosts',
- defaultMessage: 'Posts with Text-only'
- }
-});
+import {FormattedMessage, FormattedHTMLMessage} from 'react-intl';
import React from 'react';
-class SystemAnalytics extends React.Component {
+export default class SystemAnalytics extends React.Component {
constructor(props) {
super(props);
@@ -249,8 +226,8 @@ class SystemAnalytics extends React.Component {
</div>
);
- const channelTypeData = formatChannelDoughtnutData(stats[StatTypes.TOTAL_PUBLIC_CHANNELS], stats[StatTypes.TOTAL_PRIVATE_GROUPS], this.props.intl);
- const postTypeData = formatPostDoughtnutData(stats[StatTypes.TOTAL_FILE_POSTS], stats[StatTypes.TOTAL_HASHTAG_POSTS], stats[StatTypes.TOTAL_POSTS], this.props.intl);
+ const channelTypeData = formatChannelDoughtnutData(stats[StatTypes.TOTAL_PUBLIC_CHANNELS], stats[StatTypes.TOTAL_PRIVATE_GROUPS]);
+ const postTypeData = formatPostDoughtnutData(stats[StatTypes.TOTAL_FILE_POSTS], stats[StatTypes.TOTAL_HASHTAG_POSTS], stats[StatTypes.TOTAL_POSTS]);
let postTypeGraph;
if (stats[StatTypes.TOTAL_POSTS] !== -1) {
@@ -430,16 +407,12 @@ class SystemAnalytics extends React.Component {
}
}
-SystemAnalytics.propTypes = {
- intl: intlShape.isRequired
-};
-
-export default injectIntl(SystemAnalytics);
-
-export function formatChannelDoughtnutData(totalPublic, totalPrivate, intl) {
- const {formatMessage} = intl;
+export function formatChannelDoughtnutData(totalPublic, totalPrivate) {
const channelTypeData = {
- labels: [formatMessage(holders.analyticsPublicChannels), formatMessage(holders.analyticsPrivateGroups)],
+ labels: [
+ Utils.localizeMessage('analytics.system.publicChannels', 'Public Channels'),
+ Utils.localizeMessage('analytics.system.privateGroups', 'Private Channels')
+ ],
datasets: [{
data: [totalPublic, totalPrivate],
backgroundColor: ['#46BFBD', '#FDB45C'],
@@ -450,10 +423,13 @@ export function formatChannelDoughtnutData(totalPublic, totalPrivate, intl) {
return channelTypeData;
}
-export function formatPostDoughtnutData(filePosts, hashtagPosts, totalPosts, intl) {
- const {formatMessage} = intl;
+export function formatPostDoughtnutData(filePosts, hashtagPosts, totalPosts) {
const postTypeData = {
- labels: [formatMessage(holders.analyticsFilePosts), formatMessage(holders.analyticsHashtagPosts), formatMessage(holders.analyticsTextPosts)],
+ labels: [
+ Utils.localizeMessage('analytics.system.totalFilePosts', 'Posts with Files'),
+ Utils.localizeMessage('analytics.system.totalHashtagPosts', 'Posts with Hashtags'),
+ Utils.localizeMessage('analytics.system.textPosts', 'Posts with Text-only')
+ ],
datasets: [{
data: [filePosts, hashtagPosts, (totalPosts - filePosts - hashtagPosts)],
backgroundColor: ['#46BFBD', '#F7464A', '#FDB45C'],
diff --git a/webapp/components/analytics/team_analytics.jsx b/webapp/components/analytics/team_analytics.jsx
index 135bab4b4..cc179a370 100644
--- a/webapp/components/analytics/team_analytics.jsx
+++ b/webapp/components/analytics/team_analytics.jsx
@@ -270,7 +270,7 @@ export default class TeamAnalytics extends React.Component {
title={
<FormattedMessage
id='analytics.team.privateGroups'
- defaultMessage='Private Groups'
+ defaultMessage='Private Channels'
/>
}
icon='fa-globe'
diff --git a/webapp/components/audit_table.jsx b/webapp/components/audit_table.jsx
index 34e61dbac..e7d366f04 100644
--- a/webapp/components/audit_table.jsx
+++ b/webapp/components/audit_table.jsx
@@ -14,7 +14,7 @@ const holders = defineMessages({
},
channelCreated: {
id: 'audit_table.channelCreated',
- defaultMessage: 'Created the {channelName} channel/group'
+ defaultMessage: 'Created the {channelName} channel'
},
establishedDM: {
id: 'audit_table.establishedDM',
@@ -22,23 +22,23 @@ const holders = defineMessages({
},
nameUpdated: {
id: 'audit_table.nameUpdated',
- defaultMessage: 'Updated the {channelName} channel/group name'
+ defaultMessage: 'Updated the {channelName} channel name'
},
headerUpdated: {
id: 'audit_table.headerUpdated',
- defaultMessage: 'Updated the {channelName} channel/group header'
+ defaultMessage: 'Updated the {channelName} channel header'
},
channelDeleted: {
id: 'audit_table.channelDeleted',
- defaultMessage: 'Deleted the channel/group with the URL {url}'
+ defaultMessage: 'Deleted the channel with the URL {url}'
},
userAdded: {
id: 'audit_table.userAdded',
- defaultMessage: 'Added {username} to the {channelName} channel/group'
+ defaultMessage: 'Added {username} to the {channelName} channel'
},
userRemoved: {
id: 'audit_table.userRemoved',
- defaultMessage: 'Removed {username} to the {channelName} channel/group'
+ defaultMessage: 'Removed {username} to the {channelName} channel'
},
attemptedRegisterApp: {
id: 'audit_table.attemptedRegisterApp',
diff --git a/webapp/components/change_url_modal.jsx b/webapp/components/change_url_modal.jsx
index 509517678..fd5cdfd74 100644
--- a/webapp/components/change_url_modal.jsx
+++ b/webapp/components/change_url_modal.jsx
@@ -25,6 +25,7 @@ export default class ChangeUrlModal extends React.Component {
userEdit: false
};
}
+
componentWillReceiveProps(nextProps) {
// This check prevents the url being deleted when we re-render
// because of user status check
@@ -34,15 +35,18 @@ export default class ChangeUrlModal extends React.Component {
});
}
}
+
componentDidUpdate(prevProps) {
if (this.props.show === true && prevProps.show === false) {
ReactDOM.findDOMNode(this.refs.urlinput).select();
}
}
+
onURLChanged(e) {
const url = e.target.value.trim();
this.setState({currentURL: url.replace(/[^A-Za-z0-9-_]/g, '').toLowerCase(), userEdit: true});
}
+
getURLError(url) {
let error = []; //eslint-disable-line prefer-const
if (url.length < 2) {
@@ -101,6 +105,7 @@ export default class ChangeUrlModal extends React.Component {
}
return error;
}
+
doSubmit(e) {
e.preventDefault();
@@ -113,10 +118,12 @@ export default class ChangeUrlModal extends React.Component {
this.setState({urlError: '', userEdit: false});
this.props.onModalSubmit(url);
}
+
doCancel() {
this.setState({urlError: '', userEdit: false});
this.props.onModalDismissed();
}
+
render() {
let urlClass = 'input-group input-group--limit';
let error = null;
@@ -155,9 +162,19 @@ export default class ChangeUrlModal extends React.Component {
className='form-horizontal'
>
<Modal.Body>
- <div className='modal-intro'>{this.props.description}</div>
+ <div className='modal-intro'>
+ <FormattedMessage
+ id='channel_flow.changeUrlDescription'
+ defaultMessage='Some characters are now allowed in URLs and may be removed.'
+ />
+ </div>
<div className='form-group'>
- <label className='col-sm-2 form__label control-label'>{this.props.urlLabel}</label>
+ <label className='col-sm-2 form__label control-label'>
+ <FormattedMessage
+ id='change_url.urlLabel'
+ defaultMessage='Channel URL'
+ />
+ </label>
<div className='col-sm-10'>
<div className={urlClass}>
<OverlayTrigger
@@ -211,8 +228,6 @@ export default class ChangeUrlModal extends React.Component {
ChangeUrlModal.defaultProps = {
show: false,
title: 'Change URL',
- desciption: '',
- urlLabel: 'URL',
submitButtonText: 'Save',
currentURL: '',
serverError: null
@@ -220,10 +235,8 @@ ChangeUrlModal.defaultProps = {
ChangeUrlModal.propTypes = {
show: React.PropTypes.bool.isRequired,
- title: React.PropTypes.string,
- description: React.PropTypes.string,
- urlLabel: React.PropTypes.string,
- submitButtonText: React.PropTypes.string,
+ title: React.PropTypes.node,
+ submitButtonText: React.PropTypes.node,
currentURL: React.PropTypes.string,
serverError: React.PropTypes.node,
onModalSubmit: React.PropTypes.func.isRequired,
diff --git a/webapp/components/channel_header.jsx b/webapp/components/channel_header.jsx
index 6ce56ab4e..9c9876419 100644
--- a/webapp/components/channel_header.jsx
+++ b/webapp/components/channel_header.jsx
@@ -349,21 +349,6 @@ export default class ChannelHeader extends React.Component {
channelTitle = ChannelUtils.buildGroupChannelName(channel.id);
}
- let channelTerm = (
- <FormattedMessage
- id='channel_header.channel'
- defaultMessage='Channel'
- />
- );
- if (channel.type === Constants.PRIVATE_CHANNEL) {
- channelTerm = (
- <FormattedMessage
- id='channel_header.group'
- defaultMessage='Group'
- />
- );
- }
-
let popoverListMembers;
if (!isDirect) {
popoverListMembers = (
@@ -560,10 +545,7 @@ export default class ChannelHeader extends React.Component {
>
<FormattedMessage
id='channel_header.delete'
- defaultMessage='Delete {term}'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Delete Channel'
/>
</ToggleModalButton>
</li>
@@ -590,10 +572,7 @@ export default class ChannelHeader extends React.Component {
>
<FormattedMessage
id='channel_header.setHeader'
- defaultMessage='Edit {term} Header'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Edit Channel Header'
/>
</ToggleModalButton>
</li>
@@ -612,10 +591,7 @@ export default class ChannelHeader extends React.Component {
>
<FormattedMessage
id='channel_header.setPurpose'
- defaultMessage='Edit {term} Purpose'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Edit Channel Purpose'
/>
</a>
</li>
@@ -634,10 +610,7 @@ export default class ChannelHeader extends React.Component {
>
<FormattedMessage
id='channel_header.rename'
- defaultMessage='Rename {term}'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Rename Channel'
/>
</a>
</li>
@@ -674,10 +647,7 @@ export default class ChannelHeader extends React.Component {
>
<FormattedMessage
id='channel_header.leave'
- defaultMessage='Leave {term}'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Leave Channel'
/>
</a>
</li>
diff --git a/webapp/components/delete_channel_modal.jsx b/webapp/components/delete_channel_modal.jsx
index a6577a4a9..1893d28d1 100644
--- a/webapp/components/delete_channel_modal.jsx
+++ b/webapp/components/delete_channel_modal.jsx
@@ -3,7 +3,6 @@
import {Modal} from 'react-bootstrap';
import TeamStore from 'stores/team_store.jsx';
-import Constants from 'utils/constants.jsx';
import {FormattedMessage} from 'react-intl';
@@ -37,21 +36,6 @@ export default class DeleteChannelModal extends React.Component {
}
render() {
- let channelTerm = (
- <FormattedMessage
- id='delete_channel.channel'
- defaultMessage='channel'
- />
- );
- if (this.props.channel.type === Constants.PRIVATE_CHANNEL) {
- channelTerm = (
- <FormattedMessage
- id='delete_channel.group'
- defaultMessage='group'
- />
- );
- }
-
return (
<Modal
show={this.state.show}
@@ -70,10 +54,9 @@ export default class DeleteChannelModal extends React.Component {
<div className='alert alert-danger'>
<FormattedMessage
id='delete_channel.question'
- defaultMessage='This will delete the channel from the team and make its contents inaccessible for all users. Are you sure you wish to delete the {display_name} {term}?'
+ defaultMessage='This will delete the channel from the team and make its contents inaccessible for all users. Are you sure you wish to delete the {display_name} channel?'
values={{
- display_name: this.props.channel.display_name,
- term: (channelTerm)
+ display_name: this.props.channel.display_name
}}
/>
</div>
diff --git a/webapp/components/edit_channel_purpose_modal.jsx b/webapp/components/edit_channel_purpose_modal.jsx
index 7ee00baba..ea34cf969 100644
--- a/webapp/components/edit_channel_purpose_modal.jsx
+++ b/webapp/components/edit_channel_purpose_modal.jsx
@@ -110,21 +110,6 @@ export default class EditChannelPurposeModal extends React.Component {
);
}
- let channelType = (
- <FormattedMessage
- id='edit_channel_purpose_modal.channel'
- defaultMessage='Channel'
- />
- );
- if (this.props.channel.type === Constants.PRIVATE_CHANNEL) {
- channelType = (
- <FormattedMessage
- id='edit_channel_purpose_modal.group'
- defaultMessage='Group'
- />
- );
- }
-
return (
<Modal
className='modal-edit-channel-purpose'
@@ -142,10 +127,7 @@ export default class EditChannelPurposeModal extends React.Component {
<p>
<FormattedMessage
id='edit_channel_purpose_modal.body'
- defaultMessage='Describe how this {type} should be used. This text appears in the channel list in the "More..." menu and helps others decide whether to join.'
- values={{
- type: (channelType)
- }}
+ defaultMessage='Describe how this channel should be used. This text appears in the channel list in the "More..." menu and helps others decide whether to join.'
/>
</p>
<textarea
diff --git a/webapp/components/integrations/components/abstract_incoming_webhook.jsx b/webapp/components/integrations/components/abstract_incoming_webhook.jsx
index eda545bb1..15e39e54b 100644
--- a/webapp/components/integrations/components/abstract_incoming_webhook.jsx
+++ b/webapp/components/integrations/components/abstract_incoming_webhook.jsx
@@ -203,7 +203,7 @@ export default class AbstractIncomingWebhook extends React.Component {
<div className='form__help'>
<FormattedMessage
id='add_incoming_webhook.channel.help'
- defaultMessage='Public channel or private group that receives the webhook payloads. You must belong to the private group when setting up the webhook.'
+ defaultMessage='Public or private channel that receives the webhook payloads. You must belong to the private channel when setting up the webhook.'
/>
</div>
</div>
diff --git a/webapp/components/leave_team_modal.jsx b/webapp/components/leave_team_modal.jsx
index f8f5675c7..69504ef4d 100644
--- a/webapp/components/leave_team_modal.jsx
+++ b/webapp/components/leave_team_modal.jsx
@@ -81,7 +81,7 @@ class LeaveTeamModal extends React.Component {
<Modal.Body>
<FormattedMessage
id='leave_team_modal.desc'
- defaultMessage='You will be removed from all public channels and private groups. If the team is private you will not be able to rejoin the team. Are you sure?'
+ defaultMessage='You will be removed from all public and private channels. If the team is private you will not be able to rejoin the team. Are you sure?'
/>
</Modal.Body>
<Modal.Footer>
diff --git a/webapp/components/more_direct_channels.jsx b/webapp/components/more_direct_channels.jsx
index c4a3a3526..4d5016907 100644
--- a/webapp/components/more_direct_channels.jsx
+++ b/webapp/components/more_direct_channels.jsx
@@ -266,14 +266,14 @@ export default class MoreDirectChannels extends React.Component {
note = (
<FormattedMessage
id='more_direct_channels.new_convo_note.full'
- defaultMessage='You’ve reached the maximum number of people for this conversation. Consider creating a private group instead.'
+ defaultMessage='You’ve reached the maximum number of people for this conversation. Consider creating a private channel instead.'
/>
);
} else {
note = (
<FormattedMessage
id='more_direct_channels.new_convo_note'
- defaultMessage='This will start a new conversation. If you’re adding a lot of people, consider creating a private group instead.'
+ defaultMessage='This will start a new conversation. If you’re adding a lot of people, consider creating a private channel instead.'
/>
);
}
diff --git a/webapp/components/navbar.jsx b/webapp/components/navbar.jsx
index 28d8fae05..62fb61d97 100644
--- a/webapp/components/navbar.jsx
+++ b/webapp/components/navbar.jsx
@@ -241,21 +241,6 @@ export default class Navbar extends React.Component {
createDropdown(channel, channelTitle, isAdmin, isSystemAdmin, isChannelAdmin, isDirect, isGroup, popoverContent) {
if (channel) {
- let channelTerm = (
- <FormattedMessage
- id='channel_header.channel'
- defaultMessage='Channel'
- />
- );
- if (channel.type === Constants.PRIVATE_CHANNEL) {
- channelTerm = (
- <FormattedMessage
- id='channel_header.group'
- defaultMessage='Group'
- />
- );
- }
-
let viewInfoOption;
let viewPinnedPostsOption;
let addMembersOption;
@@ -449,10 +434,7 @@ export default class Navbar extends React.Component {
>
<FormattedMessage
id='channel_header.setHeader'
- defaultMessage='Set {term} Header...'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Edit Channel Header'
/>
</a>
</li>
@@ -467,10 +449,7 @@ export default class Navbar extends React.Component {
>
<FormattedMessage
id='channel_header.setPurpose'
- defaultMessage='Set {term} Purpose...'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Edit Channel Purpose'
/>
</a>
</li>
@@ -485,10 +464,7 @@ export default class Navbar extends React.Component {
>
<FormattedMessage
id='channel_header.rename'
- defaultMessage='Rename {term}...'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Rename Channel'
/>
</a>
</li>
@@ -506,10 +482,7 @@ export default class Navbar extends React.Component {
>
<FormattedMessage
id='channel_header.delete'
- defaultMessage='Delete {term}...'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Delete Channel'
/>
</ToggleModalButton>
</li>
@@ -528,10 +501,7 @@ export default class Navbar extends React.Component {
>
<FormattedMessage
id='channel_header.leave'
- defaultMessage='Leave {term}'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Leave Channel'
/>
</a>
</li>
diff --git a/webapp/components/new_channel_flow.jsx b/webapp/components/new_channel_flow.jsx
index eb67c9cba..55e47b149 100644
--- a/webapp/components/new_channel_flow.jsx
+++ b/webapp/components/new_channel_flow.jsx
@@ -9,43 +9,17 @@ import {cleanUpUrlable} from 'utils/url.jsx';
import NewChannelModal from './new_channel_modal.jsx';
import ChangeURLModal from './change_url_modal.jsx';
-import {intlShape, injectIntl, defineMessages, FormattedMessage} from 'react-intl';
+import {FormattedMessage} from 'react-intl';
import {createChannel} from 'actions/channel_actions.jsx';
import {browserHistory} from 'react-router/es6';
const SHOW_NEW_CHANNEL = 1;
const SHOW_EDIT_URL = 2;
const SHOW_EDIT_URL_THEN_COMPLETE = 3;
-const messages = defineMessages({
- channel: {
- id: 'channel_flow.channel',
- defaultMessage: 'Channel'
- },
- group: {
- id: 'channel_flow.group',
- defaultMessage: 'Group'
- },
- change: {
- id: 'channel_flow.changeUrlTitle',
- defaultMessage: 'Change {term} URL'
- },
- set: {
- id: 'channel_flow.set_url_title',
- defaultMessage: 'Set {term} URL'
- },
- create: {
- id: 'channel_flow.create',
- defaultMessage: 'Create {term}'
- },
- changeUrlDescription: {
- id: 'channel_flow.changeUrlDescription',
- defaultMessage: 'Some characters are not allowed in URLs and may be removed.'
- }
-});
import React from 'react';
-class NewChannelFlow extends React.Component {
+export default class NewChannelFlow extends React.Component {
constructor(props) {
super(props);
@@ -182,9 +156,6 @@ class NewChannelFlow extends React.Component {
let changeURLTitle = '';
let changeURLSubmitButtonText = '';
- let channelTerm = '';
-
- const {formatMessage} = this.props.intl;
// Only listen to flow state if we are being shown
if (this.props.show) {
@@ -192,21 +163,34 @@ class NewChannelFlow extends React.Component {
case SHOW_NEW_CHANNEL:
if (this.state.channelType === 'O') {
showChannelModal = true;
- channelTerm = formatMessage(messages.channel);
} else {
showGroupModal = true;
- channelTerm = formatMessage(messages.group);
}
break;
case SHOW_EDIT_URL:
showChangeURLModal = true;
- changeURLTitle = formatMessage(messages.change, {term: channelTerm});
- changeURLSubmitButtonText = formatMessage(messages.change, {term: channelTerm});
+ changeURLTitle = (
+ <FormattedMessage
+ id='channel_flow.changeUrlTitle'
+ defaultMessage='Change Channel URL'
+ />
+ );
+ changeURLSubmitButtonText = changeURLTitle;
break;
case SHOW_EDIT_URL_THEN_COMPLETE:
showChangeURLModal = true;
- changeURLTitle = formatMessage(messages.set, {term: channelTerm});
- changeURLSubmitButtonText = formatMessage(messages.create, {term: channelTerm});
+ changeURLTitle = (
+ <FormattedMessage
+ id='channel_flow.set_url_title'
+ defaultMessage='Set Channel URL'
+ />
+ );
+ changeURLSubmitButtonText = (
+ <FormattedMessage
+ id='channel_flow.create'
+ defaultMessage='Create Channel'
+ />
+ );
break;
}
}
@@ -239,8 +223,6 @@ class NewChannelFlow extends React.Component {
<ChangeURLModal
show={showChangeURLModal}
title={changeURLTitle}
- description={formatMessage(messages.changeUrlDescription)}
- urlLabel={channelTerm + ' URL'}
submitButtonText={changeURLSubmitButtonText}
currentURL={this.state.channelName}
serverError={this.state.serverError}
@@ -259,10 +241,7 @@ NewChannelFlow.defaultProps = {
};
NewChannelFlow.propTypes = {
- intl: intlShape.isRequired,
show: React.PropTypes.bool.isRequired,
channelType: React.PropTypes.string.isRequired,
onModalDismissed: React.PropTypes.func.isRequired
};
-
-export default injectIntl(NewChannelFlow);
diff --git a/webapp/components/new_channel_modal.jsx b/webapp/components/new_channel_modal.jsx
index f16b4596f..b515d5469 100644
--- a/webapp/components/new_channel_modal.jsx
+++ b/webapp/components/new_channel_modal.jsx
@@ -135,7 +135,7 @@ export default class NewChannelModal extends React.Component {
>
<FormattedMessage
id='channel_modal.privateGroup2'
- defaultMessage='Create a private group'
+ defaultMessage='Create a private channel'
/>
</a>
);
@@ -151,33 +151,20 @@ export default class NewChannelModal extends React.Component {
createPrivateChannelLink = null;
}
- var channelTerm = '';
var channelSwitchText = '';
switch (this.props.channelType) {
case 'P':
- channelTerm = (
- <FormattedMessage
- id='channel_modal.group'
- defaultMessage='Group'
- />
- );
channelSwitchText = (
<div className='modal-intro'>
<FormattedMessage
id='channel_modal.privateGroup1'
- defaultMessage='Create a new private group with restricted membership. '
+ defaultMessage='Create a new private channel with restricted membership. '
/>
{createPublicChannelLink}
</div>
);
break;
case 'O':
- channelTerm = (
- <FormattedMessage
- id='channel_modal.channel'
- defaultMessage='Channel'
- />
- );
channelSwitchText = (
<div className='modal-intro'>
<FormattedMessage
@@ -205,9 +192,8 @@ export default class NewChannelModal extends React.Component {
<Modal.Title>
<FormattedMessage
id='channel_modal.modalTitle'
- defaultMessage='New '
+ defaultMessage='New Channel'
/>
- {channelTerm}
</Modal.Title>
</Modal.Header>
<form
@@ -282,10 +268,7 @@ export default class NewChannelModal extends React.Component {
<p className='input__help'>
<FormattedMessage
id='channel_modal.descriptionHelp'
- defaultMessage='Describe how this {term} should be used.'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Describe how this channel should be used.'
/>
</p>
</div>
@@ -319,10 +302,7 @@ export default class NewChannelModal extends React.Component {
<p className='input__help'>
<FormattedMessage
id='channel_modal.headerHelp'
- defaultMessage='Set text that will appear in the header of the {term} beside the {term} name. For example, include frequently used links by typing [Link Title](http://example.com).'
- values={{
- term: (channelTerm)
- }}
+ defaultMessage='Set text that will appear in the header of the channel beside the channel name. For example, include frequently used links by typing [Link Title](http://example.com).'
/>
</p>
{serverError}
@@ -348,9 +328,8 @@ export default class NewChannelModal extends React.Component {
>
<FormattedMessage
id='channel_modal.createNew'
- defaultMessage='Create New '
+ defaultMessage='Create New Channel'
/>
- {channelTerm}
</button>
</Modal.Footer>
</form>
diff --git a/webapp/components/sidebar.jsx b/webapp/components/sidebar.jsx
index 940f0b0a6..76ac81c6e 100644
--- a/webapp/components/sidebar.jsx
+++ b/webapp/components/sidebar.jsx
@@ -446,7 +446,7 @@ export default class Sidebar extends React.Component {
<div>
<FormattedHTMLMessage
id='sidebar.tutorialScreen1'
- defaultMessage='<h4>Channels</h4><p><strong>Channels</strong> organize conversations across different topics. They’re open to everyone on your team. To send private communications use <strong>Direct Messages</strong> for a single person or <strong>Private Groups</strong> for multiple people.</p>'
+ defaultMessage='<h4>Channels</h4><p><strong>Channels</strong> organize conversations across different topics. They’re open to everyone on your team. To send private communications use <strong>Direct Messages</strong> for a single person or <strong>Private Channels</strong> for multiple people.</p>'
/>
</div>
);
@@ -473,7 +473,7 @@ export default class Sidebar extends React.Component {
id='sidebar.tutorialScreen3'
defaultMessage='<h4>Creating and Joining Channels</h4>
<p>Click <strong>"More..."</strong> to create a new channel or join an existing one.</p>
- <p>You can also create a new channel or private group by clicking the <strong>"+" symbol</strong> next to the channel or private group header.</p>'
+ <p>You can also create a new public or private channel by clicking the <strong>"+" symbol</strong> next to the public or private channel header.</p>'
/>
</div>
);
@@ -700,7 +700,7 @@ export default class Sidebar extends React.Component {
<Tooltip id='new-channel-tooltip' >
<FormattedMessage
id='sidebar.createChannel'
- defaultMessage='Create new channel'
+ defaultMessage='Create new public channel'
/>
</Tooltip>
);
@@ -708,7 +708,7 @@ export default class Sidebar extends React.Component {
<Tooltip id='new-group-tooltip'>
<FormattedMessage
id='sidebar.createGroup'
- defaultMessage='Create new group'
+ defaultMessage='Create new private channel'
/>
</Tooltip>
);
@@ -872,7 +872,7 @@ export default class Sidebar extends React.Component {
<h4>
<FormattedMessage
id='sidebar.pg'
- defaultMessage='Private Groups'
+ defaultMessage='Private Channels'
/>
{createPrivateChannelIcon}
</h4>
diff --git a/webapp/components/suggestion/search_suggestion_list.jsx b/webapp/components/suggestion/search_suggestion_list.jsx
index 99262109a..ee7a77366 100644
--- a/webapp/components/suggestion/search_suggestion_list.jsx
+++ b/webapp/components/suggestion/search_suggestion_list.jsx
@@ -33,7 +33,7 @@ export default class SearchSuggestionList extends SuggestionList {
text = (
<FormattedMessage
id='suggestion.search.private'
- defaultMessage='Private Groups'
+ defaultMessage='Private Channels'
/>
);
}
diff --git a/webapp/components/tutorial/tutorial_intro_screens.jsx b/webapp/components/tutorial/tutorial_intro_screens.jsx
index c266191b8..5197696c4 100644
--- a/webapp/components/tutorial/tutorial_intro_screens.jsx
+++ b/webapp/components/tutorial/tutorial_intro_screens.jsx
@@ -162,7 +162,7 @@ export default class TutorialIntroScreens extends React.Component {
<FormattedHTMLMessage
id='tutorial_intro.screenTwo'
defaultMessage='<h3>How Mattermost works:</h3>
- <p>Communication happens in public discussion channels, private groups and direct messages.</p>
+ <p>Communication happens in public discussion channels, private channels and direct messages.</p>
<p>Everything is archived and searchable from any web-enabled desktop, laptop or phone.</p>'
/>
{appDownloadLink}
diff --git a/webapp/i18n/en.json b/webapp/i18n/en.json
index b60db31cd..036bcd2d3 100755
--- a/webapp/i18n/en.json
+++ b/webapp/i18n/en.json
@@ -86,7 +86,7 @@
"add_emoji.save": "Save",
"add_incoming_webhook.cancel": "Cancel",
"add_incoming_webhook.channel": "Channel",
- "add_incoming_webhook.channel.help": "Public channel or private group that receives the webhook payloads. You must belong to the private group when setting up the webhook.",
+ "add_incoming_webhook.channel.help": "Public or private channel that receives the webhook payloads. You must belong to the private channel when setting up the webhook.",
"add_incoming_webhook.channelRequired": "A valid channel is required",
"add_incoming_webhook.description": "Description",
"add_incoming_webhook.description.help": "Description for your incoming webhook.",
@@ -329,13 +329,13 @@
"admin.general.policy.permissionsSystemAdmin": "System Admins",
"admin.general.policy.restrictPostDeleteDescription": "Set policy on who has permission to delete messages.",
"admin.general.policy.restrictPostDeleteTitle": "Allow which users to delete messages:",
- "admin.general.policy.restrictPrivateChannelCreationDescription": "Set policy on who can create private groups.",
- "admin.general.policy.restrictPrivateChannelCreationTitle": "Enable private group creation for:",
+ "admin.general.policy.restrictPrivateChannelCreationDescription": "Set policy on who can create private channels.",
+ "admin.general.policy.restrictPrivateChannelCreationTitle": "Enable private channel creation for:",
"admin.general.policy.restrictPrivateChannelDeletionCommandLineToolLink": "command line tool",
- "admin.general.policy.restrictPrivateChannelDeletionDescription": "Set policy on who can delete private groups. Deleted groups can be recovered from the database using a {commandLineToolLink}.",
- "admin.general.policy.restrictPrivateChannelDeletionTitle": "Enable private group deletion for:",
- "admin.general.policy.restrictPrivateChannelManagementDescription": "Set policy on who can rename and set the header or purpose for private groups.",
- "admin.general.policy.restrictPrivateChannelManagementTitle": "Enable private group renaming for:",
+ "admin.general.policy.restrictPrivateChannelDeletionDescription": "Set policy on who can delete private channels. Deleted channels can be recovered from the database using a {commandLineToolLink}.",
+ "admin.general.policy.restrictPrivateChannelDeletionTitle": "Enable private channel deletion for:",
+ "admin.general.policy.restrictPrivateChannelManagementDescription": "Set policy on who can rename and set the header or purpose for private channels.",
+ "admin.general.policy.restrictPrivateChannelManagementTitle": "Enable private channel renaming for:",
"admin.general.policy.restrictPublicChannelCreationDescription": "Set policy on who can create public channels.",
"admin.general.policy.restrictPublicChannelCreationTitle": "Enable public channel creation for:",
"admin.general.policy.restrictPublicChannelDeletionCommandLineToolLink": "command line tool",
@@ -941,7 +941,7 @@
"analytics.system.dailyActiveUsers": "Daily Active Users",
"analytics.system.monthlyActiveUsers": "Monthly Active Users",
"analytics.system.postTypes": "Posts, Files and Hashtags",
- "analytics.system.privateGroups": "Private Groups",
+ "analytics.system.privateGroups": "Private Channels",
"analytics.system.publicChannels": "Public Channels",
"analytics.system.skippedIntensiveQueries": "To maximize performance, some statistics are disabled. You can re-enable them in config.json. See: <a href='https://docs.mattermost.com/administration/statistics.html' target='_blank'>https://docs.mattermost.com/administration/statistics.html</a>",
"analytics.system.textPosts": "Posts with Text-only",
@@ -962,7 +962,7 @@
"analytics.team.activeUsers": "Active Users With Posts",
"analytics.team.newlyCreated": "Newly Created Users",
"analytics.team.noTeams": "There are no teams on this server for which to view statistics.",
- "analytics.team.privateGroups": "Private Groups",
+ "analytics.team.privateGroups": "Private Channels",
"analytics.team.publicChannels": "Public Channels",
"analytics.team.recentActive": "Recent Active Users",
"analytics.team.recentUsers": "Recent Active Users",
@@ -995,8 +995,8 @@
"audit_table.attemptedWebhookDelete": "Attempted to delete a webhook",
"audit_table.by": " by {username}",
"audit_table.byAdmin": " by an admin",
- "audit_table.channelCreated": "Created the {channelName} channel/group",
- "audit_table.channelDeleted": "Deleted the channel/group with the URL {url}",
+ "audit_table.channelCreated": "Created the {channelName} channel",
+ "audit_table.channelDeleted": "Deleted the channel with the URL {url}",
"audit_table.establishedDM": "Established a direct message channel with {username}",
"audit_table.failedExpiredLicenseAdd": "Failed to add a new license as it has either expired or not yet been started",
"audit_table.failedInvalidLicenseAdd": "Failed to add an invalid license",
@@ -1005,14 +1005,14 @@
"audit_table.failedPassword": "Failed to change password - tried to update user password who was logged in through OAuth",
"audit_table.failedWebhookCreate": "Failed to create a webhook - bad channel permissions",
"audit_table.failedWebhookDelete": "Failed to delete a webhook - inappropriate conditions",
- "audit_table.headerUpdated": "Updated the {channelName} channel/group header",
+ "audit_table.headerUpdated": "Updated the {channelName} channel header",
"audit_table.ip": "IP Address",
"audit_table.licenseRemoved": "Successfully removed a license",
"audit_table.loginAttempt": " (Login attempt)",
"audit_table.loginFailure": " (Login failure)",
"audit_table.logout": "Logged out of your account",
"audit_table.member": "member",
- "audit_table.nameUpdated": "Updated the {channelName} channel/group name",
+ "audit_table.nameUpdated": "Updated the {channelName} channel name",
"audit_table.oauthTokenFailed": "Failed to get an OAuth access token - {token}",
"audit_table.revokedAll": "Revoked all current sessions for the team",
"audit_table.sentEmail": "Sent an email to {email} to reset your password",
@@ -1031,9 +1031,9 @@
"audit_table.updateGlobalNotifications": "Updated your global notification settings",
"audit_table.updatePicture": "Updated your profile picture",
"audit_table.updatedRol": "Updated user role(s) to ",
- "audit_table.userAdded": "Added {username} to the {channelName} channel/group",
+ "audit_table.userAdded": "Added {username} to the {channelName} channel",
"audit_table.userId": "User ID",
- "audit_table.userRemoved": "Removed {username} to the {channelName} channel/group",
+ "audit_table.userRemoved": "Removed {username} to the {channelName} channel",
"audit_table.verified": "Sucessfully verified your email address",
"authorize.access": "Allow <strong>{appName}</strong> access?",
"authorize.allow": "Allow",
@@ -1056,32 +1056,29 @@
"change_url.longer": "URL must be two or more characters.",
"change_url.noUnderscore": "URL can not contain two underscores in a row.",
"change_url.startWithLetter": "URL must start with a letter or number.",
+ "change_url.urlLabel": "Channel URL",
"channelHeader.addToFavorites": "Add to Favorites",
"channelHeader.removeFromFavorites": "Remove from Favorites",
"channel_flow.alreadyExist": "A channel with that URL already exists",
"channel_flow.changeUrlDescription": "Some characters are not allowed in URLs and may be removed.",
- "channel_flow.changeUrlTitle": "Change {term} URL",
- "channel_flow.channel": "Channel",
- "channel_flow.create": "Create {term}",
- "channel_flow.group": "Group",
+ "channel_flow.changeUrlTitle": "Change Channel URL",
+ "channel_flow.create": "Create Channel",
"channel_flow.handleTooShort": "Channel URL must be 2 or more lowercase alphanumeric characters",
"channel_flow.invalidName": "Invalid Channel Name",
- "channel_flow.set_url_title": "Set {term} URL",
+ "channel_flow.set_url_title": "Set Channel URL",
"channel_header.addMembers": "Add Members",
"channel_header.addToFavorites": "Add to Favorites",
- "channel_header.channel": "Channel",
"channel_header.channelHeader": "Edit Channel Header",
- "channel_header.delete": "Delete {term}",
+ "channel_header.delete": "Delete Channel",
"channel_header.flagged": "Flagged Posts",
- "channel_header.group": "Group",
- "channel_header.leave": "Leave {term}",
+ "channel_header.leave": "Leave Channel",
"channel_header.manageMembers": "Manage Members",
"channel_header.notificationPreferences": "Notification Preferences",
"channel_header.recentMentions": "Recent Mentions",
"channel_header.removeFromFavorites": "Remove from Favorites",
- "channel_header.rename": "Rename {term}",
- "channel_header.setHeader": "Edit {term} Header",
- "channel_header.setPurpose": "Edit {term} Purpose",
+ "channel_header.rename": "Rename Channel",
+ "channel_header.setHeader": "Edit Channel Header",
+ "channel_header.setPurpose": "Edit Channel Purpose",
"channel_header.viewInfo": "View Info",
"channel_header.viewMembers": "View Members",
"channel_header.webrtc.call": "Start Video Call",
@@ -1116,21 +1113,19 @@
"channel_members_modal.addNew": " Add New Members",
"channel_members_modal.members": " Members",
"channel_modal.cancel": "Cancel",
- "channel_modal.channel": "Channel",
- "channel_modal.createNew": "Create New ",
- "channel_modal.descriptionHelp": "Describe how this {term} should be used.",
+ "channel_modal.createNew": "Create New Channel",
+ "channel_modal.descriptionHelp": "Describe how this channel should be used.",
"channel_modal.displayNameError": "Channel name must be 2 or more characters",
"channel_modal.edit": "Edit",
- "channel_modal.group": "Group",
"channel_modal.header": "Header",
"channel_modal.headerEx": "E.g.: \"[Link Title](http://example.com)\"",
- "channel_modal.headerHelp": "Set text that will appear in the header of the {term} beside the {term} name. For example, include frequently used links by typing [Link Title](http://example.com).",
- "channel_modal.modalTitle": "New ",
+ "channel_modal.headerHelp": "Set text that will appear in the header of the channel beside the channel name. For example, include frequently used links by typing [Link Title](http://example.com).",
+ "channel_modal.modalTitle": "New Channel",
"channel_modal.name": "Name",
"channel_modal.nameEx": "E.g.: \"Bugs\", \"Marketing\", \"客户支持\"",
"channel_modal.optional": "(optional)",
- "channel_modal.privateGroup1": "Create a new private group with restricted membership. ",
- "channel_modal.privateGroup2": "Create a private group",
+ "channel_modal.privateGroup1": "Create a new private channel with restricted membership. ",
+ "channel_modal.privateGroup2": "Create a private channel",
"channel_modal.publicChannel1": "Create a public channel",
"channel_modal.publicChannel2": "Create a new public channel anyone can join. ",
"channel_modal.purpose": "Purpose",
@@ -1230,11 +1225,9 @@
"custom_emoji.search": "Search Custom Emoji",
"default_channel.purpose": "Post messages here that you want everyone to see. Everyone automatically becomes a permanent member of this channel when they join the team.",
"delete_channel.cancel": "Cancel",
- "delete_channel.channel": "channel",
"delete_channel.confirm": "Confirm DELETE Channel",
"delete_channel.del": "Delete",
- "delete_channel.group": "group",
- "delete_channel.question": "This will delete the channel from the team and make its contents inaccessible for all users. Are you sure you wish to delete the {display_name} {term}?",
+ "delete_channel.question": "This will delete the channel from the team and make its contents inaccessible for all users. Are you sure you wish to delete the {display_name} channel?",
"delete_post.cancel": "Cancel",
"delete_post.comment": "Comment",
"delete_post.confirm": "Confirm {term} Delete",
@@ -1248,11 +1241,9 @@
"edit_channel_header_modal.save": "Save",
"edit_channel_header_modal.title": "Edit Header for {channel}",
"edit_channel_header_modal.title_dm": "Edit Header",
- "edit_channel_purpose_modal.body": "Describe how this {type} should be used. This text appears in the channel list in the \"More...\" menu and helps others decide whether to join.",
+ "edit_channel_purpose_modal.body": "Describe how this channel should be used. This text appears in the channel list in the \"More...\" menu and helps others decide whether to join.",
"edit_channel_purpose_modal.cancel": "Cancel",
- "edit_channel_purpose_modal.channel": "Channel",
"edit_channel_purpose_modal.error": "This channel purpose is too long, please enter a shorter one",
- "edit_channel_purpose_modal.group": "Group",
"edit_channel_purpose_modal.save": "Save",
"edit_channel_purpose_modal.title1": "Edit Purpose",
"edit_channel_purpose_modal.title2": "Edit Purpose for ",
@@ -1544,12 +1535,12 @@
"intro_messages.channel": "channel",
"intro_messages.creator": "This is the start of the {name} {type}, created by {creator} on {date}.",
"intro_messages.default": "<h4 class='channel-intro__title'>Beginning of {display_name}</h4><p class='channel-intro__content'><strong>Welcome to {display_name}!</strong><br/><br/>Post messages here that you want everyone to see. Everyone automatically becomes a permanent member of this channel when they join the team.</p>",
- "intro_messages.group": "private group",
+ "intro_messages.group": "private channel",
"intro_messages.invite": "Invite others to this {type}",
"intro_messages.inviteOthers": "Invite others to this team",
"intro_messages.noCreator": "This is the start of the {name} {type}, created on {date}.",
"intro_messages.offTopic": "<h4 class=\"channel-intro__title\">Beginning of {display_name}</h4><p class=\"channel-intro__content\">This is the start of {display_name}, a channel for non-work-related conversations.<br/></p>",
- "intro_messages.onlyInvited": " Only invited members can see this private group.",
+ "intro_messages.onlyInvited": " Only invited members can see this private channel.",
"intro_messages.purpose": " This {type}'s purpose is: {purpose}.",
"intro_messages.setHeader": "Set a Header",
"intro_messages.teammate": "This is the start of your direct message history with this teammate. Direct messages and files shared here are not shown to people outside this area.",
@@ -1575,7 +1566,7 @@
"ldap_signup.length_error": "Name must be 3 or more characters up to a maximum of 15",
"ldap_signup.teamName": "Enter name of new team",
"ldap_signup.team_error": "Please enter a team name",
- "leave_team_modal.desc": "You will be removed from all public channels and private groups. If the team is private you will not be able to rejoin the team. Are you sure?",
+ "leave_team_modal.desc": "You will be removed from all public and private channels. If the team is private you will not be able to rejoin the team. Are you sure?",
"leave_team_modal.no": "No",
"leave_team_modal.title": "Leave the team?",
"leave_team_modal.yes": "Yes",
@@ -1727,8 +1718,8 @@
"more_channels.title": "More Channels",
"more_direct_channels.close": "Close",
"more_direct_channels.message": "Message",
- "more_direct_channels.new_convo_note": "This will start a new conversation. If you’re adding a lot of people, consider creating a private group instead.",
- "more_direct_channels.new_convo_note.full": "You’ve reached the maximum number of people for this conversation. Consider creating a private group instead.",
+ "more_direct_channels.new_convo_note": "This will start a new conversation. If you’re adding a lot of people, consider creating a private channel instead.",
+ "more_direct_channels.new_convo_note.full": "You’ve reached the maximum number of people for this conversation. Consider creating a private channel instead.",
"more_direct_channels.title": "Direct Messages",
"msg_typing.areTyping": "{users} and {last} are typing...",
"msg_typing.isTyping": "{user} is typing...",
@@ -1895,18 +1886,18 @@
"setting_upload.noFile": "No file selected.",
"setting_upload.select": "Select file",
"sidebar.channels": "Channels",
- "sidebar.createChannel": "Create new channel",
- "sidebar.createGroup": "Create new group",
+ "sidebar.createChannel": "Create new public channel",
+ "sidebar.createGroup": "Create new private channel",
"sidebar.direct": "Direct Messages",
"sidebar.favorite": "Favorites",
"sidebar.more": "More",
"sidebar.moreElips": "More...",
"sidebar.otherMembers": "Outside this team",
- "sidebar.pg": "Private Groups",
+ "sidebar.pg": "Private Channels",
"sidebar.removeList": "Remove from list",
- "sidebar.tutorialScreen1": "<h4>Channels</h4><p><strong>Channels</strong> organize conversations across different topics. They’re open to everyone on your team. To send private communications use <strong>Direct Messages</strong> for a single person or <strong>Private Groups</strong> for multiple people.</p>",
+ "sidebar.tutorialScreen1": "<h4>Channels</h4><p><strong>Channels</strong> organize conversations across different topics. They’re open to everyone on your team. To send private communications use <strong>Direct Messages</strong> for a single person or <strong>Private Channel</strong> for multiple people.</p>",
"sidebar.tutorialScreen2": "<h4>\"{townsquare}\" and \"{offtopic}\" channels</h4><p>Here are two public channels to start:</p><p><strong>{townsquare}</strong> is a place for team-wide communication. Everyone in your team is a member of this channel.</p><p><strong>{offtopic}</strong> is a place for fun and humor outside of work-related channels. You and your team can decide what other channels to create.</p>",
- "sidebar.tutorialScreen3": "<h4>Creating and Joining Channels</h4><p>Click <strong>\"More...\"</strong> to create a new channel or join an existing one.</p><p>You can also create a new channel or private group by clicking the <strong>\"+\" symbol</strong> next to the channel or private group header.</p>",
+ "sidebar.tutorialScreen3": "<h4>Creating and Joining Channels</h4><p>Click <strong>\"More...\"</strong> to create a new channel or join an existing one.</p><p>You can also create a new channel by clicking the <strong>\"+\" symbol</strong> next to the public or private channel header.</p>",
"sidebar.unreadAbove": "Unread post(s) above",
"sidebar.unreadBelow": "Unread post(s) below",
"sidebar_header.tutorial": "<h4>Main Menu</h4><p>The <strong>Main Menu</strong> is where you can <strong>Invite New Members</strong>, access your <strong>Account Settings</strong> and set your <strong>Theme Color</strong>.</p><p>Team administrators can also access their <strong>Team Settings</strong> from this menu.</p><p>System administrators will find a <strong>System Console</strong> option to administrate the entire system.</p>",
@@ -1982,7 +1973,7 @@
"suggestion.mention.morechannels": "Other Channels",
"suggestion.mention.nonmembers": "Not in Channel",
"suggestion.mention.special": "Special Mentions",
- "suggestion.search.private": "Private Groups",
+ "suggestion.search.private": "Private Channels",
"suggestion.search.public": "Public Channels",
"system_users_list.count": "{count, number} {count, plural, one {user} other {users}}",
"system_users_list.countPage": "{startCount, number} - {endCount, number} {count, plural, one {user} other {users}} of {total} total",
@@ -2041,7 +2032,7 @@
"tutorial_intro.mobileAppsLinkText": "PC, Mac, iOS and Android",
"tutorial_intro.next": "Next",
"tutorial_intro.screenOne": "<h3>Welcome to:</h3><h1>Mattermost</h1><p>Your team communication all in one place, instantly searchable and available anywhere.</p><p>Keep your team connected to help them achieve what matters most.</p>",
- "tutorial_intro.screenTwo": "<h3>How Mattermost works:</h3><p>Communication happens in public discussion channels, private groups and direct messages.</p><p>Everything is archived and searchable from any web-enabled desktop, laptop or phone.</p>",
+ "tutorial_intro.screenTwo": "<h3>How Mattermost works:</h3><p>Communication happens in public discussion channels, private channels and direct messages.</p><p>Everything is archived and searchable from any web-enabled desktop, laptop or phone.</p>",
"tutorial_intro.skip": "Skip tutorial",
"tutorial_intro.support": "Need anything, just email us at ",
"tutorial_intro.teamInvite": "Invite teammates",
diff --git a/webapp/utils/channel_intro_messages.jsx b/webapp/utils/channel_intro_messages.jsx
index 390ce6d28..4871a8d69 100644
--- a/webapp/utils/channel_intro_messages.jsx
+++ b/webapp/utils/channel_intro_messages.jsx
@@ -217,13 +217,13 @@ export function createStandardIntroMessage(channel, centeredIntro) {
uiType = (
<FormattedMessage
id='intro_messages.group'
- defaultMessage='private group'
+ defaultMessage='private channel'
/>
);
memberMessage = (
<FormattedMessage
id='intro_messages.onlyInvited'
- defaultMessage=' Only invited members can see this private group.'
+ defaultMessage=' Only invited members can see this private channel.'
/>
);
} else {