switch back to simple TextForEvent

I haven't found anyone who can justify to me why we need
more complicated plurals for i18n (even in Polish) for
%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.
pull/21833/head
Matthew Hodgson 2018-09-17 18:20:12 +01:00
parent 003083d9fc
commit dc7212ec2b
5 changed files with 36 additions and 25 deletions

View File

@ -85,15 +85,15 @@
"react-dom": "^15.6.0",
"react-gemini-scrollbar": "matrix-org/react-gemini-scrollbar#5e97aef",
"resize-observer-polyfill": "^1.5.0",
"sanitize-html": "^1.18.4",
"slate": "0.34.7",
"slate-react": "^0.12.4",
"slate-html-serializer": "^0.6.1",
"slate-md-serializer": "matrix-org/slate-md-serializer#f7c4ad3",
"sanitize-html": "^1.18.4",
"slate-react": "^0.12.4",
"text-encoding-utf-8": "^1.0.1",
"url": "^0.11.0",
"velocity-vector": "vector-im/velocity#059e3b2",
"whatwg-fetch": "^1.0.0"
"whatwg-fetch": "^1.1.1"
},
"devDependencies": {
"babel-cli": "^6.5.2",

View File

@ -199,7 +199,7 @@ function textForMessageEvent(ev) {
}
function textForRoomAliasesEvent(ev) {
const senderName = event.sender ? event.sender.name : event.getSender();
const senderName = ev.sender && ev.sender.name ? ev.sender.name : ev.getSender();
const oldAliases = ev.getPrevContent().aliases || [];
const newAliases = ev.getContent().aliases || [];
@ -211,13 +211,13 @@ function textForRoomAliasesEvent(ev) {
}
if (addedAliases.length && !removedAliases.length) {
return _t('%(senderName)s added %(addedAddresses)s as addresses for this room.', {
return _t('%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.', {
senderName: senderName,
count: addedAliases.length,
addedAddresses: addedAliases.join(', '),
});
} else if (!addedAliases.length && removedAliases.length) {
return _t('%(senderName)s removed %(removedAddresses)s as addresses for this room.', {
return _t('%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.', {
senderName: senderName,
count: removedAliases.length,
removedAddresses: removedAliases.join(', '),
@ -228,17 +228,10 @@ function textForRoomAliasesEvent(ev) {
addedAddresses: addedAliases.join(', '),
removedAddresses: removedAliases.join(', '),
};
/* eslint-disable max-len */
if (addedAliases.length === 1 && removedAliases.length === 1) {
return _t('%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.|one,one', args);
} else if (addedAliases.length !== 1 && removedAliases.length === 1) {
return _t('%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.|other,one', args);
} else if (addedAliases.length === 1 && removedAliases.length !== 1) {
return _t('%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.|one,other', args);
} else {
return _t('%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.|other,other', args);
}
/* eslint-enable max-len */
return _t(
'%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.',
args,
);
}
}

View File

@ -14,6 +14,16 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
/****************************************************************
** **
** THIS CLASS IS NOT USED TO RENDER ALIAS CHANGES, IN ORDER **
** TO TRY TO KEEP THINGS SIMPLE AND JUST USE TextualEvent. **
** **
** The code is kept here for ease of reference in future **
** should we need the GenericEventListSummary stuff **
** **
****************************************************************/
'use strict';
import React from 'react';
@ -69,10 +79,8 @@ export class GenericEventListSummary extends React.Component {
let summaryContainer = null;
if (showSummary) {
summaryContainer = (
<div className="mx_EventTile_line">
<div className="mx_EventTile_info">
{this.props.summary}
</div>
<div>
{this.props.summary}
</div>
);
}
@ -140,10 +148,14 @@ export default class RoomAliasesEvent extends React.Component {
const changes = [];
addedAliases.forEach((alias) => {
changes.push(<div key={'+' + alias}>Added {alias}</div>);
changes.push(<div key={'+' + alias}>{_t('%(senderName)s added %(alias)s', {
senderName, alias,
})}</div>);
});
removedAliases.forEach((alias) => {
changes.push(<div key={'-' + alias}>Removed {alias}</div>);
changes.push(<div key={'-' + alias}>{_t('%(senderName)s removed %(alias)s', {
senderName, alias,
})}</div>);
});
const summary = _t('%(senderName)s changed the addresses of this room.', {senderName});

View File

@ -47,7 +47,8 @@ const eventTileTypes = {
};
const stateEventTileTypes = {
'm.room.aliases': 'messages.RoomAliasesEvent',
'm.room.aliases': 'messages.TextualEvent',
// 'm.room.aliases': 'messages.RoomAliasesEvent', // too complex
'm.room.create': 'messages.RoomCreate',
'm.room.member': 'messages.TextualEvent',
'm.room.name': 'messages.TextualEvent',
@ -484,7 +485,9 @@ module.exports = withMatrixClient(React.createClass({
const eventType = this.props.mxEvent.getType();
// Info messages are basically information about commands processed on a room
const isInfoMessage = (eventType !== 'm.room.message' && eventType !== 'm.sticker' && eventType != 'm.room.create');
const isInfoMessage = (
eventType !== 'm.room.message' && eventType !== 'm.sticker' && eventType != 'm.room.create'
);
const tileHandler = getHandlerTile(this.props.mxEvent);
// This shouldn't happen: the caller should check we support this type

View File

@ -1250,7 +1250,10 @@
"%(senderName)s added %(count)s %(addedAddresses)s as addresses for this room.|other": "%(senderName)s added %(addedAddresses)s as addresses for this room.",
"%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|one": "%(senderName)s removed %(removedAddresses)s as an address for this room.",
"%(senderName)s removed %(count)s %(removedAddresses)s as addresses for this room.|other": "%(senderName)s removed %(removedAddresses)s as addresses for this room.",
"%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.": "%(senderName)s added %(addedAddresses)s and removed %(removedAddresses)s as addresses for this room.",
"%(senderName)s changed the addresses of this room.": "%(senderName)s changed the addresses of this room.",
"%(senderName)s added %(addedAddresses)s": "%(senderName)s added %(addedAddresses)s",
"%(senderName)s removed %(addedAddresses)s": "%(senderName)s removed %(addedAddresses)s",
"File to import": "File to import",
"Import": "Import",
"Failed to set direct chat tag": "Failed to set direct chat tag",