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
parent
003083d9fc
commit
dc7212ec2b
|
@ -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",
|
||||
|
|
|
@ -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,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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});
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue