Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions packages/stream_chat_localizations/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## Upcoming

🐞 Fixed

- Fixed German mute strings showing Dutch text, and the German "Mute user" action not switching to "unmute" for an already-muted user.

## 10.6.0

- Updated `stream_chat_flutter` dependency to [`10.6.0`](https://pub.dev/packages/stream_chat_flutter/changelog).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -434,50 +434,51 @@ class StreamChatLocalizationsDe extends GlobalStreamChatLocalizations {
String get sendMessagePermissionError => 'Sie sind nicht berechtigt Nachrichten zu senden';

@override
String get couldNotReadBytesFromFileError => 'Kan bytes niet uit bestand lezen.';
String get couldNotReadBytesFromFileError => 'Bytes konnten nicht aus der Datei gelesen werden.';

@override
String get downloadLabel => 'Downloaden';

@override
String toggleMuteUnmuteAction({required bool isMuted}) {
if (isMuted) {
return 'UNMUTE';
return 'STUMMSCHALTUNG AUFHEBEN';
} else {
return 'STOM';
return 'STUMMSCHALTEN';
}
}

@override
String toggleMuteUnmuteGroupQuestion({required bool isMuted}) {
if (isMuted) {
return 'Weet je zeker dat je het dempen van deze groep wilt opheffen?';
return 'Sind Sie sicher, dass Sie die Stummschaltung dieser Gruppe aufheben wollen?';
} else {
return 'Weet je zeker dat je deze groep wilt dempen?';
return 'Sind Sie sicher, dass Sie diese Gruppe stummschalten wollen?';
}
}

@override
String toggleMuteUnmuteGroupText({required bool isMuted}) {
if (isMuted) {
return 'Dempen groep opheffen';
return 'Stummschaltung der Gruppe aufheben';
} else {
return 'Groep dempen';
return 'Gruppe stummschalten';
}
}

@override
String toggleMuteUnmuteUserQuestion({required bool isMuted}) {
if (isMuted) {
return '''Weet je zeker dat je het dempen van deze gebruiker wilt opheffen?''';
return 'Sind Sie sicher, dass Sie die Stummschaltung dieses Benutzers aufheben wollen?';
} else {
return 'Weet u zeker dat u deze gebruiker wilt dempen?';
return 'Sind Sie sicher, dass Sie diesen Benutzer stummschalten wollen?';
}
}

@override
String toggleMuteUnmuteUserText({required bool isMuted}) {
return 'Gebruiker dempen';
if (isMuted) return 'Stummschaltung aufheben';
return 'Benutzer stummschalten';
}

@override
Expand Down
38 changes: 38 additions & 0 deletions packages/stream_chat_localizations/test/translations_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,44 @@ void main() {
}
}

for (final language in kStreamChatSupportedLanguages) {
test('mute and block toggles return different text for each state in $language', () async {
final localizations = await GlobalStreamChatLocalizations.delegate.load(Locale(language));

// Each toggle labels an action that flips state, so its two strings must differ.
final toggles = {
'toggleMuteUnmuteAction': (
localizations.toggleMuteUnmuteAction(isMuted: true),
localizations.toggleMuteUnmuteAction(isMuted: false),
),
'toggleMuteUnmuteGroupQuestion': (
localizations.toggleMuteUnmuteGroupQuestion(isMuted: true),
localizations.toggleMuteUnmuteGroupQuestion(isMuted: false),
),
'toggleMuteUnmuteGroupText': (
localizations.toggleMuteUnmuteGroupText(isMuted: true),
localizations.toggleMuteUnmuteGroupText(isMuted: false),
),
'toggleMuteUnmuteUserQuestion': (
localizations.toggleMuteUnmuteUserQuestion(isMuted: true),
localizations.toggleMuteUnmuteUserQuestion(isMuted: false),
),
'toggleMuteUnmuteUserText': (
localizations.toggleMuteUnmuteUserText(isMuted: true),
localizations.toggleMuteUnmuteUserText(isMuted: false),
),
'toggleBlockUnblockUserText': (
localizations.toggleBlockUnblockUserText(isBlocked: true),
localizations.toggleBlockUnblockUserText(isBlocked: false),
),
};

for (final MapEntry(key: name, value: (on, off)) in toggles.entries) {
expect(on, isNot(off), reason: '$name should differ between its two states');
}
});
}

for (final language in kStreamChatSupportedLanguages) {
test('every translation language has a display name in $language', () async {
final localizations = await GlobalStreamChatLocalizations.delegate.load(Locale(language));
Expand Down
Loading