From 847ad9f8c1b141d6fb5272dbe79740242424a264 Mon Sep 17 00:00:00 2001 From: William Jordan-Cooley Date: Wed, 24 Jan 2024 12:28:38 -0500 Subject: [PATCH] coming along, next is getAudioLocal --- lib/pages/chat/events/audio_player.dart | 29 +- .../text_to_speech_controller.dart | 33 + .../extensions/pangea_room_extension.dart | 40 +- lib/pangea/models/pangea_message_event.dart | 52 +- lib/pangea/widgets/chat/message_actions.dart | 29 +- .../widgets/chat/text_to_speech_button.dart | 159 +- .../filtered_timeline_extension.dart | 4 + needed-translations.txt | 2187 +++++++++++++++-- 8 files changed, 2195 insertions(+), 338 deletions(-) diff --git a/lib/pages/chat/events/audio_player.dart b/lib/pages/chat/events/audio_player.dart index 45f7de83f..5cf5a98a7 100644 --- a/lib/pages/chat/events/audio_player.dart +++ b/lib/pages/chat/events/audio_player.dart @@ -1,15 +1,16 @@ import 'dart:async'; +import 'dart:developer'; import 'dart:io'; +import 'package:fluffychat/pangea/controllers/text_to_speech_controller.dart'; +import 'package:fluffychat/utils/error_reporter.dart'; +import 'package:fluffychat/utils/localized_exception_extension.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; - import 'package:just_audio/just_audio.dart'; import 'package:matrix/matrix.dart'; import 'package:path_provider/path_provider.dart'; -import 'package:fluffychat/utils/error_reporter.dart'; -import 'package:fluffychat/utils/localized_exception_extension.dart'; import '../../../utils/matrix_sdk_extensions/event_extension.dart'; class AudioPlayerWidget extends StatefulWidget { @@ -80,6 +81,7 @@ class AudioPlayerState extends State { }); _playAction(); } catch (e, s) { + debugger(); Logs().v('Could not download audio file', e, s); ScaffoldMessenger.of(context).showSnackBar( SnackBar( @@ -132,7 +134,26 @@ class AudioPlayerState extends State { if (audioFile != null) { audioPlayer.setFilePath(audioFile.path); } else { - await audioPlayer.setAudioSource(MatrixFileAudioSource(matrixFile!)); + final data = matrixFile!.bytes; + final mimeType = matrixFile!.mimeType; + //shouldn't have to be settting this here + //TODO: figure out why this is necessary + matrixFile = MatrixAudioFile( + bytes: matrixFile!.bytes, + name: matrixFile!.name, + mimeType: "audio/ogg", + ); + debugPrint("audioType is $mimeType"); + if (!TextToSpeechController.isOggFile(matrixFile!.bytes)) { + debugger(when: kDebugMode); + } else { + debugPrint("still an ogg file!"); + } + try { + await audioPlayer.setAudioSource(MatrixFileAudioSource(matrixFile!)); + } catch (e, s) { + debugger(when: kDebugMode); + } } audioPlayer.play().onError( ErrorReporter(context, 'Unable to play audio message') diff --git a/lib/pangea/controllers/text_to_speech_controller.dart b/lib/pangea/controllers/text_to_speech_controller.dart index bcd2c556f..4db6caa6e 100644 --- a/lib/pangea/controllers/text_to_speech_controller.dart +++ b/lib/pangea/controllers/text_to_speech_controller.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'dart:convert'; +import 'dart:typed_data'; import 'package:fluffychat/pangea/config/environment.dart'; import 'package:fluffychat/pangea/constants/model_keys.dart'; @@ -122,4 +123,36 @@ class TextToSpeechController { return TextToSpeechResponse.fromJson(json); } + // if (json["wave_form"] == null) { + // json["wave_form"] = getWaveForm(); + // } + + // return TextToSpeechResponse( + // audioContent: String.fromCharCodes(base64Decode(json["audio_content"])), + // mediaType: json["media_type"], + // durationMillis: durationMillis(json["duration_millis"]), + // waveform: getWaveForm(json["audio_content"]), + // ); + // } + + // static List getWaveForm(audioContent) { + // return []; + // } + + // static int durationMillis(audioContent) { + // return 0; + // } + + static bool isOggFile(Uint8List bytes) { + // Check if the file has enough bytes for the header + if (bytes.length < 4) { + return false; + } + + // Check the magic number for OGG file + return bytes[0] == 0x4F && + bytes[1] == 0x67 && + bytes[2] == 0x67 && + bytes[3] == 0x53; + } } diff --git a/lib/pangea/extensions/pangea_room_extension.dart b/lib/pangea/extensions/pangea_room_extension.dart index 624437666..308d4db0a 100644 --- a/lib/pangea/extensions/pangea_room_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension.dart @@ -824,28 +824,28 @@ extension PangeaRoom on Room { Future setClassPowerlLevels() async { try { - if (ownPowerLevel < ClassDefaultValues.powerLevelOfAdmin) { - return; - } - final currentPower = getState(EventTypes.RoomPowerLevels); - final Map? currentPowerContent = - currentPower!.content["events"] as Map?; - final spaceChildPower = currentPowerContent?[EventTypes.spaceChild]; - final studentAnalyticsPower = - currentPowerContent?[PangeaEventTypes.studentAnalyticsSummary]; + // if (ownPowerLevel < ClassDefaultValues.powerLevelOfAdmin) { + // return; + // } + // final currentPower = getState(EventTypes.RoomPowerLevels); + // final Map? currentPowerContent = + // currentPower!.content["events"] as Map?; + // final spaceChildPower = currentPowerContent?[EventTypes.spaceChild]; + // final studentAnalyticsPower = + // currentPowerContent?[PangeaEventTypes.studentAnalyticsSummary]; - if (spaceChildPower == null || studentAnalyticsPower == null) { - currentPowerContent!["events"][EventTypes.spaceChild] = 0; - currentPowerContent["events"] - [PangeaEventTypes.studentAnalyticsSummary] = 0; + // if (spaceChildPower == null || studentAnalyticsPower == null) { + // currentPowerContent!["events"][EventTypes.spaceChild] = 0; + // currentPowerContent["events"] + // [PangeaEventTypes.studentAnalyticsSummary] = 0; - await client.setRoomStateWithKey( - id, - EventTypes.RoomPowerLevels, - currentPower.stateKey ?? "", - currentPowerContent, - ); - } + // await client.setRoomStateWithKey( + // id, + // EventTypes.RoomPowerLevels, + // currentPower.stateKey ?? "", + // currentPowerContent, + // ); + // } } catch (err, s) { debugger(when: kDebugMode); ErrorHandler.logError(e: err, s: s, data: toJson()); diff --git a/lib/pangea/models/pangea_message_event.dart b/lib/pangea/models/pangea_message_event.dart index 0a5b7602a..71b3dd685 100644 --- a/lib/pangea/models/pangea_message_event.dart +++ b/lib/pangea/models/pangea_message_event.dart @@ -110,6 +110,12 @@ class PangeaMessageEvent { final audioBytes = base64.decode(response.audioContent); + if (!TextToSpeechController.isOggFile(audioBytes)) { + throw Exception("File is not a valid OGG format"); + } else { + debugPrint("File is a valid OGG format"); + } + // from text, trim whitespace, remove special characters, and limit to 20 characters // final fileName = // text.trim().replaceAll(RegExp('[^A-Za-z0-9]'), '').substring(0, 20); @@ -118,8 +124,13 @@ class PangeaMessageEvent { final file = MatrixAudioFile( bytes: audioBytes, name: fileName, + mimeType: response.mediaType, ); + if (file.mimeType != "audio/ogg") { + throw Exception("Unexpected mime type: ${file.mimeType}"); + } + return room.sendFileEvent( file, inReplyTo: _event, @@ -131,10 +142,9 @@ class PangeaMessageEvent { 'org.matrix.msc3245.voice': {}, 'org.matrix.msc1767.audio': { 'duration': response.durationMillis, - 'waveform': null, - // 'waveform': response.waveform, + 'waveform': response.waveform, }, - 'transcription': { + ModelKey.transcription: { ModelKey.text: text, ModelKey.langCode: langCode, }, @@ -170,28 +180,36 @@ class PangeaMessageEvent { return allAudio.firstWhereOrNull( (element) { // Safely access the transcription map - final transcription = - element.content.tryGet>(ModelKey.transcription); - if (transcription == null) { - // If transcription is null, this element does not match. - return false; - } + final transcription = element.content.tryGet(ModelKey.transcription); - // Safely get language code and text from the transcription - final elementLangCode = transcription.tryGet(ModelKey.langCode); - final elementText = transcription.tryGet(ModelKey.text); + return transcription != null; + // if (transcription == null) { + // // If transcription is null, this element does not match. + // return false; + // } - // Check if both language code and text match - return elementLangCode == langCode && elementText == text; + // // Safely get language code and text from the transcription + // final elementLangCode = transcription.tryGet(ModelKey.langCode); + // final elementText = transcription.tryGet(ModelKey.text); + + // // Check if both language code and text match + // return elementLangCode == langCode && elementText == text; }, ); } // get audio events that are related to this event - Set get allAudio => _latestEdit.aggregatedEvents( + Set get allAudio => _latestEdit + .aggregatedEvents( timeline, - EventTypes.Message, - ); + RelationshipTypes.reply, + ) + .where((element) { + return element.content.tryGet>( + ModelKey.transcription, + ) != + null; + }).toSet(); List? _representations; List get representations { diff --git a/lib/pangea/widgets/chat/message_actions.dart b/lib/pangea/widgets/chat/message_actions.dart index b8eebbb43..03d3f8e6e 100644 --- a/lib/pangea/widgets/chat/message_actions.dart +++ b/lib/pangea/widgets/chat/message_actions.dart @@ -10,18 +10,21 @@ class PangeaMessageActions extends StatelessWidget { @override Widget build(BuildContext context) { - return Row( - children: [ - LanguageToggleSwitch(controller: chatController), - TextToSpeechButton( - controller: chatController, - ), - // IconButton( - // icon: Icon(Icons.mic), - // onPressed: chatController.onMicTap, - // ), - // Add more IconButton widgets here - ], - ); + return chatController.selectedEvents.length == 1 + ? Row( + children: [ + LanguageToggleSwitch(controller: chatController), + TextToSpeechButton( + controller: chatController, + selectedEvent: chatController.selectedEvents.first, + ), + // IconButton( + // icon: Icon(Icons.mic), + // onPressed: chatController.onMicTap, + // ), + // Add more IconButton widgets here + ], + ) + : const SizedBox(); } } diff --git a/lib/pangea/widgets/chat/text_to_speech_button.dart b/lib/pangea/widgets/chat/text_to_speech_button.dart index c5c229a47..e591a448d 100644 --- a/lib/pangea/widgets/chat/text_to_speech_button.dart +++ b/lib/pangea/widgets/chat/text_to_speech_button.dart @@ -1,7 +1,8 @@ import 'dart:developer'; +import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pages/chat/chat.dart'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pages/chat/events/audio_player.dart'; import 'package:fluffychat/pangea/models/pangea_message_event.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/widgets/matrix.dart'; @@ -13,10 +14,12 @@ import 'package:matrix/matrix.dart'; class TextToSpeechButton extends StatefulWidget { final ChatController controller; + final Event selectedEvent; const TextToSpeechButton({ super.key, required this.controller, + required this.selectedEvent, }); @override @@ -25,6 +28,8 @@ class TextToSpeechButton extends StatefulWidget { class _TextToSpeechButtonState extends State { final AudioPlayer _audioPlayer = AudioPlayer(); + late PangeaMessageEvent _pangeaMessageEvent; + bool _isLoading = false; @override void dispose() { @@ -32,97 +37,103 @@ class _TextToSpeechButtonState extends State { super.dispose(); } - void _playSpeech() { + @override + void initState() { + super.initState(); + _pangeaMessageEvent = PangeaMessageEvent( + event: widget.selectedEvent, + timeline: widget.controller.timeline!, + ownMessage: + widget.selectedEvent.senderId == Matrix.of(context).client.userID, + selected: true, + ); + } + + Event? get localAudioEvent => + langCode != null && text != null && text!.isNotEmpty + ? _pangeaMessageEvent.getAudioLocal(langCode!, text!) + : null; + + String? get langCode => + widget.controller.choreographer.messageOptions.selectedDisplayLang + ?.langCode ?? + widget.controller.choreographer.l2LangCode; + + String? get text => langCode != null + ? _pangeaMessageEvent.representationByLanguage(langCode!)?.text + : null; + + Future _getAudio() async { try { - final String langCode = widget.controller.choreographer.messageOptions - .selectedDisplayLang?.langCode ?? - widget.controller.choreographer.l2LangCode ?? - 'en'; - final Event event = widget.controller.selectedEvents.first; + if (!mounted) return; + if (text == null || text!.isEmpty) return; + if (langCode == null || langCode!.isEmpty) return; - PangeaMessageEvent( - event: event, - timeline: widget.controller.timeline!, - ownMessage: event.senderId == Matrix.of(context).client.userID, - selected: true, - ).getAudioGlobal(langCode); - - // final String? text = PangeaMessageEvent( - // event: event, - // timeline: widget.controller.timeline!, - // ownMessage: event.senderId == Matrix.of(context).client.userID, - // selected: true, - // ).representationByLanguage(langCode)?.text; - - // if (text == null || text.isEmpty) { - // throw Exception("text is null or empty in text_to_speech_button.dart"); - // } - - // final TextToSpeechRequest params = TextToSpeechRequest( - // text: text, - // langCode: widget.controller.choreographer.messageOptions - // .selectedDisplayLang?.langCode ?? - // widget.controller.choreographer.l2LangCode ?? - // LanguageKeys.unknownLanguage, - // ); - - // final TextToSpeechResponse response = await TextToSpeechService.get( - // accessToken: - // await MatrixState.pangeaController.userController.accessToken, - // params: params, - // ); - - // if (response.mediaType != 'audio/ogg') { - // throw Exception('Unexpected media type: ${response.mediaType}'); - // } - - // // Decode the base64 audio content to bytes - // final audioBytes = base64.decode(response.audioContent); - - // final encoding = Uri.dataFromBytes(audioBytes); - // final uri = AudioSource.uri(encoding); - // // gets here without problems - - // await _audioPlayer.setAudioSource(uri); - // await _audioPlayer.play(); - - // final audioBytes = base64.decode(response.audioContent); - // final tempDir = await getTemporaryDirectory(); - // final file = File('${tempDir.path}/speech.ogg'); - // await file.writeAsBytes(audioBytes); - - // await _audioPlayer.setFilePath(file.path); - - // await _audioPlayer.play(); + setState(() => _isLoading = true); + await _pangeaMessageEvent.getAudioGlobal(langCode!); + setState(() => _isLoading = false); } catch (e) { + setState(() => _isLoading = false); debugger(when: kDebugMode); ScaffoldMessenger.of(context).showSnackBar( SnackBar( - content: Text( - L10n.of(context)!.errorGettingAudio, - ), + content: Text(L10n.of(context)!.errorGettingAudio), ), ); ErrorHandler.logError( e: Exception(), s: StackTrace.current, m: 'text is null or empty in text_to_speech_button.dart', - data: { - 'event': widget.controller.selectedEvents.first, - 'langCode': widget.controller.choreographer.messageOptions - .selectedDisplayLang?.langCode ?? - widget.controller.choreographer.l2LangCode ?? - LanguageKeys.unknownLanguage, - }, + data: {'selectedEvent': widget.selectedEvent, 'langCode': langCode}, ); } } @override Widget build(BuildContext context) { - return ElevatedButton( - onPressed: _playSpeech, - child: const Text('Convert to Speech'), + if (_isLoading) { + return const Center(child: CircularProgressIndicator()); + } + + final playButton = InkWell( + borderRadius: BorderRadius.circular(64), + onTap: text == null || text!.isEmpty ? null : _getAudio, + child: Material( + color: AppConfig.primaryColor.withAlpha(64), + borderRadius: BorderRadius.circular(64), + child: const Icon( + // Change the icon based on some condition. If you have an audio player state, use it here. + Icons.play_arrow_outlined, + color: AppConfig.primaryColor, + ), + ), ); + + return localAudioEvent == null + ? Opacity( + opacity: text == null || text!.isEmpty ? 0.5 : 1, + child: SizedBox( + width: 44, // Match the size of the button in AudioPlayerState + height: 36, + child: Padding( + //only left side of the button is padded to match the padding of the AudioPlayerState + padding: const EdgeInsets.only(left: 8), + child: playButton, + ), + ), + ) + : Container( + constraints: const BoxConstraints( + maxWidth: 250, + ), + child: Column( + children: [ + AudioPlayerWidget( + localAudioEvent!, + color: Theme.of(context).colorScheme.onPrimaryContainer, + ), + ], + ), + ); } } diff --git a/lib/utils/matrix_sdk_extensions/filtered_timeline_extension.dart b/lib/utils/matrix_sdk_extensions/filtered_timeline_extension.dart index 7ae2bf0c5..0c2fcc4f6 100644 --- a/lib/utils/matrix_sdk_extensions/filtered_timeline_extension.dart +++ b/lib/utils/matrix_sdk_extensions/filtered_timeline_extension.dart @@ -1,3 +1,4 @@ +import 'package:fluffychat/pangea/constants/model_keys.dart'; import 'package:matrix/matrix.dart'; import '../../config/app_config.dart'; @@ -18,6 +19,9 @@ extension IsStateExtension on Event { (!AppConfig.hideUnknownEvents || isEventTypeKnown) && // remove state events that we don't want to render (isState || !AppConfig.hideAllStateEvents) && + // #Pangea + content.tryGet(ModelKey.transcription) == null && + // Pangea# // hide unimportant state events (!AppConfig.hideUnimportantStateEvents || !isState || diff --git a/needed-translations.txt b/needed-translations.txt index 64a3f81b8..05c87f5e7 100644 --- a/needed-translations.txt +++ b/needed-translations.txt @@ -1,9 +1,20 @@ { "ar": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -748,14 +759,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -766,7 +769,35 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "bn": [ @@ -777,8 +808,18 @@ "classes", "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -1523,8 +1564,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -1541,7 +1580,40 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "bo": [ @@ -1552,8 +1624,18 @@ "classes", "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -2298,8 +2380,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -2316,14 +2396,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "ca": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -3068,8 +3196,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -3086,14 +3212,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "cs": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -3838,8 +4012,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -3856,14 +4028,58 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "de": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -4558,7 +4774,6 @@ "addToClassOrExchange", "addToClassOrExchangeDesc", "invitedToClassOrExchange", - "decline", "declinedInvitation", "acceptedInvitation", "youreInvited", @@ -4608,14 +4823,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -4626,7 +4833,20 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "el": [ @@ -4637,8 +4857,18 @@ "classes", "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -5383,8 +5613,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -5401,14 +5629,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "eo": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -6153,8 +6429,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -6171,7 +6445,40 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "es": [ @@ -6180,9 +6487,20 @@ "et": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -6927,14 +7245,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -6945,14 +7255,53 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "eu": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -7647,7 +7996,6 @@ "addToClassOrExchange", "addToClassOrExchangeDesc", "invitedToClassOrExchange", - "decline", "declinedInvitation", "acceptedInvitation", "youreInvited", @@ -7697,14 +8045,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -7715,14 +8055,42 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "fa": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -8467,8 +8835,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -8485,14 +8851,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "fi": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -9237,8 +9651,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -9255,14 +9667,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "fr": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -10007,8 +10467,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -10025,14 +10483,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "ga": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -10777,8 +11283,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -10795,14 +11299,58 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "gl": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -11497,7 +12045,6 @@ "addToClassOrExchange", "addToClassOrExchangeDesc", "invitedToClassOrExchange", - "decline", "declinedInvitation", "acceptedInvitation", "youreInvited", @@ -11547,14 +12094,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -11565,14 +12104,42 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "he": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -12317,8 +12884,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -12335,7 +12900,40 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "hi": [ @@ -12346,8 +12944,18 @@ "classes", "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -13092,8 +13700,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -13110,14 +13716,59 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "hr": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "blockListDescription", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -13862,14 +14513,7 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -13880,14 +14524,57 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "hu": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -14632,8 +15319,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -14650,14 +15335,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "id": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -15402,8 +16135,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -15420,16 +16151,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "ie": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -16174,8 +16951,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -16192,14 +16967,58 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "it": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -16944,14 +17763,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -16962,14 +17773,57 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "ja": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -17714,8 +18568,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -17732,14 +18584,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "ko": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -18484,8 +19384,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -18502,14 +19400,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "lt": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -19254,8 +20200,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -19272,7 +20216,40 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "lv": [ @@ -19283,8 +20260,18 @@ "classes", "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -20029,8 +21016,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -20047,14 +21032,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "nb": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -20799,8 +21832,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -20817,14 +21848,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "nl": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -21569,8 +22648,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -21587,14 +22664,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "pl": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -22339,8 +23464,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -22357,7 +23480,40 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "pt": [ @@ -22368,8 +23524,18 @@ "classes", "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -23114,8 +24280,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -23132,14 +24296,58 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "pt_BR": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -23834,7 +25042,6 @@ "addToClassOrExchange", "addToClassOrExchangeDesc", "invitedToClassOrExchange", - "decline", "declinedInvitation", "acceptedInvitation", "youreInvited", @@ -23884,14 +25091,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -23902,14 +25101,42 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "pt_PT": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -24654,8 +25881,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -24672,14 +25897,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "ro": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -25424,8 +26697,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -25442,14 +26713,58 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "ru": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -26194,14 +27509,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -26212,15 +27519,45 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "sk": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -26965,8 +28302,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -26983,17 +28318,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "sl": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -27738,8 +29118,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -27756,14 +29134,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "sr": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -28508,8 +29934,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -28526,14 +29950,62 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "sv": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -29278,8 +30750,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -29296,7 +30766,40 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "ta": [ @@ -29307,8 +30810,18 @@ "classes", "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -30053,8 +31566,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -30071,7 +31582,40 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "th": [ @@ -30082,8 +31626,18 @@ "classes", "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -30828,8 +32382,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -30846,14 +32398,58 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "tr": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -31598,14 +33194,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -31616,14 +33204,53 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "uk": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -32368,14 +33995,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -32386,17 +34005,57 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "vi": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", "editChatPermissions", + "enterAGroupName", + "enterASpacepName", "groupDescription", "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -33141,8 +34800,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -33159,14 +34816,58 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "zh": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -33911,14 +35612,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "searchChatsRooms", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", "inNoSpaces", "createClass", "createExchange", @@ -33929,14 +35622,57 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ], "zh_Hant": [ "accountInformation", + "addGroupDescription", "addNewFriend", "alreadyHaveAnAccount", "classes", + "createNewGroup", + "editChatPermissions", + "enterAGroupName", + "enterASpacepName", + "groupDescription", + "groupDescriptionHasBeenChanged", + "ignoreListDescription", + "ignoreUsername", + "block", + "blockedUsers", + "blockListDescription", + "blockUsername", + "optionalGroupName", + "requests", "allCorrect", "newWayAllGood", "othersAreBetter", @@ -34681,8 +36417,6 @@ "reportMessageTitle", "reportMessageBody", "noTeachersFound", - "noAddToSpacePermissions", - "alreadyInSpace", "yourGlobalUserIdIs", "noUsersFoundWithQuery", "searchChatsRooms", @@ -34699,6 +36433,39 @@ "successfullySubscribed", "clickToManageSubscription", "emptyInviteWarning", - "errorGettingAudio" + "errorGettingAudio", + "nothingFound", + "wrongRecoveryKey", + "startConversation", + "commandHint_sendraw", + "databaseMigrationTitle", + "databaseMigrationBody", + "leaveEmptyToClearStatus", + "select", + "searchForUsers", + "pleaseEnterYourCurrentPassword", + "newPassword", + "pleaseChooseAStrongPassword", + "passwordsDoNotMatch", + "passwordIsWrong", + "publicLink", + "joinSpace", + "publicSpaces", + "addChatOrSubSpace", + "subspace", + "thisDevice", + "initAppError", + "databaseBuildErrorBody", + "sessionLostBody", + "restoreSessionBody", + "forwardMessageTo", + "signUp", + "pleaseChooseAtLeastChars", + "noEmailWarning", + "pleaseEnterValidEmail", + "noAddToSpacePermissions", + "alreadyInSpace", + "pleaseChooseAUsername", + "chooseAUsername" ] }