diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 37470efcb..021fdd960 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -2279,6 +2279,8 @@ "user": {} } }, + "usersMustKnock": "Users must knock", + "noOneCanJoin": "No one can join", "userWouldLikeToChangeTheChat": "{user} would like to join the chat.", "@userWouldLikeToChangeTheChat": { "placeholders": { diff --git a/lib/pages/chat_access_settings/chat_access_settings_page.dart b/lib/pages/chat_access_settings/chat_access_settings_page.dart index 8c5004733..60a78c011 100644 --- a/lib/pages/chat_access_settings/chat_access_settings_page.dart +++ b/lib/pages/chat_access_settings/chat_access_settings_page.dart @@ -61,8 +61,7 @@ class ChatAccessSettingsPageView extends StatelessWidget { for (final joinRule in JoinRules.values) RadioListTile.adaptive( title: Text( - joinRule - .getLocalizedString(MatrixLocals(L10n.of(context)!)), + joinRule.localizedString(L10n.of(context)!), ), value: joinRule, groupValue: room.joinRules, @@ -170,3 +169,18 @@ class ChatAccessSettingsPageView extends StatelessWidget { ); } } + +extension JoinRulesDisplayString on JoinRules { + String localizedString(L10n l10n) { + switch (this) { + case JoinRules.public: + return l10n.anyoneCanJoin; + case JoinRules.invite: + return l10n.invitedUsersOnly; + case JoinRules.knock: + return l10n.usersMustKnock; + case JoinRules.private: + return l10n.noOneCanJoin; + } + } +}