feat: Add more localization strings and add default matrix localizations
This commit is contained in:
parent
a519176afc
commit
059a240214
|
|
@ -40,6 +40,7 @@ export 'src/utils/http_timeout.dart';
|
||||||
export 'src/utils/image_pack_extension.dart';
|
export 'src/utils/image_pack_extension.dart';
|
||||||
export 'src/utils/matrix_file.dart';
|
export 'src/utils/matrix_file.dart';
|
||||||
export 'src/utils/matrix_id_string_extension.dart';
|
export 'src/utils/matrix_id_string_extension.dart';
|
||||||
|
export 'src/utils/matrix_default_localizations.dart';
|
||||||
export 'src/utils/matrix_localizations.dart';
|
export 'src/utils/matrix_localizations.dart';
|
||||||
export 'src/utils/receipt.dart';
|
export 'src/utils/receipt.dart';
|
||||||
export 'src/utils/sync_update_extension.dart';
|
export 'src/utils/sync_update_extension.dart';
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,9 @@ abstract class EventLocalizations {
|
||||||
},
|
},
|
||||||
EventTypes.RoomMember: (event, i18n, body) {
|
EventTypes.RoomMember: (event, i18n, body) {
|
||||||
final targetName = event.stateKeyUser?.calcDisplayname() ?? '';
|
final targetName = event.stateKeyUser?.calcDisplayname() ?? '';
|
||||||
|
final senderName = event.sender.calcDisplayname();
|
||||||
|
final userIsTarget = event.stateKey == event.room.client.userID;
|
||||||
|
final userIsSender = event.senderId == event.room.client.userID;
|
||||||
|
|
||||||
// Fallback message if just nothing has changed:
|
// Fallback message if just nothing has changed:
|
||||||
var text = i18n.joinedTheChat(targetName);
|
var text = i18n.joinedTheChat(targetName);
|
||||||
|
|
@ -111,37 +114,59 @@ abstract class EventLocalizations {
|
||||||
|
|
||||||
if (newMembership != oldMembership) {
|
if (newMembership != oldMembership) {
|
||||||
if (oldMembership == 'invite' && newMembership == 'join') {
|
if (oldMembership == 'invite' && newMembership == 'join') {
|
||||||
text = i18n.acceptedTheInvitation(targetName);
|
text = userIsTarget
|
||||||
|
? i18n.youAcceptedTheInvitation
|
||||||
|
: i18n.acceptedTheInvitation(targetName);
|
||||||
} else if (oldMembership == 'invite' && newMembership == 'leave') {
|
} else if (oldMembership == 'invite' && newMembership == 'leave') {
|
||||||
if (event.stateKey == event.senderId) {
|
if (event.stateKey == event.senderId) {
|
||||||
text = i18n.rejectedTheInvitation(targetName);
|
text = userIsTarget
|
||||||
|
? i18n.youRejectedTheInvitation
|
||||||
|
: i18n.rejectedTheInvitation(targetName);
|
||||||
} else {
|
} else {
|
||||||
text = i18n.hasWithdrawnTheInvitationFor(
|
text = userIsSender
|
||||||
event.sender.calcDisplayname(), targetName);
|
? i18n.youHaveWithdrawnTheInvitationFor(targetName)
|
||||||
|
: i18n.hasWithdrawnTheInvitationFor(senderName, targetName);
|
||||||
}
|
}
|
||||||
} else if (oldMembership == 'leave' && newMembership == 'join') {
|
} else if (oldMembership == 'leave' && newMembership == 'join') {
|
||||||
text = i18n.joinedTheChat(targetName);
|
text = userIsTarget
|
||||||
|
? i18n.youJoinedTheChat
|
||||||
|
: i18n.joinedTheChat(targetName);
|
||||||
} else if (oldMembership == 'join' && newMembership == 'ban') {
|
} else if (oldMembership == 'join' && newMembership == 'ban') {
|
||||||
text =
|
text = userIsSender
|
||||||
i18n.kickedAndBanned(event.sender.calcDisplayname(), targetName);
|
? i18n.youKickedAndBanned(targetName)
|
||||||
|
: i18n.kickedAndBanned(senderName, targetName);
|
||||||
} else if (oldMembership == 'join' &&
|
} else if (oldMembership == 'join' &&
|
||||||
newMembership == 'leave' &&
|
newMembership == 'leave' &&
|
||||||
event.stateKey != event.senderId) {
|
event.stateKey != event.senderId) {
|
||||||
text = i18n.kicked(event.sender.calcDisplayname(), targetName);
|
text = userIsSender
|
||||||
|
? i18n.youKicked(targetName)
|
||||||
|
: i18n.kicked(senderName, targetName);
|
||||||
} else if (oldMembership == 'join' &&
|
} else if (oldMembership == 'join' &&
|
||||||
newMembership == 'leave' &&
|
newMembership == 'leave' &&
|
||||||
event.stateKey == event.senderId) {
|
event.stateKey == event.senderId) {
|
||||||
text = i18n.userLeftTheChat(targetName);
|
text = i18n.userLeftTheChat(targetName);
|
||||||
} else if (oldMembership == 'invite' && newMembership == 'ban') {
|
} else if (oldMembership == 'invite' && newMembership == 'ban') {
|
||||||
text = i18n.bannedUser(event.sender.calcDisplayname(), targetName);
|
text = userIsSender
|
||||||
|
? i18n.youBannedUser(targetName)
|
||||||
|
: i18n.bannedUser(senderName, targetName);
|
||||||
} else if (oldMembership == 'leave' && newMembership == 'ban') {
|
} else if (oldMembership == 'leave' && newMembership == 'ban') {
|
||||||
text = i18n.bannedUser(event.sender.calcDisplayname(), targetName);
|
text = userIsSender
|
||||||
|
? i18n.youBannedUser(targetName)
|
||||||
|
: i18n.bannedUser(senderName, targetName);
|
||||||
} else if (oldMembership == 'ban' && newMembership == 'leave') {
|
} else if (oldMembership == 'ban' && newMembership == 'leave') {
|
||||||
text = i18n.unbannedUser(event.sender.calcDisplayname(), targetName);
|
text = userIsSender
|
||||||
|
? i18n.youUnbannedUser(targetName)
|
||||||
|
: i18n.unbannedUser(senderName, targetName);
|
||||||
} else if (newMembership == 'invite') {
|
} else if (newMembership == 'invite') {
|
||||||
text = i18n.invitedUser(event.sender.calcDisplayname(), targetName);
|
text = userIsSender
|
||||||
|
? i18n.youInvitedUser(targetName)
|
||||||
|
: userIsTarget
|
||||||
|
? i18n.youInvitedBy(senderName)
|
||||||
|
: i18n.invitedUser(senderName, targetName);
|
||||||
} else if (newMembership == 'join') {
|
} else if (newMembership == 'join') {
|
||||||
text = i18n.joinedTheChat(targetName);
|
text = userIsTarget
|
||||||
|
? i18n.youJoinedTheChat
|
||||||
|
: i18n.joinedTheChat(targetName);
|
||||||
}
|
}
|
||||||
} else if (newMembership == 'join') {
|
} else if (newMembership == 'join') {
|
||||||
final newAvatar = event.content.tryGet<String>('avatar_url') ?? '';
|
final newAvatar = event.content.tryGet<String>('avatar_url') ?? '';
|
||||||
|
|
|
||||||
|
|
@ -230,4 +230,38 @@ class MatrixDefaultLocalizations extends MatrixLocalizations {
|
||||||
String sentReaction(String senderName, String reactionKey) {
|
String sentReaction(String senderName, String reactionKey) {
|
||||||
return '$senderName reacted with $reactionKey';
|
return '$senderName reacted with $reactionKey';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
// TODO: implement youAcceptedTheInvitation
|
||||||
|
String get youAcceptedTheInvitation => 'You accepted the invitation';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String youBannedUser(String targetName) => 'You have banned $targetName';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String youHaveWithdrawnTheInvitationFor(String targetName) =>
|
||||||
|
'You have withdrawn the invitation for $targetName';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String youInvitedBy(String senderName) =>
|
||||||
|
'You have been invited by $senderName';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String youInvitedUser(String targetName) => 'You invited $targetName';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get youJoinedTheChat => 'You joined the chat';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String youKicked(String targetName) => 'You kicked $targetName';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String youKickedAndBanned(String targetName) =>
|
||||||
|
'You kicked and banned $targetName';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String get youRejectedTheInvitation => 'You have rejected the invitation';
|
||||||
|
|
||||||
|
@override
|
||||||
|
String youUnbannedUser(String targetName) => 'You unbanned $targetName';
|
||||||
}
|
}
|
||||||
|
|
@ -52,6 +52,26 @@ abstract class MatrixLocalizations {
|
||||||
|
|
||||||
String get roomHasBeenUpgraded;
|
String get roomHasBeenUpgraded;
|
||||||
|
|
||||||
|
String get youAcceptedTheInvitation;
|
||||||
|
|
||||||
|
String get youRejectedTheInvitation;
|
||||||
|
|
||||||
|
String get youJoinedTheChat;
|
||||||
|
|
||||||
|
String youInvitedBy(String senderName);
|
||||||
|
|
||||||
|
String youInvitedUser(String targetName);
|
||||||
|
|
||||||
|
String youUnbannedUser(String targetName);
|
||||||
|
|
||||||
|
String youBannedUser(String targetName);
|
||||||
|
|
||||||
|
String youKicked(String targetName);
|
||||||
|
|
||||||
|
String youKickedAndBanned(String targetName);
|
||||||
|
|
||||||
|
String youHaveWithdrawnTheInvitationFor(String targetName);
|
||||||
|
|
||||||
String groupWith(String displayname);
|
String groupWith(String displayname);
|
||||||
|
|
||||||
String removedBy(String calcDisplayname);
|
String removedBy(String calcDisplayname);
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ import 'package:test/test.dart';
|
||||||
|
|
||||||
import 'fake_client.dart';
|
import 'fake_client.dart';
|
||||||
import 'fake_matrix_api.dart';
|
import 'fake_matrix_api.dart';
|
||||||
import 'matrix_default_localizations.dart';
|
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
/// All Tests related to the Event
|
/// All Tests related to the Event
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,6 @@
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
import 'package:test/test.dart';
|
import 'package:test/test.dart';
|
||||||
|
|
||||||
import 'matrix_default_localizations.dart';
|
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
/// All Tests related to device keys
|
/// All Tests related to device keys
|
||||||
group('Matrix Localizations', () {
|
group('Matrix Localizations', () {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue