Merge "Add i18n to several missed strings"

This commit is contained in:
Jenkins 2017-02-10 11:40:24 +00:00 committed by Gerrit Code Review
commit decdb2b646
5 changed files with 42 additions and 10 deletions

View File

@ -1,4 +1,5 @@
import { connect } from 'react-redux';
import { defineMessages, injectIntl } from 'react-intl';
import ImmutablePropTypes from 'react-immutable-proptypes';
import React from 'react';
@ -9,6 +10,13 @@ import NavBar from './NavBar';
import ValidationsList from './validations/ValidationsList';
import WorkflowExecutionsActions from '../actions/WorkflowExecutionsActions';
const messages = defineMessages({
loadingDeployments: {
id: 'AuthenticatedContent.loadingDeployments',
defaultMessage: 'Loading Deployments...'
}
});
class AuthenticatedContent extends React.Component {
componentDidMount() {
this.props.fetchPlans();
@ -19,7 +27,7 @@ class AuthenticatedContent extends React.Component {
return (
<Loader loaded={this.props.plansLoaded &&
(!!this.props.currentPlanName || this.props.noPlans)}
content="Loading Deployments..."
content={this.props.intl.formatMessage(messages.loadingDeployments)}
global>
<header>
<NavBar user={this.props.user}
@ -41,6 +49,7 @@ AuthenticatedContent.propTypes = {
dispatch: React.PropTypes.func,
fetchPlans: React.PropTypes.func,
fetchWorkflowExecutions: React.PropTypes.func,
intl: React.PropTypes.object,
logoutUser: React.PropTypes.func.isRequired,
noPlans: React.PropTypes.bool,
plansLoaded: React.PropTypes.bool,
@ -64,4 +73,4 @@ const mapStateToProps = state => {
};
};
export default connect(mapStateToProps, mapDispatchToProps)(AuthenticatedContent);
export default connect(mapStateToProps, mapDispatchToProps)(injectIntl(AuthenticatedContent));

View File

@ -1,9 +1,17 @@
import { connect } from 'react-redux';
import { defineMessages, injectIntl } from 'react-intl';
import React from 'react';
import Loader from './ui/Loader';
import NotificationsToaster from './notifications/NotificationsToaster';
const messages = defineMessages({
authenticating: {
id: 'UserAuthenticator.authenticating',
defaultMessage: 'Authenticating...'
}
});
/**
* Takes care of authenticating user. User Authentication is triggered in routes
* 'onEnter' to this component. After authentication is resolved, component children
@ -14,7 +22,7 @@ class UserAuthenticator extends React.Component {
return (
<div>
<Loader loaded={this.props.isAuthenticated}
content="Authenticating ..."
content={this.props.intl.formatMessage(messages.authenticating)}
global>
{this.props.children}
</Loader>
@ -26,6 +34,7 @@ class UserAuthenticator extends React.Component {
UserAuthenticator.propTypes = {
children: React.PropTypes.node,
dispatch: React.PropTypes.func,
intl: React.PropTypes.object,
isAuthenticated: React.PropTypes.bool.isRequired
};
@ -35,4 +44,4 @@ const mapStateToProps = state => {
};
};
export default connect(mapStateToProps)(UserAuthenticator);
export default connect(mapStateToProps)(injectIntl(UserAuthenticator));

View File

@ -1,4 +1,4 @@
import { defineMessages, injectIntl } from 'react-intl';
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
import React from 'react';
import ImmutablePropTypes from 'react-immutable-proptypes';
import { Link } from 'react-router';
@ -12,6 +12,10 @@ const messages = defineMessages({
id: 'DeploymentFailure.deleteDeployment',
defaultMessage: 'Delete Deployment'
},
moreDetails: {
id: 'DeploymentFailure.moreDetails',
defaultMessage: 'More details'
},
requestingDeletion: {
id: 'DeploymentFailure.requestingDeletion',
defaultMessage: 'Requesting Deletion of Deployment'
@ -28,7 +32,7 @@ class DeploymentFailure extends React.Component {
title={deploymentStatusMessages[this.props.stack.stack_status]}>
<p>
{this.props.stack.stack_status_reason} <Link to="/deployment-plan/deployment-detail">
More details</Link>
<FormattedMessage {...messages.moreDetails}/></Link>
</p>
</InlineNotification>
<DeleteStackButton content={formatMessage(messages.deleteDeployment)}

View File

@ -23,6 +23,10 @@ const messages = defineMessages({
id: 'NodesAssignment.assignUnassignNodes',
defaultMessage: 'Assign/Unassign Selected Nodes'
},
assignNodesToRole: {
id: 'NodesAssignment.assignNodesToRole',
defaultMessage: 'Assign Nodes to {roleName} Role'
},
done: {
id: 'NodesAssignment.done',
defaultMessage: 'Done'
@ -78,6 +82,7 @@ class NodesAssignment extends React.Component {
render() {
const { roleIdentifier } = this.props.params;
const role = this.props.roles.get(roleIdentifier);
const roleName = role ? role.title : roleIdentifier;
const nodesToAssign = this.props.unassignedAvailableNodes
.merge(getAssignedNodes(this.props.availableNodes, roleIdentifier))
.sortBy(node => node.get('uuid'));
@ -95,7 +100,7 @@ class NodesAssignment extends React.Component {
<span aria-hidden="true" className="pficon pficon-close"/>
</Link>
<h4 className="modal-title">
Assign Nodes to {role ? role.title : roleIdentifier} Role
<FormattedMessage {...messages.assignNodesToRole} values={{ roleName: roleName }}/>
</h4>
</div>

View File

@ -1,4 +1,4 @@
import { defineMessages, injectIntl } from 'react-intl';
import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
import ImmutablePropTypes from 'react-immutable-proptypes';
import React from 'react';
@ -9,6 +9,10 @@ const messages = defineMessages({
loadingNodes: {
id: 'RolesStep.loadingNodes',
defaultMessage: 'Loading Nodes...'
},
nodesAvailableToAssign: {
id: 'RolesStep.nodesAvailableToAssign',
defaultMessage: '{nodesCount} Nodes available to assign.'
}
});
@ -28,8 +32,9 @@ const RolesStep = ({ isFetchingNodes,
content={intl.formatMessage(messages.loadingNodes)}
component="span"
inline>
<strong>{unassignedAvailableNodes.size}</strong> Nodes
available to assign
<FormattedMessage {...messages.nodesAvailableToAssign}
values={{ nodesCount:
<strong>{unassignedAvailableNodes.size}</strong> }}/>
</Loader>
</p>
<Roles roles={roles.toList().toJS()}